Closed 13vaidehi closed 2 years ago
Usually this comes up because you have a 1'b1 or 1'b0 in your netlist. What flow are you using to run synthesis?
I synthesised I checked my netlist, it doesn't contain a 1'b1 or 1'b0. I used yosys to synthesis netlist
I used thsi flow.
We usually use this in synthesis to handle tying off constants:
hilomap -singleton \
-hicell {*}$::env(TIEHI_CELL_AND_PORT) \
-locell {*}$::env(TIELO_CELL_AND_PORT)
@13vaidehi Are you using OpenROAD standalone for PnR or along with OpenLane flow?
If there are un-connected nets its will be converted tie high/low. It will capture as one_
or zero_
in DEF file. Check your netlist and global routing DEF file for one_
I am just using OpenROAD for PnR
@13vaidehi Have you checked DEF file? Share the netlist and DEF to debug the issue.
Use the @maliberty suggestion during synthesis and start the PnR again
We usually use this in synthesis to handle tying off constants:
hilomap -singleton \ -hicell {*}$::env(TIEHI_CELL_AND_PORT) \ -locell {*}$::env(TIELO_CELL_AND_PORT)
I tried this, I still have the same error
@13vaidehi Have you checked DEF file? Share the netlist and DEF to debug the issue.
Use the @maliberty suggestion during synthesis and start the PnR again
/home/vaidehi/Downloads/leaf-mpw6-main/def/leaf_chip.def This is my def file.
/home/vaidehi/Documents/leaf_chip.v This is the netlist after using the hilo command during synthesis.
This how the error looks in gui
@13vaidehi Upload the zip file here by drag and drop
@13vaidehi Can you share complete flow script what you used with all required inputs? Which version of OpenROAD currently used?
tcl file that calls all necessary files.zip file that has flow.zip file with all the necessary files and data for flow.zip
0cc525594fe7106e680cb4ac0840a3e41f4dc187 This is the version I am using
@13vaidehi
Following block causing the issue with 'h
down_counter_3 tx_counter (
.clk(clk),
.clr(curr_state[0]),
.en(tx_counter_en),
.load(3'h7),
.mode(1'h0),
.val(\tx_counter:798 )
);
piso_8 tx_piso (
.clk(clk),
.clr(curr_state[0]),
.en(tx_piso_en),
.load(rd_data),
.mode(curr_state[2]),
.ser(\tx_piso:818 )
);
assign _094_[0] = reset;
assign _104_[1] = 1'h0;
assign _119_[0] = reset;
assign _120_[1] = reset;
assign _121_[0] = reset;
assign { _122_[2], _122_[0] } = { next_state[2], next_state[0] };
assign { _127_[14:11], _127_[8:7], _127_[4:3], _127_[1] } = { 2'h0, curr_state[0], 2'h0, curr_state[2], _105_[0], _105_[0], 1'h0 };
assign _128_[2:1] = { _104_[0], _106_ };
assign _02_[2:1] = { 1'h0, rd_en };
Use insert_tiecells
feature from openroad to avoid routing issue.
Can you help me with the exact use of insert_tiecells? I am confused where to use it?
https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/src/ifp#inserting-tieoff-cells Documentation here. It should be done during floorplan itself.
Missing your sdc file in the attachment.
What will be the master and output port in this case?
@13vaidehi Are you trying this design https://github.com/daniel-santos-7/leaf-mpw6?
Yes, this is the design I am trying
insert_tiecells sky130_fd_sc_hd__conb_1/HI -prefix "TIE_ONE_"
Use above line after initialize_floorplan
share sdc file
@13vaidehi Have you tried same design with OpenLane flow? Its already passed routing stage.
@13vaidehi Test your design with OpenLane flow and let me know.
insert_tiecells sky130_fd_sc_hd__conb_1/HI -prefix "TIE_ONE_"
Use above line after
initialize_floorplan
share sdc file
I did this the issue still remains
@13vaidehi Have you tried same design with OpenLane flow? Its already passed routing stage.
I haven't tried this with OpenLane flow. If I am not wrong OpeLane will do the synthesis to routing stage right?
This is the error and the line that the error indicates
@13vaidehi Have you tried same design with OpenLane flow? Its already passed routing stage.
I haven't tried this with OpenLane flow. If I am not wrong OpeLane will do the synthesis to routing stage right?
Install openlane from here: https://github.com/The-OpenROAD-Project/OpenLane#prerequisites Just pass your verilog RTL into src directory and run the flow. All in one docker till GDS generation
Is this the only way to go about this issue? I wanted to use OpenROAD specifically for PnR.
@13vaidehi
I have modified few things wrt., your flow.tcl
script and now detail routing working fine. Used the updated flow.tcl
and let me know.
Is your results
directory contains all the DB files?
This is the error and the line that the error indicates
It is because of special nets. nets not tied properly. With the insert_tiecells
its working fine now. Check my flow.tcl
attached.
I used the updated flow, this is the new error I encountered.
Guide file could not be opened. Check guide file name is correct or not?
On Fri, Jul 8, 2022, 10:21 PM 13vaidehi @.***> wrote:
[image: Screenshot (250)] https://user-images.githubusercontent.com/100420392/178036099-26bb3d5a-373a-47eb-ae1e-4f704223e65a.png I used the updated flow, this is the new error I encountered.
— Reply to this email directly, view it on GitHub https://github.com/The-OpenROAD-Project/OpenROAD/issues/2039#issuecomment-1179188786, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUOQKCJJ7I7UR34EINS7BY3VTBMBDANCNFSM525AYR2A . You are receiving this because you were assigned.Message ID: @.***>
@13vaidehi Hope you can able to complete the routing.
Even after numerous attempts, the error still remains. The error isn't in the guide file name
@13vaidehi Can you share your flow.tcl and detailed routing log?
I suggest you switch to https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts as it is a more complete production flow versus the unit test flow you seem to be using. Your tarball doesn't include your netlist and isn't usable as a test case.
With ORFS you can package a test case easily with the _issue targets.
I will switch to the flow scripts, but can you once have a look and tell me if its not debuggable at all
@13vaidehi At my end i'm not facing any issues with detail routing.
update following part and run again:
# Global routing
pin_access
set route_guide "./lc_route_guide.guide"
global_route -guide_file $route_guide \
-congestion_iterations 100
set verilog_file "lc.v"
write_verilog -remove_cells $filler_cells $verilog_file
################################################################
# Antenna repair
check_antennas
utl::metric "GRT::ANT::errors" [ant::antenna_violation_count]
#repair_antennas
################################################################
# Detailed routing
set_thread_count [exec getconf _NPROCESSORS_ONLN]
detailed_route -guide $route_guide \
-output_guide "./lc_output_guide.mod" \
-output_drc "./lc_route_drc.rpt" \
-output_maze "./lc_maze.log" \
-verbose 1
Remove following lines from flow.tcl
set output_guide [make_result_file ${design}_${platform}_output_guide.mod]
write_guides $output_guide
I will do it. Did you run it on OpenROAD?
@13vaidehi Yes.
How do I change the permission of a file that is being created?
check the results
directory access/permissions.
that's why suggesting to use tested script wrapper from https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts
What ever variable you're passing, same thing you can use in that ORFS flow itself/ its already pre-defined. its easy to track and all required inputs and configuration path set properly.
What is your final goal?
@13vaidehi are you able to fix the access issue?
Closing this issue its passed routing stage.
While using OpenROAD for PnR of leaf chip using sky130hd pdk, an error saying net not routable occures, how to solve this issue. This is the error displayed. [ERROR DRT-0305] Net one_ of signal type POWER is not routable by TritonRoute. Move to special nets. [ERROR GUI-0070] Error: flow.tcl, 193 DRT-0305
How to solve this