Introduction
Although the official SystemRDL spec defines numerous properties that allow you to define complex register map structures, sometimes they are not enough to accurately describe a necessary feature. Fortunately the SystemRDL spec allows the language to be extended using “User Defined Properties” (UDPs). The PeakRDL-etana tool understands several UDPs that are described in this section.
To enable these UDPs, compile this RDL file prior to the rest of your design:
etana_udps.rdl.
Name |
Component |
Type |
Description |
|---|---|---|---|
buffer_reads |
reg |
boolean |
If set, reads from the register are double-buffered. See: Read-buffered Registers. |
rbuffer_trigger |
reg |
reference |
Defines the buffered read load trigger. See: Read-buffered Registers. |
buffer_writes |
reg |
boolean |
If set, writes to the register are double-buffered. See: Write-buffered Registers. |
wbuffer_trigger |
reg |
reference |
Defines the buffered write commit trigger. See: Write-buffered Registers. |
rd_swacc |
field |
boolean |
Enables an output strobe that is asserted on sw reads. |
wr_swacc |
field |
boolean |
Enables an output strobe that is asserted on sw writes. |
verilog_reg_only |
reg |
boolean |
If set, the register’s hardware interface signals are grouped as a single vector at the top level instead of individual field signals. Internally, the vector is automatically broken up into the individual fields. |
err_support |
mem |
boolean |
If set on an external memory, adds rd_err and wr_err input ports and propagates errors to the CPU interface (e.g., APB pslverr, AHB hresp). See: External Memory Error Support. |