#[repr(transparent)]pub struct Interp1ctrlLane1(pub u32);
Expand description
Control register for lane 1
Tuple Fields§
§0: u32
Implementations§
Source§impl Interp1ctrlLane1
impl Interp1ctrlLane1
Sourcepub const fn shift(&self) -> u8
pub const fn shift(&self) -> u8
Right-rotate applied to accumulator before masking. By appropriately configuring the masks, left and right shifts can be synthesised.
Sourcepub fn set_shift(&mut self, val: u8)
pub fn set_shift(&mut self, val: u8)
Right-rotate applied to accumulator before masking. By appropriately configuring the masks, left and right shifts can be synthesised.
Sourcepub const fn mask_lsb(&self) -> u8
pub const fn mask_lsb(&self) -> u8
The least-significant bit allowed to pass by the mask (inclusive)
Sourcepub fn set_mask_lsb(&mut self, val: u8)
pub fn set_mask_lsb(&mut self, val: u8)
The least-significant bit allowed to pass by the mask (inclusive)
Sourcepub const fn mask_msb(&self) -> u8
pub const fn mask_msb(&self) -> u8
The most-significant bit allowed to pass by the mask (inclusive) Setting MSB < LSB may cause chip to turn inside-out
Sourcepub fn set_mask_msb(&mut self, val: u8)
pub fn set_mask_msb(&mut self, val: u8)
The most-significant bit allowed to pass by the mask (inclusive) Setting MSB < LSB may cause chip to turn inside-out
Sourcepub const fn signed(&self) -> bool
pub const fn signed(&self) -> bool
If SIGNED is set, the shifted and masked accumulator value is sign-extended to 32 bits before adding to BASE1, and LANE1 PEEK/POP appear extended to 32 bits when read by processor.
Sourcepub fn set_signed(&mut self, val: bool)
pub fn set_signed(&mut self, val: bool)
If SIGNED is set, the shifted and masked accumulator value is sign-extended to 32 bits before adding to BASE1, and LANE1 PEEK/POP appear extended to 32 bits when read by processor.
Sourcepub const fn cross_input(&self) -> bool
pub const fn cross_input(&self) -> bool
If 1, feed the opposite lane’s accumulator into this lane’s shift + mask hardware. Takes effect even if ADD_RAW is set (the CROSS_INPUT mux is before the shift+mask bypass)
Sourcepub fn set_cross_input(&mut self, val: bool)
pub fn set_cross_input(&mut self, val: bool)
If 1, feed the opposite lane’s accumulator into this lane’s shift + mask hardware. Takes effect even if ADD_RAW is set (the CROSS_INPUT mux is before the shift+mask bypass)
Sourcepub const fn cross_result(&self) -> bool
pub const fn cross_result(&self) -> bool
If 1, feed the opposite lane’s result into this lane’s accumulator on POP.
Sourcepub fn set_cross_result(&mut self, val: bool)
pub fn set_cross_result(&mut self, val: bool)
If 1, feed the opposite lane’s result into this lane’s accumulator on POP.
Sourcepub const fn add_raw(&self) -> bool
pub const fn add_raw(&self) -> bool
If 1, mask + shift is bypassed for LANE1 result. This does not affect FULL result.
Sourcepub fn set_add_raw(&mut self, val: bool)
pub fn set_add_raw(&mut self, val: bool)
If 1, mask + shift is bypassed for LANE1 result. This does not affect FULL result.
Sourcepub const fn force_msb(&self) -> u8
pub const fn force_msb(&self) -> u8
ORed into bits 29:28 of the lane result presented to the processor on the bus. No effect on the internal 32-bit datapath. Handy for using a lane to generate sequence of pointers into flash or SRAM.
Sourcepub fn set_force_msb(&mut self, val: u8)
pub fn set_force_msb(&mut self, val: u8)
ORed into bits 29:28 of the lane result presented to the processor on the bus. No effect on the internal 32-bit datapath. Handy for using a lane to generate sequence of pointers into flash or SRAM.
Trait Implementations§
Source§impl Clone for Interp1ctrlLane1
impl Clone for Interp1ctrlLane1
Source§fn clone(&self) -> Interp1ctrlLane1
fn clone(&self) -> Interp1ctrlLane1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more