<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>openroad | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/openroad/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/openroad/index.xml" rel="self" type="application/rss+xml"/><description>openroad</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Wed, 22 Oct 2025 00:00:00 +0000</lastBuildDate><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/media/logo_hub6795c39d7c5d58c9535d13299c9651f_74810_300x300_fit_lanczos_3.png</url><title>openroad</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/openroad/</link></image><item><title>Final Blog: Rectilinear Floorplans in OpenROAD</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20251022-gschaitanya/</link><pubDate>Wed, 22 Oct 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20251022-gschaitanya/</guid><description>&lt;h1 id="final-progress-enabling-rectilinear-floorplanning-in-openroad">Final Progress: Enabling Rectilinear Floorplanning in OpenROAD&lt;/h1>
&lt;p>Hello! I&amp;rsquo;m excited to share my final progress on implementing &lt;strong>rectilinear (polygonal) die support&lt;/strong> in OpenROAD&amp;rsquo;s floorplanning flow as part of Google Summer of Code 2025. Under the guidance of my mentors Eder Monteiro and Augusto Berndt, we&amp;rsquo;ve made significant strides in extending OpenROAD to handle non-rectangular die shapes.&lt;/p>
&lt;p>Here&amp;rsquo;s a link to my original &lt;a href="https://summerofcode.withgoogle.com/programs/2025/projects/mcv3Hbgk" target="_blank" rel="noopener">proposal&lt;/a>&lt;/p>
&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>This project aims to add support for rectilinear floorplans in OpenROAD, an open-source EDA tool used for digital chip design. Currently, OpenROAD only supports rectangular floorplans, which limits its use in modern designs that often require more complex shapes, especially in advanced packaging, chiplet architectures, and 3D ICs.&lt;/p>
&lt;p>The project enables users to define floorplans using arbitrary rectilinear shapes made of $90^{\circ}$ corners. It involves three main components:&lt;/p>
&lt;ol>
&lt;li>Accepting polygonal input during floorplan setup&lt;/li>
&lt;li>Generating standard cell rows and routing tracks that follow the shape boundaries&lt;/li>
&lt;li>Updating pin placement logic to work with irregular outlines&lt;/li>
&lt;/ol>
&lt;p>By enabling these capabilities, OpenROAD becomes more flexible and suitable for real-world designs where blocks may need to fit together like puzzle pieces. This can lead to better area utilization and potentially shorter interconnects.&lt;/p>
&lt;p>The core challenge is maintaining robustness and backward compatibility while introducing this major new feature that touches multiple aspects of the design flow.&lt;/p>
&lt;h2 id="pull-requests-made">Pull Requests made&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Support for Rectilinear dies in PPL (Pin Placement)&lt;/strong> - &lt;a href="https://github.com/The-OpenROAD-Project/OpenROAD/pull/8182" target="_blank" rel="noopener">https://github.com/The-OpenROAD-Project/OpenROAD/pull/8182&lt;/a>&lt;/li>
&lt;li>&lt;strong>Support for Rectilinear dies in IFP (Init Floorplan)&lt;/strong> - &lt;a href="https://github.com/The-OpenROAD-Project/OpenROAD/pull/7893" target="_blank" rel="noopener">https://github.com/The-OpenROAD-Project/OpenROAD/pull/7893&lt;/a>&lt;/li>
&lt;/ol>
&lt;h2 id="key-contributions">Key Contributions&lt;/h2>
&lt;h3 id="phase-1-init-floorplan-ifp-module-support">Phase 1: Init Floorplan (IFP) Module Support&lt;/h3>
&lt;p>The first half of the project focused on adding support for rectilinear floorplans in the IFP (Init Floorplan) module. This foundational work established the infrastructure for handling non-rectangular die shapes.&lt;/p>
&lt;h4 id="1-polygonal-die-definition">1. Polygonal Die Definition&lt;/h4>
&lt;ul>
&lt;li>Implemented support for accepting polygon vertices as input to define rectilinear die shapes.&lt;/li>
&lt;li>Modified the TCL interfaces to accept a list of vertices of the rectilinear die in the &lt;code>-die_area&lt;/code> and &lt;code>-core_area&lt;/code> parameters and automatically switch to rectilinear flow.&lt;/li>
&lt;li>Developed validation logic to ensure polygons are rectilinear and valid.&lt;/li>
&lt;/ul>
&lt;h4 id="2-standard-cell-row-generation">2. Standard Cell Row Generation&lt;/h4>
&lt;ul>
&lt;li>Developed a scanline-based algorithm to generate standard cell rows that conform to complex polygonal boundaries.&lt;/li>
&lt;li>The algorithm sweeps horizontally across the die area and identifies valid row regions within the polygon.&lt;/li>
&lt;li>Routing Track generation logic could directly be used for rectilinear die shapes.&lt;/li>
&lt;/ul>
&lt;h4 id="3-testing-and-validation">3. Testing and Validation&lt;/h4>
&lt;ul>
&lt;li>Created comprehensive test cases for L-shaped, T-shaped, and other rectilinear configurations for floorplan creation and row generation.&lt;/li>
&lt;li>Ensured backward compatibility with rectangular floorplans.&lt;/li>
&lt;li>Added error handling for edge cases like invalid polygon specifications.&lt;/li>
&lt;/ul>
&lt;h3 id="demo-u-shaped-die-row-generation">Demo: U-Shaped Die Row Generation&lt;/h3>
&lt;p>One of our test cases involved generating rows for a U-shaped die. Here is a snapshot from the OpenROAD GUI displaying perfectly laid out rows:
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="U-shaped die with rows" srcset="
/report/osre25/openroad/20251022-gschaitanya/image_hu80377f8ad0fd7dd8cd93ba071f99d204_15398_f3394946aa9b2cf0185fac9d5ffdf4fd.webp 400w,
/report/osre25/openroad/20251022-gschaitanya/image_hu80377f8ad0fd7dd8cd93ba071f99d204_15398_b6ce6605882583b9dc669d52f2b53a54.webp 760w,
/report/osre25/openroad/20251022-gschaitanya/image_hu80377f8ad0fd7dd8cd93ba071f99d204_15398_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20251022-gschaitanya/image_hu80377f8ad0fd7dd8cd93ba071f99d204_15398_f3394946aa9b2cf0185fac9d5ffdf4fd.webp"
width="760"
height="495"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;hr>
&lt;h3 id="phase-2-pin-placement-ppl-module-support">Phase 2: Pin Placement (PPL) Module Support&lt;/h3>
&lt;h4 id="1-core-data-structure-migration">1. Core Data Structure Migration&lt;/h4>
&lt;ul>
&lt;li>Leveraged the &lt;code>odb::Line&lt;/code> class instead of the simple &lt;code>Edge&lt;/code> enum (which only handled 4 rectangular edges) to store edge data of rectilinear dies. This allows the system to handle an arbitrary number of polygon edges.&lt;/li>
&lt;li>This required refactoring nearly every function in the pin placement pipeline, as the &lt;code>Edge&lt;/code> enum was deeply embedded throughout the codebase.&lt;/li>
&lt;li>The new representation is more flexible and can handle N-sided polygons while maintaining clean abstractions.&lt;/li>
&lt;/ul>
&lt;h4 id="2-pin-slot-calculation">2. Pin Slot Calculation&lt;/h4>
&lt;ul>
&lt;li>Rewrote the &lt;code>defineSlots()&lt;/code> function family to work with polygon edges while maintaining compatibility with existing die shapes.&lt;/li>
&lt;li>Ensured slots are generated only within valid polygon boundaries.&lt;/li>
&lt;/ul>
&lt;h4 id="3-pin-orientation-algorithm">3. Pin Orientation Algorithm&lt;/h4>
&lt;ul>
&lt;li>One of the most challenging aspects was determining the correct orientation for pins on polygon edges. For rectangular dies, this is trivial, but for complex, concave polygons, it&amp;rsquo;s non-trivial.&lt;/li>
&lt;li>Leveraged the ray tracing algorithm to determine the correct pin orientations. The algorithm casts rays from edge midpoints to determine which side faces the interior of the polygon.&lt;/li>
&lt;li>This ensures pins are correctly oriented and handles complex cases like concave polygons.&lt;/li>
&lt;/ul>
&lt;h4 id="4-hungarian-matching-and-simulated-annealing-for-polygons">4. Hungarian Matching and Simulated Annealing for Polygons&lt;/h4>
&lt;ul>
&lt;li>Successfully extended both Hungarian Matching and Simulated Annealing to work with rectilinear dies as well as regular dies.&lt;/li>
&lt;li>The flow now checks if the provided die is rectilinear and intelligently switches the flow accordingly.&lt;/li>
&lt;/ul>
&lt;h3 id="demo-t-shaped-die-pin-placement">Demo: T-Shaped Die Pin Placement&lt;/h3>
&lt;p>The image below shows pins placed on a rectilinear, T-shaped die:
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="T-shaped die with pins" srcset="
/report/osre25/openroad/20251022-gschaitanya/image2_hu0558c466ce478ba1d69fc985aeae3534_180817_26615c6c73756a52625bd26c654c700b.webp 400w,
/report/osre25/openroad/20251022-gschaitanya/image2_hu0558c466ce478ba1d69fc985aeae3534_180817_1981460f13704d5672a3f98115464651.webp 760w,
/report/osre25/openroad/20251022-gschaitanya/image2_hu0558c466ce478ba1d69fc985aeae3534_180817_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20251022-gschaitanya/image2_hu0558c466ce478ba1d69fc985aeae3534_180817_26615c6c73756a52625bd26c654c700b.webp"
width="760"
height="563"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;hr>
&lt;h2 id="code-quality">Code Quality&lt;/h2>
&lt;ul>
&lt;li>Followed OpenROAD coding standards and conventions&lt;/li>
&lt;li>Comprehensive error handling and validation&lt;/li>
&lt;li>Extensive code reviews with multiple rounds of refinements&lt;/li>
&lt;li>Well-documented functions and algorithms&lt;/li>
&lt;/ul>
&lt;h2 id="testing-and-validation">Testing and Validation&lt;/h2>
&lt;ul>
&lt;li>Created multiple test cases covering various rectilinear shapes&lt;/li>
&lt;li>Regression testing to ensure backward compatibility&lt;/li>
&lt;li>Edge case handling (concave polygons, tight geometries, etc.)&lt;/li>
&lt;li>Integration testing with downstream OpenROAD flows&lt;/li>
&lt;/ul>
&lt;h2 id="future-work">Future Work&lt;/h2>
&lt;ul>
&lt;li>Supporting constraints for pin placement in PPL - currently in progress&lt;/li>
&lt;li>Improved GUI support for viewing and editing polygonal floorplans&lt;/li>
&lt;li>Further optimizing algorithms for very large polygons&lt;/li>
&lt;/ul>
&lt;h2 id="acknowledgements">Acknowledgements&lt;/h2>
&lt;p>I would like to thank my mentors, Eder Monteiro and Augusto Berndt for their patience, support and guidance throughout the project. Thanks to Stephanie and the entire UC OSPO team as well as Google Summer of Code for providing me with this incredible opportunity.&lt;/p></description></item><item><title>Mid-term Blog: Rectilinear Floorplans in OpenROAD - Progress Update</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20250803-gschaitanya/</link><pubDate>Sun, 03 Aug 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20250803-gschaitanya/</guid><description>&lt;h1 id="mid-term-progress-enabling-rectilinear-floorplanning-in-openroad">Mid-term Progress: Enabling Rectilinear Floorplanning in OpenROAD&lt;/h1>
&lt;p>Hello! I&amp;rsquo;m excited to share my mid-term progress on implementing &lt;strong>rectilinear (polygonal) die support&lt;/strong> in OpenROAD&amp;rsquo;s floorplanning flow as part of Google Summer of Code 2025. Under the guidance of my mentors Eder Monteiro and Augusto Berndt, we&amp;rsquo;ve made significant strides in extending OpenROAD to handle non-rectangular die shapes.&lt;/p>
&lt;p>Here&amp;rsquo;s a link to my original &lt;a href="https://summerofcode.withgoogle.com/programs/2025/projects/mcv3Hbgk" target="_blank" rel="noopener">proposal&lt;/a>&lt;/p>
&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>My project focuses on extending OpenROAD&amp;rsquo;s floorplanning capabilities to support rectilinear die shapes. This enhancement is crucial for modern VLSI design flows involving advanced packaging, 2.5D/3D ICs, and irregular chiplet-based designs where non-rectangular dies are increasingly common.&lt;/p>
&lt;p>The core challenge is maintaining robustness and backward compatibility while introducing this major new feature that touches multiple aspects of the design flow.&lt;/p>
&lt;h2 id="progress-made">Progress Made&lt;/h2>
&lt;h3 id="1-tcl-frontend-modification-and-input-parsing">1. &lt;strong>Tcl Frontend modification and Input Parsing&lt;/strong>&lt;/h3>
&lt;p>Successfully extended the Tcl interface to accept rectilinear die specifications:&lt;/p>
&lt;ul>
&lt;li>The &lt;code>initialize_floorplan&lt;/code> command can now accept a list of coordinates specifying a polygon and automatically trigger the rectilinear floorplanning flow.&lt;/li>
&lt;li>Added robust input validation for rectilinear coordinates&lt;/li>
&lt;li>Ensured backward compatibility with existing rectangular floorplan flows&lt;/li>
&lt;/ul>
&lt;h3 id="2-die-creation-and-validation">2. &lt;strong>Die creation and Validation&lt;/strong>&lt;/h3>
&lt;ul>
&lt;li>Leveraged the internal structure &lt;code>odb::Polygon&lt;/code> to store the vertices of the shape.&lt;/li>
&lt;li>Implemented polygon validation to ensure shapes are valid rectilinear polygons&lt;/li>
&lt;li>Added proper error handling and user feedback for invalid polygon inputs&lt;/li>
&lt;/ul>
&lt;h3 id="3-row-generation-for-rectilinear-dies---major-milestone">3. &lt;strong>Row Generation for rectilinear Dies - Major Milestone&lt;/strong>&lt;/h3>
&lt;p>The most significant achievement has been implementing the &lt;code>make_polygon_rows&lt;/code> functionality, which generates standard cell rows that conform to the rectilinear die boundaries. This was one of the most challenging aspects of the project. To solve this, we developed an efficient scanline-based approach to fill rectilinear areas with rows by clipping the row lengths according the the boundary of the shape supplied.&lt;/p>
&lt;h3 id="4-testing-and-validation">4. &lt;strong>Testing and Validation&lt;/strong>&lt;/h3>
&lt;p>Tests were added to the regression suite and were used to successfully test the entire &lt;code>initialize_floorplan&lt;/code> flow.
The changes made were merged into OpenROAD successfully. &lt;a href="https://github.com/The-OpenROAD-Project/OpenROAD/pull/7893" target="_blank" rel="noopener">PR Link&lt;/a>&lt;/p>
&lt;h2 id="makerows-demo-">makeRows demo :&lt;/h2>
&lt;p>One of our test cases involved generating rows for a &lt;strong>U-shaped die&lt;/strong>. Here is a snapshot from the OpenROAD gui displaying perfectly laid out rows:
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="U-test" srcset="
/report/osre25/openroad/20250803-gschaitanya/image_hu80377f8ad0fd7dd8cd93ba071f99d204_15398_f3394946aa9b2cf0185fac9d5ffdf4fd.webp 400w,
/report/osre25/openroad/20250803-gschaitanya/image_hu80377f8ad0fd7dd8cd93ba071f99d204_15398_b6ce6605882583b9dc669d52f2b53a54.webp 760w,
/report/osre25/openroad/20250803-gschaitanya/image_hu80377f8ad0fd7dd8cd93ba071f99d204_15398_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20250803-gschaitanya/image_hu80377f8ad0fd7dd8cd93ba071f99d204_15398_f3394946aa9b2cf0185fac9d5ffdf4fd.webp"
width="760"
height="495"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="next-steps">Next Steps&lt;/h2>
&lt;p>I am currently working on the pin placer (&lt;code>ppl&lt;/code>) module and extending it to support rectilinear floorplans. This requires a careful re-evaluation of each step, including the cost function used to optimize pin placement.&lt;/p></description></item><item><title>Rectilinear Floorplans in OpenROAD</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20250710-gschaitanya/</link><pubDate>Thu, 10 Jul 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20250710-gschaitanya/</guid><description>&lt;h1 id="google-summer-of-code-25-enabling-rectilinear-floorplanning-in-openroad">Google Summer of Code ‘25: Enabling Rectilinear Floorplanning in OpenROAD&lt;/h1>
&lt;p>This summer, under the guidance of my mentors Eder Monteiro and Augusto Berndt at the OpenROAD project, I am implementing support for &lt;strong>polygonal (specifically rectilinear) die shapes&lt;/strong> in OpenROAD’s floorplanning flow.&lt;/p>
&lt;p>Here’s a link to my original &lt;a href="https://summerofcode.withgoogle.com/programs/2025/projects/mcv3Hbgk" target="_blank" rel="noopener">proposal&lt;/a>&lt;/p>
&lt;h2 id="what-is-openroad-and-why-polygonal-floorplans">What is OpenROAD and why polygonal floorplans?&lt;/h2>
&lt;p>&lt;a href="https://github.com/The-OpenROAD-Project/OpenROAD" target="_blank" rel="noopener">OpenROAD&lt;/a> is a fully autonomous RTL-to-GDS digital layout toolchain. The OpenROAD flow delivers an Autonomous, No-Human-In-Loop (NHIL) flow, 24 hour turnaround from RTL-GDSII for rapid design exploration and physical design implementation.&lt;/p>
&lt;p>Until now, OpenROAD primarily supported rectangular die shapes in its floorplanning. This limits its use for &lt;strong>advanced packaging, 2.5D/3D ICs, or irregular chiplet-based designs&lt;/strong>, where non-rectangular dies are increasingly common.&lt;/p>
&lt;p>By extending the floorplanner to handle &lt;strong>rectilinear (non-manhattan, but still axis-aligned) dies&lt;/strong>, we open the door for a broader class of cutting-edge VLSI layouts.&lt;/p>
&lt;hr>
&lt;h2 id="motivation-and-what-gap-does-this-fill">Motivation and what gap does this fill?&lt;/h2>
&lt;p>From my background in electronics engineering, I’ve seen that advanced packaging hsd been unusual die shapes, whether for stacking, interposers, or simply to optimize area and thermal profiles.&lt;/p>
&lt;p>Right now, OpenROAD’s inability to handle these non-rectangular dies is a blocker for certain modern flows. My project directly addresses this by:&lt;/p>
&lt;ul>
&lt;li>Extending the Tcl and internal APIs to accept and validate polygonal die/core shapes.&lt;/li>
&lt;li>Modifying the row generation and site placement algorithms to conform to polygonal boundaries.&lt;/li>
&lt;li>Ensuring that all downstream modules (global placement, detailed placement, routing) can consume the new floorplan data structures without any issues.&lt;/li>
&lt;/ul>
&lt;h2 id="my-approach--engineering-plan">My approach &amp;amp; engineering plan&lt;/h2>
&lt;p>My work focuses on maintaining &lt;strong>robustness and backward compatibility&lt;/strong>, while introducing this major new feature.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Floorplan Input&lt;/strong>: Users can now specify die/core shapes as sequences of x/y coordinates (&lt;code>-die_polygon&lt;/code> and &lt;code>-core_polygon&lt;/code>) directly from the Tcl interface.&lt;/li>
&lt;li>&lt;strong>Data structures&lt;/strong>: Extend OpenROAD&amp;rsquo;s internal representations to store arbitrary rectilinear polygons and propagate these safely through the design pipeline.&lt;/li>
&lt;li>&lt;strong>Row Generation&lt;/strong>: Develop a new functions (&lt;code>make_polygon_rows&lt;/code>) to fill polygonal die areas with standard cell rows, properly clipped to the die shape.&lt;/li>
&lt;li>&lt;strong>Verification&lt;/strong>: Build rigorous regression and sanity checks. This includes both internal checks and external DEF writeouts that can be visualized in other tools.&lt;/li>
&lt;li>&lt;strong>Testing &amp;amp; Benchmarks&lt;/strong>: Prepare a suite of testcases (including complex T-shaped and L-shaped dies) to validate correctness.&lt;/li>
&lt;/ul>
&lt;p>I’m especially careful to keep the existing rectangular flow untouched. The new features only engage when the user explicitly specifies polygonal options.&lt;/p>
&lt;hr>
&lt;h2 id="acknowledgments">Acknowledgments&lt;/h2>
&lt;h2 id="alt-textimagepng">I’m deeply grateful to my mentors from the OpenROAD community who have given invaluable guidance - Eder Monteiro and Augusto Berndt. I’m also excited to contribute this to an open-source EDA project that’s shaping the future of accessible hardware design.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="alt text" srcset="
/report/osre25/openroad/20250710-gschaitanya/image_hu3983f54b17a85e6cd101e7150f8b73ae_74031_d7183809c372e014da49924eaae1da70.webp 400w,
/report/osre25/openroad/20250710-gschaitanya/image_hu3983f54b17a85e6cd101e7150f8b73ae_74031_3cff291d5bd14f465d9f073e03f2cf08.webp 760w,
/report/osre25/openroad/20250710-gschaitanya/image_hu3983f54b17a85e6cd101e7150f8b73ae_74031_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/openroad/20250710-gschaitanya/image_hu3983f54b17a85e6cd101e7150f8b73ae_74031_d7183809c372e014da49924eaae1da70.webp"
width="460"
height="460"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/h2></description></item><item><title>Memory Compiler in OpenROAD</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/ucsc/openroad/20240613-yashkumar3066/</link><pubDate>Thu, 13 Jun 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/ucsc/openroad/20240613-yashkumar3066/</guid><description>&lt;p>Greetings! I&amp;rsquo;m Yash Kumar working on the &lt;a href="project/osre24/openroad/openroad/">OpenROAD Memory Compiler Project&lt;/a> for which my &lt;a href="https://docs.google.com/document/d/1EGxLSYzVWMtBHmT6m3QQTBA_rqJnMB9qfqR51GSb71k/edit?usp=sharing" target="_blank" rel="noopener">proposal&lt;/a> under the mentorship of &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/matt-liberty/">Matt&lt;/a> and &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/austin-rovinski/">Austin&lt;/a> aims to enhance the OpenROAD flow by integrating a DFFRAM generator that extensively uses the OpenDB database to build and layout various memory components like bits, bytes, and 32x32 configurations and more. Taking inspiration from the work of the &lt;a href="https://github.com/AUCOHL/DFFRAM" target="_blank" rel="noopener">AUCOHL repository’s DFFRAM memory compiler&lt;/a>,&lt;/p>
&lt;p>The goal is to develop a DFF/Latch-based RAM that utilizes standard cell libraries. The compiler will generate different views (HDL netlist, functional models, LEF, DEF, Timing, etc.) for specified size configurations, targeting compact design and optimal routing. The compiler should work across various PDKs satrting with Sky130. My initial works tries to test the Bit and Byte level design.&lt;/p></description></item></channel></rss>