Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
language:langs:start [2022/06/24 06:46]
rajit [Sub-languages to specify circuits]
language:langs:start [2022/06/29 16:20]
rajit [Selecting sub-language level]
Line 30: Line 30:
   * [[spec|Specifications]]   * [[spec|Specifications]]
  
 +===== Selecting sub-language level =====
 +
 +There are four possible levels of detail at which to model a circuit component:
 +  * CHP, where channels and full expression syntax is permitted
 +  * HSE, where sequencing can be specified, but all variables are Boolean-valued
 +  * PRS, which corresponds to individual pull-up and pull-down networks (gates)
 +  * device, which corresponds to the transistor-level implementation of the gates. The device level doesn't have an explicit syntax, as the PRS language has enough detail to be able to capture this level of abstraction.
 +
 +A configuration file can be specified that selects the level of detail for a process  type / instance name. This file is typically passed via the command-line option ''-cnf=file.conf'' to ACT tools. The parameters you can specify are:
 +
 +<code>
 +begin level
 +# valid strings are "chp", "hse", "prs", and "device"
 +   string default "chp"
 +end
 +</code>   
 +This specifies the default level selected for every process. (Dataflow is treated as fine-grained parallel CHP.)
 +
 +<code>
 +begin level
 +   begin types
 +   # chp process model
 +     string_table chp "procname<5>"  "proc2<>"
 +   # prs process model
 +     string_table prs "proc3<>"
 +   end
 +end
 +</code>
 +This specifies that the particular process names should be modeled at the specified level of abstraction.