Propagation times¶
The work to be carried out consists of setting up the characterization of the propagation times of the INVX1 cell. The name of such parameter in a timing library for HDL synthesis such as “liberty” files is “cell_fall” and “cell_rise”
Fall propagation time¶
We want to caracterise the propagation time of the cell for a falling output.
Directory setup¶
In a terminal window, change to the directory of your previous simulation (
cd INVX1_fall_transition
)Run the command
make template_dir
. It will create a new directory named template_dir at the same hierarchy level as your current directoryChange to the upper level directory (
cd ..
)BEWARE : Change the name of the template directory to INVX1_cell_fall (
mv template_dir INVX1_cell_fall
)Then get inside the new directory (
cd INVX1_cell_fall
)
Code update and simulation¶
For propagation time measurements, you may use the same kind of testbench as for fall time measurement:
Change the kind of measurement made inside the “board.vams” model, new measurement points are:
The crossing of the input signal through the “input_threshold_pct” value for a rising edge
The crossing of the output signal through the “output_threshold_pct” value for a falling edge
For readability, change the name of the variables to match the type of measured value…
Change the name of the file for the results (in the testbench.sv file) to “results/INVX1_cell_fall”
For readability, change the name of the measured value, in the file testbench.sv.
Adapt the plot.py script :
Change the name of the file for results (line
tab = np.genfromtxt(....
)Change the title nam (plt.title….)
Comment the 4 lines relative to the maximum allowed slope (
plt.axhlin..., plt.annotate...
)
Try to simulate, correct all errors, extract the parameters, and display the results. Show your results to the supervisors, in order to check if all is ok
Rise propagation time¶
We want to caracterise the propagation time of the cell for a rising output.
Directory setup¶
Create a new template_directory, using the
make template\_directory
, starting from the INVX1_cell_fall directory.Rename this new directory “INVX1_cell_rise”
Code update and simulation¶
Modify the “board.vams” directory in order to fullfill the needed timing measurement
Modify the “testbench.sv” directory in order generate the “good waveforms” needed for the measurements. (take care of the din signal polarity…)
Modify all needed values for readability of the file names, titles and comments…
Simulate…. And show your results to the supervisors.