Hi, I am Mayank and I was implementing RISCV core ...
# openlane
m
Hi, I am Mayank and I was implementing RISCV core on openlane. I m facing the following issue while running run_floorplan. Can anyone help me out ?
m
You can look at the floorplan in the openroad gui. Maybe the sram macro is too close to the edges. Maybe use a macro placement file to manually place.
m
But I am not sure what those values should be for manual placement ?
m
If you only have one macro, you could try placing it in the center.
x  = ( DIE_AREA width / 2  ) - ( macro width / 2 )
y  = ( DIE_AREA height /  2 )  - ( macro_height / 2 )
m
I have 2 macros of size 2 kbyte sram. I am using the following config file and it is still giving me routing congestion too high
m
I don’t see a placement file setting
MACRO_PLACEMENT_CFG
. You can view the placement data and show flylines to see congestion where the macros may be too close together or to the boundary. Use
Copy code
find . -name '*.odb'
to find your openroad databases. From your cloned
user_project_wrapper
directory.
Copy code
export $UPRJ_ROOT=$PWD
cd $OPENLANE_ROOT
make mount
openroad -gui
once you’ve opened a database, you can use
Copy code
select -type Net -name * -highlight 1
in the console, to see the flylines and guess the congestion areas.
m
So these are the two srams that I am using and I have place it far apart .. According to their lef file, the size is 479.78 by 397.5 and my die area is 0 0 3200 3200. My PL_TARGET_DENSITY = 0.5 and I kept core util to 10. But still routing congestion is too high .. Any hints where I am going wrong. I tried to check the above option but I am not able to open the gui.
m
The pins to the macro are generally around the edges of the chip. If the macros are placed too close to the edge, there may not be enough space to route to every pin. This can cause congestion errors. What error do you get when opening the gui?
m
But the macros are not close to edges as die area is 3200 3200 and i am placing sram macro at 800, 1600 and 2400,1600 .. basically left and right
The error while opening the gui is in the issue no 1149. But I am unable to solve this by the given solution.
IMG_20230918_160632.jpg
m
Can you show the exact commands you’re using to access the openroad gui? Is it this from the
caravel_user_project
clone directory?
Copy code
export $UPRJ_ROOT=$PWD
cd $OPENLANE_ROOT
make mount
openroad -gui
m
No this is not an openroad caravel project. This is openlane RTL-to-GDSII
m
Openlane uses openroad under the hood. You should be able to use the openroad gui as above. Let me know if you have problems.
m
I am facing this issue ..
m
Apologies. I have locally patched the
openlane/Makefile
to mount
UPRJ_ROOT
.
Copy code
ENV_START = docker run --rm\
        -v $(OPENLANE_DIR):/openlane\
        -v $(OPENLANE_DIR)/designs:/openlane/install\
+       -v $(UPRJ_ROOT):/openlane/user_project\
        $(PDK_OPTS)\
        $(STD_CELL_OPTS)\
        $(DOCKER_OPTIONS)
What version of openlane are you using?
Copy code
cd $OPENLANE_ROOT
git log | head
The only thing I’m suggesting to run after
make mount
is
openroad -gui
. I’m not suggesting you run
flow.tcl
there. There has been a relatively recent
gui.py
addition somewhere that allows the same thing, but I have not looked into that.