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 '' | ||