OpenRAM Layout Vs Schematic Netlist Visualizer Desktop Application.
Developed by Mahnoor Ismail
This is developed purely in Python Programming Language. GUI is supported by PyQt5 Framework.
This Project was created as part of Google Summer of Code 2023 Programme for Open Source Contribution.
| Organization | University of California - Open Source Program Office (UC-OSPO) |
|---|---|
| Mentors | Jesse Cirimelli-Low and Matthew Guthaus |
| Contributor | Mahnoor Ismail |
The "LVS Visualizer" is a tool designed to aid in the comparison of schematic and layout netlists in circuit design. With its intuitive graphical interface, users can effortlessly spot discrepancies between a circuit's layout and its schematic. A standout feature is its interactive capability: clicking on a net, device, or pin immediately highlights it in the layout in magic, allowing users to swiftly locate and address any mismatches. This application streamlines the process of analyzing and correcting circuit layout issues, ensuring fidelity to the original schematics.
Install Python libraries (ONE TIME)
pip install -r requirements.txtDirect GUI Launch
python lvs.py
OR
python3 lvs.py[Optional] Provide command line arguments. Following are the supported arguments.
mahnoor@mahnoor-Inspiron-14-5425:~/Downloads/LVS_Mismatch$ python3 lvs.py -h
usage: lvs.py [-h] [-s SCHEMATIC_NETLIST] [-l LAYOUT_NETLIST] [-j JSON_OUTPUT] [-m MAGIC_FILE] [-e EXT_FILE]
Process some netlists and files.
options:
-h, --help show this help message and exit
-s SCHEMATIC_NETLIST, --schematic_netlist SCHEMATIC_NETLIST
Path to schematic netlist
-l LAYOUT_NETLIST, --layout_netlist LAYOUT_NETLIST
Path to layout netlist
-j JSON_OUTPUT, --json_output JSON_OUTPUT
Path to JSON output file
-m MAGIC_FILE, --magic_file MAGIC_FILE
Path to magic file
-e EXT_FILE, --ext_file EXT_FILE
Path to EXT fileAn example run with arguments
python3 lvs.py -s /home/mahnoor/Downloads/INV/INV.cdl -l /home/mahnoor/Downloads/INV/INV.spice -j /home/mahnoor/Downloads/INV/comp.json -m /home/mahnoor/Downloads/INV/INV.mag -e /home/mahnoor/Downloads/INV/INV.extYou can also give half arguments through command line and rest using the GUI Browse option. An example:
python3 lvs.py -s /home/mahnoor/Downloads/INV/INV.cdl -l /home/mahnoor/Downloads/INV/INV.spiceWhat needs to be installed before running the application.
- python3
- pyqt5
- magic