Ang Li
03/11/2022, 5:59 AMtile_clb) is hardened and replicated in a larger design (top, which will be instantiated in user_project_wrapper). The larger design also contains logic.
At this moment, we can get tile_clb DRC- and LVS-clean with openlane. Routing of tile_clb uses up to met2, except for 5 met4 tracks for PDN (auto-generated with the openlane flow, no hack in config.tcl). However, LEF LVS fails on top with a bunch of instance and net mismatches. The macros are manually placed in top, and we've been careful to avoid met4 PDN overlaps. Enough space is left between macros to make sure all met1 rails are connected to at least one met4 POWER and one met4 GROUND.
We've tried:
- Connecting the PDN pins in RTL (guarded with USE_POWER_PINS)
- Set FP_PDN_ENABLE_MACROS_GRID to 1 in top, and set FP_PDN_MACROS to the list of all macros
We haven't tried FP_PDN_MACRO_HOOKS, because slack history suggests that it is unnecessary if we have only one power domain and the pins are named vccd1 and vssd1.
OpenLane log shows that the number of instances match, but the number of nets mismatch (off by 2x number of hard macros). It seems that this is related to PDN, but after checking results/lvs/top.lvs.lef.log, a variety of instances are actually not matched.
Any insights? We'd be happy to share any logs if anyone offers help. Great thanks in advance!Mitch Bailey
03/11/2022, 6:38 AMMitch Bailey
03/11/2022, 7:53 AMgds/user_project_wrapper.gds matches verilog/gl/user_project_wrapper.v from your repo. I see no top blocks. I'm on e8d85b8681b98f3ef613591326f13b72a9f197f5 (HEAD -> prga-mpw-5b.Dinesh A
03/11/2022, 9:06 AMGeorgios T
03/11/2022, 1:44 PMprga submodule which will be integrated with the wrapper as a next step.Ang Li
03/11/2022, 2:31 PMtop which is under openlane/prga at the moment. unfortunately no gds is generated for top yetAng Li
03/11/2022, 2:37 PMtop and see if that's the reasonMitch Bailey
03/11/2022, 2:38 PMAng Li
03/11/2022, 2:39 PMruns folder?Ang Li
03/11/2022, 2:39 PMmake prga can reproduce the problem, but synthesis takes some serious time.Ang Li
03/11/2022, 2:44 PMMitch Bailey
03/11/2022, 2:56 PMMitch Bailey
03/11/2022, 2:57 PMAng Li
03/11/2022, 2:58 PMtop.lvs.powered.v under runs/results/lvs, and top.gds ,top.lef, top.lef.mag, top.lef.spice, top.mag and top.spice under runs/results/magic. I'll share these files. @User is not working with us πAng Li
03/11/2022, 3:02 PMAng Li
03/11/2022, 3:07 PMAng Li
03/11/2022, 3:28 PMMitch Bailey
03/11/2022, 4:42 PMtile_clb also.Ang Li
03/11/2022, 4:43 PMAng Li
03/11/2022, 4:45 PMcaravel/spi/lvs , but it's not added into the config.tcl of top, so I don't know if top is reading itAng Li
03/11/2022, 4:46 PMMitch Bailey
03/11/2022, 4:52 PMtile_clb
Net: i_tile_x3y3/vssd1 |(no matching net)
tile_clb/vssd1 = 1 |
|
Net: i_tile_x3y3/vccd1 |(no matching net)
tile_clb/vccd1 = 1 |
|
I'll look at the gds.Ang Li
03/11/2022, 4:58 PMAng Li
03/11/2022, 4:58 PMMitch Bailey
03/11/2022, 4:59 PMtile_clb are not connected to caravel power.Ang Li
03/11/2022, 4:59 PMMitch Bailey
03/11/2022, 5:02 PMAng Li
03/11/2022, 5:05 PMAng Li
03/11/2022, 5:06 PMAng Li
03/11/2022, 5:08 PMFP_PDN_ENABLE_MACRO_GRID and FP_PDN_MACROS do?Mitch Bailey
03/11/2022, 5:13 PMtile_clb.spice file above is extracted from the layout. The other tile_clb verilog files appear to be rtl. Do you have gl verilog? That's what's needed for LVS.Ang Li
03/11/2022, 5:13 PMAng Li
03/11/2022, 5:13 PMDinesh A
03/11/2022, 5:32 PMMitch Bailey
03/11/2022, 5:38 PMtop is the cell name.Ang Li
03/11/2022, 5:38 PMmake prga or make user_project_wrapper? we haven't started working on the wrapper yetMitch Bailey
03/11/2022, 5:41 PMAng Li
03/11/2022, 5:43 PMMitch Bailey
03/11/2022, 5:44 PMAng Li
03/11/2022, 5:45 PMtop, or I should customize pdn generation within tile_clb?Ang Li
03/11/2022, 5:46 PMtile_clb routes up to met2, my hunch is that doing so at top is easier?Mitch Bailey
03/11/2022, 6:12 PMtile_clb. Connect those, and you should be good to go.Ang Li
03/11/2022, 6:26 PMAng Li
03/12/2022, 4:36 PMtile_clb PDN to using met2/met3, and connect met3 to the met4 PDN in top. LVS can pass now. There are some hold violations that I need to look into, but they should be unrelated to the PDN. Thanks for your help!