You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Defining a field as read-only and assigning it a default value in System RDL leads to the generated System Verilog files assigning the default value to the readback signal as a constant. This produces an error in Questa when the field width is larger than the access width because bit splicing is necessary but cannot be done on constant values.
Example System RDL file myFile.rdl
addrmap myAddrMap {
default accesswidth = 32;
reg
{
name = "64 Bit Register";
desc = "Example of a 64-bit register used with a 32-bit access bus.";
regwidth = 64;
field
{
name = "64 Bit Field";
sw=r; hw=r;
} myField[64] = 64'hDEADBEEFDEADBEEF;
} myRegister;
};
Executing peakrdl regblock -o ./ myFile.rdl generates myAddrMap_pkg.sv and myAddrMap.sv. The last two lines in the following section from myAddrMap.sv are what cause the error. That is, the constant deadbeef being spliced to access bits [31:0] and [63:32] separately.
Defining a field as read-only and assigning it a default value in System RDL leads to the generated System Verilog files assigning the default value to the readback signal as a constant. This produces an error in Questa when the field width is larger than the access width because bit splicing is necessary but cannot be done on constant values.
Example System RDL file
myFile.rdl
Executing
peakrdl regblock -o ./ myFile.rdl
generatesmyAddrMap_pkg.sv
andmyAddrMap.sv
. The last two lines in the following section frommyAddrMap.sv
are what cause the error. That is, the constantdeadbeef
being spliced to access bits [31:0] and [63:32] separately.The error Questa shows as follows and relates to the lines described above.
The text was updated successfully, but these errors were encountered: