Mitch Bailey
12/06/2023, 4:48 PMenv | grep COMMIT
env | grep TAG
echo $PDK
and then
curl <https://raw.githubusercontent.com/efabless/caravel_user_project/gf180mcu/Makefile> > Makefile
make setup
Be warned that the CVC/OEB check will fail if there are 3v devices. If you really need 3v devices, I can provide a local patch.
Also be warned that the sram’s in the pdk will extract as 3v devices unless you provide instructions for flattening.
In the lvs/user_project_wrapper/lvs_config.json
file, add
"SRAM_MACRO": "sram256x8m8wm1",
"INCLUDE_CONFIGS": [
"$LVS_ROOT/tech/$PDK/lvs_config.sram.json"
],
Amro Tork
12/06/2023, 5:43 PMDiego Satizabal
12/06/2023, 8:05 PMLab Lecture
12/07/2023, 6:47 AMMitch Bailey
12/07/2023, 12:21 PMLVS_ROOT
is defined as $PRECHECK_ROOT/checks/be_checks
. The default location for PRECHECK_ROOT
is $HOME/mpw_precheck
Please be user to use the gfmpw-1d
version of the caravel_user_project/Makefile
.Luke Vassallo
12/08/2023, 8:11 AMMitch Bailey
12/08/2023, 8:20 AMLuke Vassallo
12/08/2023, 8:49 AMMitch Bailey
12/08/2023, 9:29 AMlvs/user_project_wrapper/lvs_config.json
file.
"SRAM_MACRO": "sram512x8m8wm1",
"INCLUDE_CONFIGS": [
"$LVS_ROOT/tech/$PDK/lvs_config.sram.json"
],
Mitch Bailey
12/08/2023, 9:31 AMLuke Vassallo
12/08/2023, 11:11 AMERROR: Could not find /home/luke/work/asic/caravel_user_project-1d/precheck_results/08_DEC_2023___10_53_19/tmp/cvc.power.gf180mcu_fd_ip_sram__sram512x8m8wm1
The tmp directory is non-existing.Mitch Bailey
12/08/2023, 1:25 PMlvs/user_project_wrapper/lvs_config.json
file?Luke Vassallo
12/08/2023, 1:54 PMMitch Bailey
12/08/2023, 2:13 PMActually, the srams are using 5V devices but the implant layers are on a different hierarchy so they are incorrectly extracted as 3.3V devices. The solution is to add the following lines at the beginning of yourThe order is important.file.lvs/user_project_wrapper/lvs_config.json
Luke Vassallo
12/08/2023, 7:17 PMlvs.log
shows no errors, and all lvs checks carried out by openlane are successfullLuke Vassallo
12/08/2023, 7:18 PMLVS_check.log
and lvs.log
files as well as the updated lvs_config.json
Mitch Bailey
12/08/2023, 10:34 PMWarning: device level LVS may be incomplete due to 16 unflattened cell(s): see /home/luke/work/asic/caravel_user_project-1d/precheck_results/08_DEC_2023___18_58_06/outputs/reports/lvs.unflattened
You can check lvs.unflattened
and add those to LVS_VERILOG_FILES
in lvs_config.json
.
Be sure to list the lower level verilog modules before the parent modules.Luke Vassallo
12/09/2023, 3:07 PMuser_project_wrapper
file is giving DEVICE mismatches
and then listing all four SRAM instances I have in my design. It seems that there is some issue with the names. I've attached the report:
line 6632 states the netlist mismatch, while line 7264 states the device mismatch.
It seems that multiple instances of the same module, connected with subsets of the same signal is the issue ...Mitch Bailey
12/09/2023, 3:20 PMlvs_config.json
file(s)?Luke Vassallo
12/09/2023, 5:06 PMMitch Bailey
12/09/2023, 9:32 PMBe sure to list the lower level verilog modules before the parent modules.The config file currently has the top level first.
Luke Vassallo
12/10/2023, 1:08 AMgf180mcu_fd_ip_sram__sram512x8m8wm1.v
which I copied from the PDK into my design directory. When I harden my wrapper design, I only get a a gate level verilog file for the wrapper.
lvs.unflattened
lists two unflattened devices:
gf180mcu_fd_ip_sram__sram512x8m8wm1 is a black box in the source
gf180mcu_fd_ip_sram__sram512x8m8wm1 contains no devices
Mitch Bailey
12/10/2023, 8:19 AM"SRAM_MACRO": "gf180mcu_fd_ip_sram__sram512x8m8wm1",
Luke Vassallo
12/10/2023, 10:00 AMLinen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.
Powered by