|
CDL Modules
|
Header file for RISC-V implementations. More...
Header file for RISC-V implementations.
Data Structures | |
| struct | t_riscv_mem_access_req |
| struct | t_riscv_mem_access_resp |
| struct | t_riscv_irqs |
| struct | t_riscv_fetch_req |
| struct | t_riscv_fetch_resp |
| struct | t_riscv_config |
| struct | t_riscv_debug_mst |
| struct | t_riscv_debug_tgt |
| struct | t_riscv_pipeline_debug_control |
| struct | t_riscv_pipeline_debug_response |
Typedefs | |
| typedef bit[32] | t_riscv_word |
| typedef bit[2] | t_riscv_fetch_tag |
| typedef bit | t_riscv_debug_resp |
Enumerations | |
| enum | t_riscv_mode { rv_mode_user = 3b000, rv_mode_supervisor = 3b001, rv_mode_machine = 3b011, rv_mode_debug = 3b111 } |
| enum | t_riscv_debug_op { rv_debug_set_requests, rv_debug_read, rv_debug_write, rv_debug_acknowledge, rv_debug_execute, rv_debug_execute_progbuf } |
Variables | |
| constant integer | RISCV_DATA_ADDR_WIDTH = 14 |
| constant integer | RISCV_INSTR_ADDR_WIDTH = 14 |
| struct t_riscv_mem_access_req |
| struct t_riscv_mem_access_resp |
| struct t_riscv_irqs |
| struct t_riscv_fetch_req |
| Data Fields | ||
|---|---|---|
| bit[32] | address | |
| bit | flush | |
| t_riscv_mode | mode | |
| bit | sequential | |
| bit | valid | |
| struct t_riscv_fetch_resp |
| Data Fields | ||
|---|---|---|
| bit[32] | data | |
| bit | debug |
Needs to permit register read/write encoding, break after execution, break before execution, execution mode, breakpoint-in-hardware-not-software; force-debug-subroutine-trap-before-execution |
| bit | error | |
| t_riscv_mode | mode | |
| t_riscv_fetch_tag | tag | |
| bit | valid | |
| struct t_riscv_config |
| struct t_riscv_debug_mst |
| Data Fields | ||
|---|---|---|
| bit[16] | arg |
Argument for debug op |
| t_riscv_word | data |
Data for writing or instruction execution |
| bit[6] | mask |
PDM attention mask (mask && id)==(mask&&select) -> drive attention on next cycle |
| t_riscv_debug_op | op |
Operation for selected PDM to perform |
| bit[6] | select |
PDM to select |
| bit | valid |
Asserted if op is valid; has no effect on mask and attention |
| struct t_riscv_debug_tgt |
| Data Fields | ||
|---|---|---|
| bit | attention |
Asserted by a PDM if it has unacknowledged halt, breakpoint hit, resumption |
| t_riscv_word | data |
Data from a completed transaction; 0 otherwise |
| bit | halted |
Asserted by a PDM if it is selected and halted since last ack; 0 otherwise |
| bit | hit_breakpoint |
Asserted by a PDM if it is selected and has hit breakpoint since lask ack; 0 otherwise |
| bit | op_was_none |
Asserted if the response is not valid |
| t_riscv_debug_resp | resp |
Response from a requested op - only one op should be requested for each response |
| bit | resumed |
Asserted by a PDM if it is selected and has resumed since last ack; 0 otherwise |
| bit[6] | selected |
Number of the PDM driving, or 0 if not driving the bus |
| bit | valid |
Asserted by a PDM if driving the bus |
| struct t_riscv_pipeline_debug_control |
| Data Fields | ||
|---|---|---|
| t_riscv_word | data |
Data from a completed transaction; 0 otherwise |
| bit | fetch_dret | |
| bit | halt_request | |
| bit | kill_fetch | |
| bit | valid | |
| typedef bit t_riscv_debug_resp |
| typedef bit [2] t_riscv_fetch_tag |
| typedef bit [32] t_riscv_word |
| enum t_riscv_debug_op |
| enum t_riscv_mode |
| constant integer RISCV_DATA_ADDR_WIDTH = 14 |
| constant integer RISCV_INSTR_ADDR_WIDTH = 14 |
1.8.11