A standard-cell library is the menu the mapper orders from. Every entry lists what the cell computes, what it costs, what load it adds to its driver, and how long it takes under stated slew and load. The mapper never invents a gate. It only trades listed entries against each other, so every area and delay number in this course traces back to entries like the ones on these pages.
The teaching library is small and fictional: fifteen cells in course.lib, one size per cell, with made-up but consistent numbers. A second library, nand_only.lib, holds only INV, BUF, and NAND2 at the same areas. Comparing covers across the two shows what choice costs. A third library, sized.lib, offers most cells in three drive strengths and appears wherever a constraint has to change a netlist.
One recorded pair to carry through the topic, from the mapping lesson's runs: one mux plus one AOI cone covers 2 cells at area 8 against course.lib, and 8 cells at area 13 against nand_only.lib. Same logic, different menu.
Lesson | What it covers |
|---|---|
One NAND2 entry annotated field by field, plus runs that ban NAND2 and then stack a second ban. | |
All fifteen cells with the real INV and NAND2 delay tables copied from course.lib. | |
Bilinear lookup on the real NAND2 table, checked by a runnable Python block. | |
Setup, hold and clock-to-Q from the real DFF groups, plus sync against async reset mapping. | |
A mux and an AOI cone mapped to course.lib and to nand_only.lib, plus a run that bans only MUX2, with recorded areas. |
Read any combinational entry in course.lib: function, area, pin load, arcs, and tables.
Look up a cell delay by input slew and output load, and interpolate inside the table.
Read a flop entry: setup and hold limits plus clock-to-output delay.
Predict what banning a cell does to a cover, and confirm it from a stat report.
Name the library before quoting any area or delay, and convert its pF and ns units.
Input slew (index_1, the rows) and output load (index_2, the columns). The table entry at that point gives the delay, as the NAND2 table on the interpolation page shows.
Topic hub: no tool run. Numbers quoted here come from the recorded Yosys 0.69 runs on the five lessons, and the flowchart is illustrative.