Design Examples¶
In this course, digital design concepts and SystemVerilog features will be introduced through examples of gradually increasing complexity, inspired by real digital systems, as follows:
# |
Design |
Files |
RTL |
TB |
Results |
|---|---|---|---|---|---|
1 |
1-bit Full Adder |
||||
2 |
N-bit Ripple Carry Adder |
||||
3 |
ALU |
||||
4 |
Up Counter |
||||
5 |
Binary Reduction Tree |
||||
6 |
AXI-Stream Parallel to Serial Converter |
||||
7 |
Down Counter (Chainable) |
||||
8 |
UART RX |
||||
9 |
UART TX |
||||
10 |
UART Echo (RX + TX) System |
||||
11 |
FIR Filter [Naive RTL] |
||||
12 |
System: 100-tap FIR Filter via UART [Python filter] |
Waveforms and ASAP7 GDS¶
For each design our GitHub Actions flow runs
Simulation using Verilator, generating VCD, converted to SVG,
OpenROAD RTL2GDS2 flow using ASAP7 7nm, a realistic PDK for academic use,
collects their outputs and displays them here.
To reproduce this on your machine, check out our docker setup.
Our repository: github.com/abarajithan11/digital-design
Filelists: material/designs
SystemVerilog RTL: material/rtl
Testbenches: material/tb
Makefile: material/Makefile
OpenRoad Flow: material/openroad
1. 1-bit Full Adder¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
2. N-bit Ripple Carry Adder¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
3. ALU¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
4. Up Counter¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
5. Binary Reduction Tree¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
6. AXI-Stream Parallel to Serial Converter¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
7. Down Counter (Chainable)¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
8. UART RX¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
9. UART TX¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
10. UART Echo (RX + TX) System¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
11. FIR Filter [Naive RTL]¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)
12. System: 100-tap FIR Filter via UART [Python filter]¶
Run results
Layout Reports
Routing, Placement, Worst path
Waveform (0-10 ns)