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

  1. In a terminal window, change to the directory of your previous simulation (cd INVX1_fall_transition)

  2. Run the command make template_dir. It will create a new directory named template_dir at the same hierarchy level as your current directory

  3. Change to the upper level directory (cd ..)

  4. BEWARE : Change the name of the template directory to INVX1_cell_fall (mv template_dir INVX1_cell_fall)

  5. 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:

  1. 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

  2. For readability, change the name of the variables to match the type of measured value…

  3. Change the name of the file for the results (in the testbench.sv file) to “results/INVX1_cell_fall

  4. For readability, change the name of the measured value, in the file testbench.sv.

  5. 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...)

  6. 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

  1. Create a new template_directory, using the make template\_directory, starting from the INVX1_cell_fall directory.

  2. Rename this new directory “INVX1_cell_rise

Code update and simulation

  1. Modify the “board.vams” directory in order to fullfill the needed timing measurement

  2. Modify the “testbench.sv” directory in order generate the “good waveforms” needed for the measurements. (take care of the din signal polarity…)

  3. Modify all needed values for readability of the file names, titles and comments…

  4. Simulate…. And show your results to the supervisors.