Next we will generate SDC commands to ensure that the design meets the setup and hold time requirements on it's output ports. First we will graphically add the setup/hold requirement for each output port, then we will enable SDC command generation for the setups and holds.
Add Setups and Holds:
•Press the Setup button so that right clicks will add setups. |
•Left click on one of the rising edges of the ADC_ENABLE signal to select it. •Right click on the second rising edge of the CK_DIV2 to add a blank setup between the selected edge and this one. |
•Notice that the arrows of the setup are pointing to the control signal. This means that you added the setup correctly. •Add the rest of the setups and holds as shown. Always start on the control signal and end on the clock signal when adding setups and holds. |
EnS = 20 EnH=4 CsbS=3 CsbH=1 WrbS = 5 WrbH=0 AddrS=5 AddrH=1 DataS=5 DataH=0 |
Enable SDC Code Generation
•Double click on a setup to open the Setup Properties dialog and press the SDC Code button to open the Parameter Synopsys Design Constraint dialog. •Create an SDC variables by clicking the check box for Min Name. A new variable will appear in the display area below the checkboxes. Typically setups and holds only have a min value, so it's very rare that you will ever check the Max Name for a setup/hold parameter. •Create an SDC command from the Setup's data by changing the SDC Command Type from None to Set Output Delay. The generated SDC set_output_delay command will display in the area below the SDC command parameters grid. Note that the generated SDC command references the Min/Max SDC variable name created in the previous step. •Enable the Min Name and the SDC Command for the remaining setup and hold times in the diagram. •The results should look similar to the images below. Note that setups generate a "-max" output delay and holds generate a "-min" output delay (because of SDC syntax, "-min" times are specified as negative values, hence the -$WrbH_min in the SDC command for the hold). |