Questions about OpenROAD and OpenROAD-flow-scripts. OpenLane questions should be posted on the SkyWater130 Slack
Hi,
could anyone please help me?
I was generating some reports and saving them into separated files with an old version.
Using the new OpenROAD Version 2b735353d335c9321f67731e56d2d61b4c8b78d2, the following commands do not work anymore :
report_power -digits 7 >> power.rpt
with_output_to_variable r "report_power -digits 7 "
puts $r
(the report command runs successfully, but the file power.rpt is empty and $r prints an empty line)
Does some know how to save the output to report_* to separated files?
Thanks and sorry for the dumb question!
M1 MacBook MacOS Monterey 12.3
build_openroad.sh --local gets very far, but then fails to find the lemon includes.
I've manually installed lemon-1.3.1 in OPENROAD directory parallel to OpenRoad-flow-scripts.
Setting LEMOND_DIR to the cmake directory doesn't seem to be sufficient.
What am I missing ?
cd OpenROAD-flow-scripts
export LEMON_DIR=<abs-path>/OpenROAD/lemon-1.3.1/build/cmake
./build_openroad.sh --local
....
[ 95%] Built target rmp
OpenROAD-flow-scripts/tools/OpenROAD/src/dpo/src/detailed_mis.cxx:48:10: fatal error: 'lemon/cost_scaling.h' file not found
After installing lemon correctly, build_openroad.sh --local did build the openroad and sta executables on a M1, but it got stuck compiling LSOracle.
Does anybody familiar with how the cxx flags get generated with cmake how to change -march=native to -mcpu=apple-a14 ?
[INFO FLW-0019] Compiling LSOracle.
-- Build type is 'RELEASE'
-- CMAKE_CXX_FLAGS_RELEASE: -O3 -DNDEBUG -O3 -mtune=native -march=native
[ 50%] Building CXX object lib/kahypar/CMakeFiles/mini_boost.dir/program_options/src/positional_options.cpp.o
clang: error: the clang compiler does not support '-march=native'
Hello everyone!
I'm in the process of bringing up a new platform which is going well. I am running into a problem with a local interconnect layer which is specified as a masterslice with LEF58_TYPE
= MEOL
. OpenDB complains that there is a parse mismatch for this lil
layer.
If I add this lil
layer as a routing layer then OpenDB complains that it is not a routing layer. If I don't add lil
as a routing layer, then TritonRoute gives an error that it cannot find layer lil
for viarule that connects lil
to the first metal layer.
Did anyone else run into a similar problem? If so, how did you solve it?
I have installed the yosys-uhdm plugin so that I could read SystemVerilog source files directly during synthesis.
I am using the ORFS.
I use -m systemverilog to load the systemverilog plugin during Yosys startup.
I have the following lines in my design/config.mk file
export YOSYS_READ_SV = 1
export VERILOG_FILES = /full_path_to_rtl/my_defs_pkg.sv \
/full_path_to_rtl/module1.sv \
/full_path_to_rtl/module2.sv \
/full_path_to_rtl/top.sv
I have also modified the file scripts/synth_preamble.tcl to look like this:
if {[info exist ::env(YOSYS_READ_SV)]} {
# Read SystemVerilog Files
# ======> Trial 1) This does not work either <========
#read_systemverilog -defer {*}$vIdirsArgs -DSYNTHESIS -sverilog $::env(VERILOG_FILES)
# ======>Trial 2) This does not work <================
#foreach file $::env(VERILOG_FILES) {
#read_systemverilog -defer -verbose -d 2 {*}$vIdirsArgs -DSYNTHESIS -sv $file
#
#}
# =====> Trial 3) This works but it is now what I want <========================
read_systemverilog -DSYNTHESIS -sv {*}$vIdirsArgs \
/full_path_to_rtl/my_defs_pkg.sv \
/full_path_to_rtl/module1.sv \
/full_path_to_rtl/module2.sv \
/full_path_to_rtl/top.sv
} else {
#Read verilog files
foreach file $::env(VERILOG_FILES) {
read_verilog -defer -sv {*}$vIdirsArgs $file
}
}
I don't know if this is an issue with the way the variable $::env(VERILOG_FILES) is passed to read_systemverilog or something else
but:
for trial 1) above, the script complains that the file 'all_the_files_names_together_separated_with_a_blank' cannot be found for read
For trial 2) the lower level modules (module1.sv and module2.sv) are not elaborated/compiled and I also get the message [ERR:EL0528] undefined package "my_desf_pkg".
Trial 3 works but it is not exactly what I am looking for since I am hard coding the file names in the synthesis script.
Could someone shed some light on what is going on here?