JSpec Output - Juniper/open-register-design-tool GitHub Wiki

Ordt will generate Jspec code from rdl input to allow use of existing Jspec filters. Note that generated Jspec will include detail of specified external register areas so that complete documentation can be generated from Jspec. Thus, Ordt-generated Jspec output is not suitable for generation of verilog headers (since external registers will also be auto-generated rather than tagged as an external interface). The jspec output is "unrolled", ie no typedefs or constant defines are generated. Rather, output is a set of nested instances.

Several ordt parameters can be specified to control jspec output:


Rdl property translation to jspec output

SystemRDL properties are converted to jsec as follows:

  • category and sub_category property strings are converted to like-named jspec parameters.
  • register donttest properties are converted to jspec attributes = JS_ATTRIB_DO_NOT_TEST
  • register dontcompare properties are converted to jspec attributes = JS_ATTRIB_TEST_ACCESS_ONLY
  • registers with one or more fields having intr property are assigned attributes = JS_ATTRIB_INT_STATUS

Generation of JS_ATTR* values from rdl properties can be overridden by assigning a string value to the js_attributes property in rdl source. If specified, the value will passed as-is to the attributes assignment in the generated jspec.

User-defined property translation to jspec output

Assignments for any user-defined rdl property having a name starting with js_ will be included in jspec output with js_ prefix removed. In addition, if the add_user_param_defines output parameter is specified, typedef defines for these user-defined params will be added to the jspec output.