Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
intro_example:start [2025/05/17 11:58] – [Simple circuit examples] rajit | intro_example:start [2025/05/22 10:01] (current) – [Organizing your design] rajit | ||
---|---|---|---|
Line 5: | Line 5: | ||
ACT supports the description of circuits are multiple levels of abstraction in a unified framework. Details of the language can be found in the [[language: | ACT supports the description of circuits are multiple levels of abstraction in a unified framework. Details of the language can be found in the [[language: | ||
- | ===== Simple circuit | + | ===== Circuit |
ACT can describe circuits are multiple levels of abstraction. At the highest level of abstraction, | ACT can describe circuits are multiple levels of abstraction. At the highest level of abstraction, | ||
Line 19: | Line 19: | ||
* Dependent [[template_deps|templates]] | * Dependent [[template_deps|templates]] | ||
* Using [[standard_sim|standard testing environments]] | * Using [[standard_sim|standard testing environments]] | ||
+ | * More on [[connection_info|connections]] and how they work | ||
* [[loops|Loops]] and selections | * [[loops|Loops]] and selections | ||
*Other ways to write the [[intro_example: | *Other ways to write the [[intro_example: | ||
+ | * [[assertions|Assertions]] in parameterized definitions | ||
+ | * [[name_mangling|Expanded names]] in ACT | ||
+ | * Using [[.pure_struct|pure structures]] | ||
+ | * Defining [[.operators|operators]] | ||
- | Sometimes parameterized components are only valid for certain parameter ranges. ACT includes | ||
- | assertions that are checked at expansion time that can be used to validate the assumptions made. | ||
- | |||
- | * [[assertions|Assertions]] in parameterized definitions | ||
- | |||
- | ===== Pure structures ===== | ||
- | |||
- | [[language: | ||
- | |||
- | * Using [[.pure_struct|pure structures]] | ||
- | * Defining [[.operators|operators]] | ||
===== Organizing your design ===== | ===== Organizing your design ===== | ||
Line 39: | Line 33: | ||
* Creating [[namespace|libraries and namespaces]] | * Creating [[namespace|libraries and namespaces]] | ||
+ | * Organizing your [[files|files]] | ||
* Tracking [[dependencies|dependencies]] between ACT files | * Tracking [[dependencies|dependencies]] between ACT files | ||
Line 44: | Line 39: | ||
===== Low-level circuit design and SPICE simulation ===== | ===== Low-level circuit design and SPICE simulation ===== | ||
- | So far we have learned how to describe a circuit in ACT, simulate using prsim and irsim. Now, we will move on to the next stage i.e. designing CMOS circuits from ACT description. The process of designing circuit often starts with creating a spice netlist to simulate transistor-level circuit behavior. In order to generate a spice netlist, ACT requires some technology-dependent information and information to understand designer’s intent. We use configuration files to provide such information. For more information on configuration files, see [[config: | + | So far we have learned how to describe a circuit in ACT, simulate using actsim, |
The configuration files are saved in '' | The configuration files are saved in '' | ||
Line 50: | Line 45: | ||
* Specifying transistor [[sizing|sizes]] for CMOS implementation | * Specifying transistor [[sizing|sizes]] for CMOS implementation | ||
* Generating spice [[netlist|netlist]] and simulation with [[https:// | * Generating spice [[netlist|netlist]] and simulation with [[https:// | ||
+ | * [[name_mangling|Name mangling]] in ACT | ||
===== External tools ===== | ===== External tools ===== | ||