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:prs [2022/06/08 06:20]
rajit [CMOS implementation]
language:langs:prs [2022/06/27 15:44]
rajit [Direct transistor specifications]
Line 182: Line 182:
 </code> </code>
 The ''*'' before the opening brace says that the leakage adjustment parameter should be used. Note that leakage adjustment applies to the entire process/cell, even if the parameter is specified only in one of the ''prs'' blocks or ''sizing'' blocks. The ''*'' before the opening brace says that the leakage adjustment parameter should be used. Note that leakage adjustment applies to the entire process/cell, even if the parameter is specified only in one of the ''prs'' blocks or ''sizing'' blocks.
 +
 +==== Direct transistor specifications ====
 +
 +In case this syntax is not sufficient, the ''prs'' language also includes support for specifying individual transistors. Since these are typically used as pass gates or transmission gates in digital circuits, we use the following syntax:
 +<code act>
 +prs {
 +   passp <10,4> (gate, source, drain)   /* p-type device, with specified sizing */
 +   passn <20,8> (gate, source, drain)   /* n-type device with specified sizing */
 +}
 +</code>
 +
 +Note that automatic staticizer (keeper) generation is only triggered when a production rule is specified. If part of your circuit for an output signal is described using production rules and part of it is described using transistors, then staticizer generation will likely be triggered; you can turn this off using the ''[keeper=0]'' [[tools:netgen#Attributes|attribute]].