IEE5650: VLSI Testing
Assignment #0 (Due: Mar. 13, 2020 23:59:99)
Last update: 2020-03-05
Reading:
-
Podem source codes
-
Benchmark circuits
-
Please compress the folder containing following two parts to a file named by "ASS0_<your-student-ID>" and
upload it to
new E3 system.
-
Whole program, including the provided and your modification.
-
Short Report, briefly describe how your accomplish the assignment.
-
Naming and characteristics of benchmark circuits (decompressed from circuits.tgz):
(In the following, XXX is the identification number of the circuit, e.g., "27" is the identification number of s27.bench)
-
sXXX_seq.bench is the original ISCAS89 circuits.
If you need combinational parts of these circuits, you can simply take the PPIs as PIs, and all PPOs as POs in your
code.
- sXXX_opt.bench is the combinational parts of sXXX_seq.bench optimized with the Synopsys DC.
- sXXX_com.bench is the same as sXXX_opt.bench.
- cXXX.bench is the combinational ISCAS85 circuits.
Homework Problems:
(100 pts) Get yourself familiar with the data structure of the podem test generation package (though we do not use the test
generation parts yet). Please use the circuit parser to read benchmark circuits and then output the following attributes
of the circuits. Choose benchmark circuits according to different criteria including combinational or sequential, optimized
or non-optimized, larger or small circuits, etc.
- Number of inputs
- Number of outputs
- Total number of gates including inverter, or, nor, and, nand
- Number of gates for each type
- Number of flip-flops (if available)
- Total number of signal nets.
A net is any wire connecting between (PI, PPI, gate outputs) to (PO, PPO and gate inputs). Note that a gate connecting
to different gates will be counted as different nets. For example, the output of gate A is branched to both gate C and
D. As a result, there are two branch nets: A->C and A->D, and one stem net A.
- Number of branch nets
- Number of stem nets
- Average number of fanouts of each gate (all kinds of gates)
Attention:
-
The required command format is as follows:
(So you are required to enroll a new option in main.cc.)
- ./atpg -ass0 [circuit_name]
-
Example:
- ./atpg -ass0 c17.bench