Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
asic:timing:constraints [2023/11/18 21:03] – created rajit | asic:timing:constraints [2024/03/21 17:36] (current) – rajit | ||
---|---|---|---|
Line 3: | Line 3: | ||
Depending on the asynchronous circuit family used, the correct operation of a design may require certain timing constraints to be satisfied. ACT provides a mechanism to specify these timing constraints, | Depending on the asynchronous circuit family used, the correct operation of a design may require certain timing constraints to be satisfied. ACT provides a mechanism to specify these timing constraints, | ||
+ | Constraints are specified using timing forks. Timing forks can be used to specify a wide range of timing constraints; | ||
+ | |||
+ | Consider the timing fork described below. | ||
+ | <code act> | ||
+ | spec { | ||
+ | timing a+ : b- < c+ | ||
+ | } | ||
+ | </ | ||
+ | Cyclone searches for paths from '' | ||
+ | |||
+ | A violation of this fork can be attributed to two different causes: | ||
+ | * A path that should be fast from '' | ||
+ | * A path that should be slow from '' | ||
+ | Both interpretations are valid, and it is up to a designer to determine what action is most appropriate to correct the timing fork violation. A simple option would be to slow down the path that is too fast, but this may lead to a slower cycle period. | ||
+ | |||
+ | When identifying paths from one timing graph vertex to another, | ||
+ | <code act> | ||
+ | spec { | ||
+ | timing a+ : b*- < c+ | ||
+ | } | ||
+ | </ | ||
+ | Here, the paths considered from '' |