OpenROAD Flow Scripts (ORFS)
repository·master·Indexed 20 days ago
https://github.com/the-openroad-project/openroad-flow-scriptsAn autonomous RTL-to-GDSII digital implementation flow providing a complete path from hardware description language to physical layout. It supports automated exploration and manual fine-tuning via Tcl and Python, featuring integration with Bazel for building designs and a GUI for visualizing stages such as synthesis, floorplanning, placement, and global routing.
What's inside openroad-flow-scripts
- The GCD (Greatest Common Denominator) core is an extremely small design used primarily to verify the sanity of the OpenROAD Flow. It is a minimal design consisting of approximately 250 cells. It was originally generated using PyMTL and uses code derived from the opencelerity.org project.
Overview of the UART design in OpenROAD Flow
masterThe UART (Universal Asynchronous Receiver Transmitter) design is a basic communications application provided within the OpenROAD Flow scripts repository. It serves as a reference design for implementing asynchronous serial communication.Overview of the AES (Rijndael) IP Core design
masterThis design is a simple AES (Rijndael) IP Core used within the OpenROAD Flow Scripts environment. It is a port of the original core from OpenCores, modified to include SDC timing constraints and updated Verilog code using standard Verilog attributes to ensure compatibility with modern EDA tool flows.Overview of the UART-no-param design
masterTheuart-no-paramdesign is a basic implementation of a Universal Asynchronous Receiver Transmitter (UART) communications application. It is provided as a reference design within the OpenROAD Flow Scripts repository.Overview of the black_parrot_2019_03_28 design
masterThe
black_parrot_2019_03_28design is a full 64-bit RISC-V core that includes a Cache Coherence Directory. This specific implementation in the OpenROAD Flow Scripts repository includes several modifications to the original source to make it suitable for the flow:- Memory Generation: Uses
bsg_fakeramfornangate45technology. - Memory Hardening: Memory blocks have been hardened.
- Timing: Timing constraints have been added to the design.
- Memory Generation: Uses
Overview of the black_parrot_be_only_2019_03_11 design
masterTheblack_parrot_be_only_2019_03_11design is a back-end implementation of a 64-bit RISC-V Core that includes a Cache Coherence Directory. This specific design variant has been modified from its original source to include hardened memory blocks and timing constraints.Overview of the black_parrot_2019_03_11 design
masterThe
black_parrot_2019_03_11design is a full 64-bit RISC-V core that includes a Cache Coherence Directory. This specific implementation in the OpenROAD Flow Scripts repository has been modified from its original source to include:- Memory generation using
bsg_fakeramfor thenangate45process. - Hardened memory blocks.
- Added timing constraints.
- Memory generation using
Overview of IHP SG13G2 Platform
masterThe IHP SG13G2 is a 130 nm BiCMOS open PDK. It includes standard CMOS logic cells, heterojunction bipolar transistors (HBTs), RF MOS devices, MIM capacitors, spiral inductors, and ESD protection structures.
Electrical Specifications:
- Core Supply Voltage: 1.2 V
- I/O Ring Voltage: 3.3 V
Metal Stack Details:
- Routing Layers: 7 layers total.
- Default Digital Routing: Metal2 through Metal5.
- Manufacturing Grid: 0.005 µm.
- Padframe Routing: Designs using a padframe typically extend routing up to
TopMetal2to connect the PDN ring to IO power pads.
Overview of the JPEG Encoder design
masterThe JPEG Encoder design is a core component sourced from the Video Compression Systems Project. It is a large-scale design containing approximately 417,000 cells. This specific implementation includes modifications for the OpenROAD Flow, such as added SDC timing constraints and updated Verilog code using standard attributes.Overview of Coyote RISC-V Rocketcore
masterCoyote is a RISC-V Rocketcore derived from the OpenCelerity project. It is used within the OpenROAD Flow Scripts ecosystem. This specific implementation includes modifications for hardware synthesis and timing analysis, including added SDC (Synopsys Design Constraints) timing constraints and conversion to Verilog usingbsg_sv2v.Overview of the SweRV RISC-V Core design
masterThe
swervdesign in OpenROAD Flow Scripts provides a implementation of the SweRV RISC-V Core 1.1 from Western Digital. This design is used as a reference or target for running the OpenROAD Flow.Note that this specific implementation includes modifications to the original source, such as default configurations from the repository, added timing constraints, and an included LICENSE file.
Overview of the Ethernet MAC (ethmac) core
masterThe
ethmaccore is an Ethernet Media Access Control (MAC) implementation designed for CSMA/CD LAN in accordance with IEEE 802.3 standards. It operates at the Data Link Layer of the OSI model and is responsible for:- Frame Data Encapsulation and Decapsulation
- Frame Transmission
- Frame Reception
Technical Specifications:
- Estimated Size: ~28k gates (approximately 2400 flip-flops).
- Origin: Based on the OpenCores project (https://opencores.org/projects/ethmac).
- Modifications in this repository: Includes added SDC (Synopsys Design Constraints) timing constraints and a LICENSE file.