Files
PeakRDL-BusDecoder/tests/cocotb_lib/rdl/wide_status.rdl
Arnav Sacheti c7b6c9e5ef set cpuif_data_width for non-external components (#42)
* set cpuif_data_width for non-external components

* update tests to actually work now

* version bump
2026-02-03 21:58:45 -08:00

98 lines
1.8 KiB
Plaintext

reg status_reg_t {
regwidth = 64;
accesswidth = 32;
desc = "Status register capturing wide flags and sticky bits.";
field {
sw = r;
hw = w;
onread = rclr;
reset = 0x0;
} flags_low[31:0];
field {
sw = r;
hw = w;
onread = rclr;
reset = 0x0;
} flags_high[62:32];
field {
sw = rw;
hw = r;
reset = 0x1;
} sticky_bit[63:63];
};
reg metrics_reg_t {
regwidth = 64;
accesswidth = 32;
desc = "Metrics register pairing counters with thresholds.";
field {
sw = r;
hw = w;
reset = 0x0;
} count[31:0];
field {
sw = rw;
hw = rw;
reset = 0x0;
} threshold[63:32];
};
addrmap wide_status {
status_reg_t status_blocks[16] @ 0x0;
metrics_reg_t metrics[4] @ 0x400;
reg {
regwidth = 128;
accesswidth = 32;
field {
sw = rw;
hw = rw;
reset = 0x0;
} configuration_0[31:0];
field {
sw = rw;
hw = rw;
reset = 0x0;
} configuration_1[63:32];
field {
sw = rw;
hw = rw;
reset = 0x0;
} configuration_2[95:64];
field {
sw = rw;
hw = rw;
reset = 0x0;
} configuration_3[127:96];
} configuration @ 0x800;
reg {
field {
sw = rw;
hw = rw;
reset = 0x0;
} version_major[7:0];
field {
sw = rw;
hw = rw;
reset = 0x1;
} version_minor[15:8];
field {
sw = rw;
hw = rw;
reset = 0x0100;
} build[31:16];
} version @ 0x900;
};