[Libre-soc-bugs] [Bug 890] Static Timing Analysis of eth_mac
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Mon Oct 24 12:39:41 BST 2022
https://bugs.libre-soc.org/show_bug.cgi?id=890
--- Comment #40 from Marie-Minerve Louerat <marie-minerve.louerat at lip6.fr> ---
Comparison results of Static Timing Analysis (HiTas) and transistor-level
simulation (ngspice) using a "dummy" cmos technology.
Use case: invertoer and inverter chain
showing how to configure the tools and provide results.
Evaluation results could be rebuilt with :
* alliance-check-toolkit commit #6d03d407
Inverter timing analysis
-------------------------
A. With STA
++++++++++++
Running:
1. Building the timing database
./hitas/db_ng.tcl
NB. here, Hitas uses inv.spi description of the netlist
to detect VDD and VSS
(see inv.rep)
2. Report critical paths
./hitas/report_inv_ng.tcl
provides the inv.paths file that shows the 2 paths of the inverter.
+-------+--------+--------------+-----------------------+
| input | output | input slope | propagation delay
+=======+========+==============+=======================+
| F | R | 20 | 51
+-------+--------+--------------+-----------------------+
| R | F | 20 | 40
+-------+--------+--------------+-----------------------+
where F: falling, R: rising, timing results in ps.
B. With transistor level simulator ngspice
++++++++++++++++++++++++++++++++++++++++++
ngpsice top_inv.spi
displays timing plots with information of input slope and propagation delay :
+-------+--------+--------------+-----------------------+
| input | output | input slope | propagation delay
+=======+========+==============+=======================+
| F | R | 20 | 36
+-------+--------+--------------+-----------------------+
| R | F | 20 | 30
+-------+--------+--------------+-----------------------+
where F: falling, R: rising, timing results in ps.
showing that STA delays are greater than simulation delays,
keeping the relative order,
with an error for STA of : 30% in the worse case.
Inverter chain timing analysis
------------------------------
A. With STA
++++++++++++
Running:
1. Building the timing database
./hitas/db_chain_ng.tcl
NB. here, Hitas uses inv_chain.spi description of the netlist
to detect VDD and VSS
(see inv_chain.rep)
2. Report critical paths
./hitas/report_chain_ng.tcl
provides the inv_chain.paths file that shows the 2 paths of the inverter chain.
+-------+--------+--------------+-----------------------+
| input | output | input slope | propagation delay
+=======+========+==============+=======================+
| F | R | 20 | 439
+-------+--------+--------------+-----------------------+
| R | F | 20 | 397
+-------+--------+--------------+-----------------------+
where F: falling, R: rising, timing results in ps.
3. Other analysis with the Hitas GUI: Xtas
xtas
file/open inv_chain.dtx
Tools/Get Paths
Select path/path Detail
B. With transistor level simulator ngspice
++++++++++++++++++++++++++++++++++++++++++
ngpsice top_inv_chain.spi
displays timing plots with information of input slope and propagation delay :
+-------+--------+--------------+-----------------------+
| input | output | input slope | propagation delay
+=======+========+==============+=======================+
| F | R | 20 | 395
+-------+--------+--------------+-----------------------+
| R | F | 20 | 377
+-------+--------+--------------+-----------------------+
showing that STA delays are greater than simulation delays,
keeping the relative order,
with an error for STA of : 10% in the worse case.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list