The purpose of this project is to produce a clean GDS (Graphic Design System) Final Layout with all details that are used to print photomasks used in the fabrication of a behavioral RTL (Register-Transfer Level) of an 4bit magnitude comparator, using SkyWater 130nm PDK (Process Design Kit)
- Design
- Pin Configuration
- Pre-layout Simulation
- Openlane Workflow
- OpenLane
- OpenLane design stages
- Installation
- Running openlane
- Magic layout generate
- Post-layout simulation
- Key points to Remember
- Area of improvement
- References
- Acknowledgement
- Author
This is how you can simulate your design.
Pre-layout simulation waveform
OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen, Fault and custom methodology scripts for design exploration and optimization. For more information check here
- Synthesis
yosys
- Performs RTL synthesisabc
- Performs technology mappingOpenSTA
- Performs static timing analysis on the resulting netlist to generate timing reports
- Floorplan and PDN
init_fp
- Defines the core area for the macro as well as the rows (used for placement) and the tracks (used for routing)ioplacer
- Places the macro input and output portspdn
- Generates the power distribution networktapcell
- Inserts welltap and decap cells in the floorplan
- Placement
RePLace
- Performs global placementResizer
- Performs optional optimizations on the designOpenDP
- Perfroms detailed placement to legalize the globally placed components
- CTS
TritonCTS
- Synthesizes the clock distribution network (the clock tree)
- Routing
FastRoute
- Performs global routing to generate a guide file for the detailed routerCU-GR
- Another option for performing global routing.TritonRoute
- Performs detailed routingSPEF-Extractor
- Performs SPEF extraction
- GDSII Generation
Magic
- Streams out the final GDSII layout file from the routed defKlayout
- Streams out the final GDSII layout file from the routed def as a back-up
- Checks
Magic
- Performs DRC Checks & Antenna ChecksKlayout
- Performs DRC ChecksNetgen
- Performs LVS ChecksCVC
- Performs Circuit Validity Checks
- Preferred Ubuntu OS)
- Docker 19.03.12+
- GNU Make
- Python 3.6+ with PIP
- Click, Pyyaml:
pip3 install pyyaml click
git clone https://github.com/efabless/openlane.git openlane
cd openlane
make openlane
make pdk
export PDK_ROOT=<absolute path to where skywater-pdk and open_pdks will reside>
Installed and add this configuration variable
export STD_CELL_LIBRARY=<Library name>
the library names is one of:
- sky130_fd_sc_hd
- sky130_fd_sc_hs
- sky130_fd_sc_ms
- sky130_fd_sc_ls
- sky130_fd_sc_hdll
you can install all SKY130
make full-pdk
On successful completion of previous step, lets test it by
make test
which shall display the "successful" message.
Note: Go to next steps only after having the successful test.
Next steps
If docker is installed, if you can see the docker version 19.* and above then docker is present and go to next step else install docker manually
docker --version
you can install docker file following this link
https://docs.docker.com/engine/install/
Once you are sure the docker is present, you have to make mount of the current files in openlane
make mount
Now lets test a design which is already present in openlane/designs
type
The following directory of design where the design is present is :
'vsdflow/work/tools/openlane_working_dir/openlane/designs/dvsd_cmp'
bash-4:$
./flow.tcl -design dvsd_cmp -tag vanshika_4bit_magnitude_comparator
which shall display the "successful" message after running all the respective tasks.
For magic layout generation in magic tool write this in terminal where you ran the above process
bash-4:$
magic dvsd_cmp.mag
Zoom-in view of IP Layout of dvsd_cmp design in Magic Tool.
Zoom-out view of IP Layout of dvsd_cmp design in Magic Tool.
command for post-layout simulation
Post-layout simulation waveform
- Keep the top module name and design name always same, else errors would come in the design.
- To perform spice simulation of the final GDS layout.
- GitLab/OpenLane workshop
- The OpenROAD Project/OpenLane
- Ahmed Ghazy and Mohamed Shalan, "OpenLane: The Open-Source Digital ASIC Implementation Flow", Article No.21, Workshop on Open-Source EDA Technology (WOSET), 2020. Paper
- YOUTUBE/OpenLane Overview
- GitHUB/openlane_build_script
- GitLab/OpenLANE-Sky130-Physical-Design-Workshop
- Kunal Ghosh, Founder, VSD Corp. Pvt. Ltd
- Vanshika Tanwar, Bachelor of Technology in Electronics & Communication Engineering,Dronacharya Group of Institutions,Greater Noida, U.P.