Struct rsim::processor::models::Rv64imvProcessor [−][src]
pub struct Rv64imvProcessor {
pub running: bool,
pub memory: AggregateMemory,
pc: u64,
sreg: RvRegisterFile<u64>,
csrs: Rv64imvProcessorCSRs,
}RISC-V Processor Model where XLEN=64-bit. No CHERI support. Holds scalar registers and configuration, all other configuration stored in Rv64imvProcessorModules
Fields
running: boolmemory: AggregateMemorypc: u64sreg: RvRegisterFile<u64>csrs: Rv64imvProcessorCSRsImplementations
impl Rv64imvProcessor[src]
impl Rv64imvProcessor[src]pub fn new(mem: AggregateMemory) -> (Rv64imvProcessor, Rv64imvProcessorModules)[src]
Create a new processor and vector unit which operates on given memory.
Arguments
mem- The memory the processor should hold. Currently a value, not a reference.
fn zicsr_conn<'a, 'b>(
&'a mut self,
rvv: &'a mut Option<Rv64v>
) -> Zicsr64Conn<'b> where
'a: 'b, [src]
&'a mut self,
rvv: &'a mut Option<Rv64v>
) -> Zicsr64Conn<'b> where
'a: 'b,
fn rv64im_conn<'a, 'b>(&'a mut self) -> Rv64imConn<'b> where
'a: 'b, [src]
'a: 'b,
fn process_inst(
&mut self,
mods: &mut Rv64imvProcessorModules,
inst_bits: u32,
opcode: Opcode,
inst: InstructionBits
) -> Result<u64>[src]
&mut self,
mods: &mut Rv64imvProcessorModules,
inst_bits: u32,
opcode: Opcode,
inst: InstructionBits
) -> Result<u64>
Process an instruction, returning the new PC value or any execution error
Arguments
v_unit- The associated vector unit, which will execute vector instructions if they are found.inst_bits- The raw instruction bitsopcode- The major opcode of the decoded instructioninst- The fields of the decoded instruction
Trait Implementations
impl Processor<Rv64imvProcessorModules> for Rv64imvProcessor[src]
impl Processor<Rv64imvProcessorModules> for Rv64imvProcessor[src]fn reset(&mut self, mods: &mut Rv64imvProcessorModules)[src]
Reset the processor and associated vector unit
fn exec_step(&mut self, mods: &mut Rv64imvProcessorModules) -> Result<()>[src]
Run a fetch-decode-execute step on the processor, executing a single instruction
Arguments
v_unit- The associated vector unit, which will execute vector instructions if they are found.
fn dump(&self, mods: &Rv64imvProcessorModules)[src]
Dump processor and vector unit state to standard output.