manili
01/25/2023, 2:00 PM.vh
files at all, because you didn’t mention the “include” folder. And there might be some other issues like this.Mihai Hurdugaciu
01/25/2023, 2:21 PM. /flow.tcl -interactive
% package require openlane 0.9
% prep -design controller -tag RUN_2023.01.25_09.43.04 -overwrite
% run_synthesis
I had also the use case when in the /src folder I had just vsdmemsoc.v, rvmyth.v, clk_gate, rvmyth_gen.v
but I got the error that .vh
file is missing . The .vh
files are link from my understanding from include
used in verilog file.
Additional I do not use an include folder because I saw here something about not supporting this. https://openlane.readthedocs.io/en/latest/usage/chip_integration.htmlmanili
01/25/2023, 3:17 PM"VERILOG_FILES": "dir::src/*.v"
but I think you also need to add "VERILOG_INCLUDE_DIRS": "dir::src"
if you put all .v
and .vh
files in dir::src
directory. For more info please take a look at the following link:
https://github.com/manili/vsdmemsoc_mpw3/blob/4a9859d60fed5eb33fddc2e32b0f016d11bb6834/openlane/user_proj_example/config.tcl
Specifically L28.
I don’t know what do they actually mean by the following statement in the link:
* The `include directive is not supported.
but I’m pretty much sure that you need the `include syntax to be able to synthesize your design and the VERILOG_INCLUDE_DIRS
option is actually part of the OpenLane’s configuration for synthesis (check the link). Maybe @Vijayan Krishnan have some ideas about this statement?Mihai Hurdugaciu
01/25/2023, 5:45 PMVijayan Krishnan
01/26/2023, 1:39 PMMihai Hurdugaciu
01/26/2023, 1:47 PMconfig.tcl
variant. But I saw in the documentation that .json
is preferred.
{
"DESIGN_NAME": "vsdmemsoc",
"VERILOG_INCLUDE_DIRS": "dir::src/include",
"VERILOG_FILES": "dir::src/*.v",
"CLOCK_PORT": "CLK",
"CLOCK_PERIOD": 10,
"EXTRA_LIBS": "dir::src/libs/*.lib",
"DESIGN_IS_CORE": true
}
Mihai Hurdugaciu
01/30/2023, 11:03 AMconfig.json
and I do not get a correct synthesis , I still need some help what to check the log file for debug:
config. json
{
"DESIGN_NAME": "vsdmemsoc",
"VERILOG_INCLUDE_DIRS": "dir::src/include",
"VERILOG_FILES": [
"dir::src/module/*.v",
"dir::src/module/compiled_tlv/rvmyth.v",
"dir::src/include/*.v"
],
"EXTRA_LEFS": "dir::src/lef/*.lef",
"EXTRA_GDS_FILES": "dir::src/gds/*.gds",
"CLOCK_PORT": "CLK",
"CLOCK_PERIOD": 10,
"VDD_NETS": "vccd1",
"GND_NETS": "vssd1",
"FP_PDN_MACRO_HOOKS": "mem vccd1 vssd1 vccd1 vssd1",
"DESIGN_IS_CORE": true
}
Vijayan Krishnan
01/30/2023, 11:29 AMMihai Hurdugaciu
01/30/2023, 11:58 AMVERILOG_FILES_BLACKBOX": "dir::src/include/sram_32_256_sky130A.v"
variable and I got a relevant report. Thnaks