Caravan top lvs (#67)

* - update caravan configuration
* change correct gpio_default blocks instance names
* implement powerrouting work around
* place spare logic blocks
* keep the history of runs and sym link last/final one

* - update caravan mag, def and gl views
- add fake power routing cell in the rtl as a placeholder for openlane
  to prevent routing on that cell
- fix some syntax errors in chip_io_alt
- match simple_por lef pins with mag by regenerating it

* Apply automatic changes to Manifest and README.rst

* add caravan power routing lef

* - update mag and def view of caravan
- add_macro_placement for fake cell

* Added back the power routing to Caravan, fixed DRC errors, ran LVS,
corrected placement of isolated substrate regions, and replaced the
signal routing for the analog lines.  Be aware that merging with
main may cause issues with the mgmt_protect.mag file and its
subcells mprj2_logic_high.mag and mprj_logic_high.mag.  It may be
worth cherry-picking the files to merge and exclude those layouts.

Co-authored-by: kareem <kareem.farid@efabless.com>
Co-authored-by: kareefardi <kareefardi@users.noreply.github.com>
Co-authored-by: Jeff DiCorpo <42048757+jeffdi@users.noreply.github.com>
This commit is contained in:
R. Timothy Edwards 2022-04-14 18:05:16 -04:00 committed by GitHub
parent b707fbd9b9
commit 71600440bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 68613 additions and 65147 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,306 @@
magic
tech sky130A
magscale 1 2
timestamp 1649950523
<< checkpaint >>
rect 39764 415548 677806 997846
<< metal3 >>
tri 81502 983518 82144 984160 se
rect 82144 984060 87144 997762
rect 82144 983518 86502 984060
rect 81502 982718 86502 983518
tri 86502 983418 87144 984060 nw
rect 133544 983518 138544 997772
rect 133502 983382 138544 983518
rect 184944 983518 189944 997736
rect 221000 995620 235279 997736
rect 221000 993820 221400 995620
rect 234879 993820 235279 995620
rect 221000 993420 235279 993820
tri 221000 983518 230902 993420 ne
rect 230902 983518 235279 993420
rect 235579 984141 237779 997736
tri 235579 983518 236202 984141 ne
rect 236202 983518 237779 984141
rect 237978 984242 240178 997736
tri 237978 983868 238352 984242 ne
rect 238352 983868 240178 984242
rect 240478 995620 254800 997736
rect 240478 993820 240878 995620
rect 254357 993820 254800 995620
rect 240478 992116 254800 993820
rect 240478 984242 246202 992116
tri 240478 983868 240852 984242 ne
rect 240852 983868 246202 984242
tri 237779 983518 238129 983868 sw
tri 238352 983518 238702 983868 ne
rect 238702 983518 240178 983868
tri 240178 983518 240528 983868 sw
tri 240852 983518 241202 983868 ne
rect 184944 983452 190502 983518
rect 133502 982718 138502 983382
rect 185502 982718 190502 983452
rect 230902 982718 235902 983518
rect 236202 982718 238402 983518
rect 238702 982718 240902 983518
rect 241202 982718 246202 983868
tri 246202 983518 254800 992116 nw
rect 273600 995620 287879 997754
rect 273600 993820 274000 995620
rect 287479 993820 287879 995620
rect 273600 992520 287879 993820
tri 273600 983518 282602 992520 ne
rect 282602 983795 287879 992520
rect 282602 982718 287602 983795
tri 287602 983518 287879 983795 nw
rect 288179 983795 290379 997754
tri 287979 983518 288179 983718 se
rect 288179 983518 290102 983795
tri 290102 983518 290379 983795 nw
rect 290578 983694 292778 997754
tri 290402 983518 290578 983694 se
rect 290578 983518 292602 983694
tri 292602 983518 292778 983694 nw
rect 293078 995620 307400 997754
rect 293078 993820 293478 995620
rect 306957 993820 307400 995620
rect 293078 993016 307400 993820
rect 293078 983518 297902 993016
tri 297902 983518 307400 993016 nw
rect 375400 995620 389679 997722
rect 375400 993820 375800 995620
rect 389279 993820 389679 995620
rect 375400 992420 389679 993820
tri 375400 983518 384302 992420 ne
rect 384302 983895 389679 992420
rect 287902 982718 290102 983518
rect 290402 982718 292602 983518
rect 292902 982718 297902 983518
rect 384302 982718 389302 983895
tri 389302 983518 389679 983895 nw
rect 389979 983895 392179 997722
tri 389699 983518 389979 983798 se
rect 389979 983794 392078 983895
tri 392078 983794 392179 983895 nw
rect 392378 983794 394578 997722
rect 389979 983518 391802 983794
tri 391802 983518 392078 983794 nw
tri 392102 983518 392378 983794 se
rect 392378 983518 394302 983794
tri 394302 983518 394578 983794 nw
rect 394878 995620 409200 997722
rect 394878 993820 395278 995620
rect 408757 993820 409200 995620
rect 394878 993116 409200 993820
rect 394878 983518 399602 993116
tri 399602 983518 409200 993116 nw
rect 478744 983518 483744 997704
rect 389602 982718 391802 983518
rect 392102 982718 394302 983518
rect 394602 982718 399602 983518
rect 478702 983384 483744 983518
rect 530144 984064 535144 997792
tri 530144 983506 530702 984064 ne
rect 530702 983518 535144 984064
tri 535144 983518 535702 984076 sw
rect 478702 982718 483702 983384
rect 530702 982718 535702 983518
rect 575700 983678 580479 995092
tri 575700 983476 575902 983678 ne
rect 575902 983518 580479 983678
tri 580479 983518 580702 983741 sw
rect 575902 982718 580702 983518
rect 585678 983700 590458 995092
tri 585678 983476 585902 983700 ne
rect 585902 983518 590458 983700
tri 590458 983518 590702 983762 sw
rect 631944 983518 636944 997846
rect 585902 982718 590702 983518
rect 631902 983374 636944 983518
rect 631902 982718 636902 983374
rect 39764 963960 63464 965144
tri 63464 963960 64648 965144 sw
rect 39764 960144 65308 963960
tri 63325 958961 64508 960144 ne
rect 64508 958960 65308 960144
rect 649308 961656 650108 961702
rect 649308 956702 677806 961656
rect 650016 956656 677806 956702
rect 64508 926940 65308 927360
rect 46756 922560 65308 926940
rect 46756 922151 64552 922560
rect 649308 922502 650108 923302
tri 650108 922502 650908 923302 sw
rect 649308 918502 670780 922502
tri 649926 917700 650728 918502 ne
rect 650728 917700 670780 918502
rect 64508 916900 65308 917361
rect 46756 912560 65308 916900
rect 46756 912100 64560 912560
rect 649308 912449 650108 913302
tri 650108 912449 650961 913302 sw
rect 649308 908502 670788 912449
tri 649934 907660 650776 908502 ne
rect 650776 907660 670788 908502
tri 64006 842458 64508 842960 se
rect 64508 842458 65308 842960
rect 49892 838160 65308 842458
rect 49892 837678 64152 838160
tri 64152 837678 64634 838160 nw
rect 649308 833301 650108 834080
tri 64027 832479 64508 832960 se
rect 64508 832479 65308 832960
rect 49892 828160 65308 832479
rect 649308 829280 667192 833301
rect 649858 828521 667192 829280
rect 49892 828159 64634 828160
rect 49892 827699 64174 828159
tri 64174 827699 64634 828159 nw
rect 649308 823322 650108 824080
rect 649308 819280 667192 823322
rect 649858 818542 667192 819280
rect 649308 518701 650108 518748
rect 649308 513948 667116 518701
rect 650058 513921 667116 513948
rect 649308 508722 650108 508748
rect 649308 503948 667124 508722
rect 650066 503942 667124 503948
tri 63960 497858 64508 498406 se
rect 64508 497858 65308 498406
rect 52228 493606 65308 497858
rect 52228 493078 64012 493606
tri 64012 493078 64540 493606 nw
tri 63982 487879 64508 488405 se
rect 64508 487879 65308 488406
rect 52236 483606 65308 487879
rect 52236 483099 64041 483606
tri 64041 483099 64548 483606 nw
rect 649308 474700 650108 474948
rect 649308 470148 670778 474700
rect 650042 469900 670778 470148
rect 649308 464649 650108 464948
rect 649308 460148 670778 464649
rect 650042 459860 670778 460148
tri 63842 455740 64508 456406 se
rect 64508 455740 65308 456406
rect 46742 451606 65308 455740
rect 46742 450951 63927 451606
tri 63927 450951 64582 451606 nw
tri 63802 445700 64508 446406 se
rect 64508 445700 65308 446406
rect 46768 441606 65308 445700
rect 46768 440900 63858 441606
tri 63858 440900 64564 441606 nw
rect 650068 430348 663976 430501
rect 649308 425562 663976 430348
rect 649308 425548 650108 425562
rect 650058 420348 663966 420522
rect 649308 415742 663966 420348
rect 649308 415548 650108 415742
<< via3 >>
rect 221400 993820 234879 995620
rect 240878 993820 254357 995620
rect 274000 993820 287479 995620
rect 293478 993820 306957 995620
rect 375800 993820 389279 995620
rect 395278 993820 408757 995620
<< metal4 >>
rect 221000 995620 235279 996020
rect 221000 993820 221400 995620
rect 234879 993820 235279 995620
rect 221000 993420 235279 993820
tri 221000 983518 230902 993420 ne
rect 230902 983518 235279 993420
rect 240478 995620 254757 996020
rect 240478 993820 240878 995620
rect 254357 993820 254757 995620
rect 273600 995620 287879 996020
rect 273600 993820 274000 995620
rect 287479 993820 287879 995620
rect 240478 992116 254800 993820
rect 240478 984242 246202 992116
tri 240478 983518 241202 984242 ne
rect 230902 982718 235902 983518
rect 241202 982718 246202 984242
tri 246202 983518 254800 992116 nw
rect 273600 992520 287879 993820
tri 273600 983518 282602 992520 ne
rect 282602 983795 287879 992520
rect 282602 982718 287602 983795
tri 287602 983518 287879 983795 nw
rect 293078 995620 307357 996020
rect 293078 993820 293478 995620
rect 306957 993820 307357 995620
rect 375400 995620 389679 996020
rect 375400 993820 375800 995620
rect 389279 993820 389679 995620
rect 293078 993016 307400 993820
rect 293078 983518 297902 993016
tri 297902 983518 307400 993016 nw
rect 375400 992420 389679 993820
tri 375400 983518 384302 992420 ne
rect 384302 983895 389679 992420
rect 292902 982718 297902 983518
rect 384302 982718 389302 983895
tri 389302 983518 389679 983895 nw
rect 394878 995620 409157 996020
rect 394878 993820 395278 995620
rect 408757 993820 409157 995620
rect 394878 993116 409200 993820
rect 394878 983518 399602 993116
tri 399602 983518 409200 993116 nw
rect 394602 982718 399602 983518
<< via4 >>
rect 221400 993820 234879 995620
rect 240878 993820 254357 995620
rect 274000 993820 287479 995620
rect 293478 993820 306957 995620
rect 375800 993820 389279 995620
rect 395278 993820 408757 995620
<< metal5 >>
rect 221000 995620 235279 996020
rect 221000 993820 221400 995620
rect 234879 993820 235279 995620
rect 221000 993420 235279 993820
tri 221000 983518 230902 993420 ne
rect 230902 983518 235279 993420
rect 240478 995620 254757 996020
rect 240478 993820 240878 995620
rect 254357 993820 254757 995620
rect 273600 995620 287879 996020
rect 273600 993820 274000 995620
rect 287479 993820 287879 995620
rect 240478 992116 254800 993820
rect 240478 984242 246202 992116
tri 240478 983518 241202 984242 ne
rect 230902 982718 235902 983518
rect 241202 982718 246202 984242
tri 246202 983518 254800 992116 nw
rect 273600 992520 287879 993820
tri 273600 983518 282602 992520 ne
rect 282602 983795 287879 992520
rect 282602 982718 287602 983795
tri 287602 983518 287879 983795 nw
rect 293078 995620 307357 996020
rect 293078 993820 293478 995620
rect 306957 993820 307357 995620
rect 375400 995620 389679 996020
rect 375400 993820 375800 995620
rect 389279 993820 389679 995620
rect 293078 993016 307400 993820
rect 293078 983518 297902 993016
tri 297902 983518 307400 993016 nw
rect 375400 992420 389679 993820
tri 375400 983518 384302 992420 ne
rect 384302 983895 389679 992420
rect 292902 982718 297902 983518
rect 384302 982718 389302 983895
tri 389302 983518 389679 983895 nw
rect 394878 995620 409157 996020
rect 394878 993820 395278 995620
rect 408757 993820 409157 995620
rect 394878 993116 409200 993820
rect 394878 983518 399602 993116
tri 399602 983518 409200 993116 nw
rect 394602 982718 399602 983518
<< end >>

View File

@ -1,68 +1,44 @@
magic
tech sky130A
magscale 1 2
timestamp 1636248774
timestamp 1649951985
<< fillblock >>
rect -262 -266 31304 2764
rect -140 -5140 35048 -1424
rect 26 -9464 19344 -6358
use font_6F font_6F_3 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777049
transform 1 0 2142 0 1 -9290
rect -18 -10162 13166 -6340
use font_2D font_2D_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786817
transform 1 0 8038 0 1 -4642
box 0 1080 1440 1440
use font_4B font_4B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598766293
transform 1 0 33598 0 1 -4282
box 0 0 1080 2520
use font_6B font_6B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776472
transform 1 0 11278 0 1 -4282
box 0 0 1080 2520
use font_6C font_6C_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776550
transform 1 0 5640 0 1 -9282
box 0 0 360 2520
use font_6C font_6C_1
timestamp 1598776550
transform 1 0 26000 0 1 0
box 0 0 360 2520
use font_6C font_6C_2
timestamp 1598776550
transform 1 0 5878 0 1 -4282
box 0 0 360 2520
use font_6E font_6E_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776997
transform 1 0 8640 0 1 0
box 0 0 1080 1800
use font_4E font_4E_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598766739
transform 1 0 226 0 1 -9274
box 0 0 1440 2520
use font_65 font_65_6 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775915
transform 1 0 4969 0 1 -9290
use font_6E font_6E_1
timestamp 1598776997
transform 1 0 27838 0 1 -4282
box 0 0 1080 1800
use font_76 font_76_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777472
transform 1 0 3569 0 1 -9290
box 0 0 1080 1800
use font_6D font_6D_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776905
transform 1 0 6369 0 1 -9290
box 0 0 1800 1800
use font_65 font_65_7
timestamp 1598775915
transform 1 0 9969 0 1 -9290
box 0 0 1080 1800
use font_62 font_62_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775406
transform 1 0 8569 0 1 -9290
box 0 0 1080 2520
use font_72 font_72_2 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777237
transform 1 0 11369 0 1 -9290
box 0 0 1080 1800
use font_20 font_20_4 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598785497
transform 1 0 12476 0 1 -9176
box 0 0 1 1
use font_32 font_32_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787041
transform 1 0 13636 0 1 -9321
box 0 0 1080 2520
use font_30 font_30_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786981
transform 1 0 15076 0 1 -9321
box 0 0 1080 2520
use font_32 font_32_1
timestamp 1598787041
transform 1 0 16516 0 1 -9321
box 0 0 1080 2520
use font_31 font_31_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787010
transform 1 0 17950 0 1 -9341
box 0 0 1080 2520
use font_47 font_47_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598765398
transform 1 0 118 0 1 -4282
box 0 0 1080 2520
use font_6F font_6F_0
use font_6F font_6F_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777049
transform 1 0 1558 0 1 -4282
box 0 0 1080 1800
@ -70,169 +46,169 @@ use font_6F font_6F_1
timestamp 1598777049
transform 1 0 2998 0 1 -4282
box 0 0 1080 1800
use font_67 font_67_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776042
transform 1 0 4438 0 1 -4282
box 0 -720 1080 1800
use font_65 font_65_3
timestamp 1598775915
transform 1 0 6598 0 1 -4282
box 0 0 1080 1800
use font_6C font_6C_2 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776550
transform 1 0 5878 0 1 -4282
box 0 0 360 2520
use font_53 font_53_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598768855
transform 1 0 9838 0 1 -4282
box 0 0 1080 2520
use font_79 font_79_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777870
transform 1 0 12718 0 1 -4282
box 0 -720 1080 1800
use font_6B font_6B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776472
transform 1 0 11278 0 1 -4282
box 0 0 1080 2520
use font_57 font_57_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598769216
transform 1 0 14158 0 1 -4282
box 0 0 1800 2520
use font_61 font_61_3 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775307
transform 1 0 16318 0 1 -4282
box 0 0 1080 1800
use font_74 font_74_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777367
transform 1 0 17758 0 1 -4282
box 0 0 1080 2160
use font_65 font_65_4
timestamp 1598775915
transform 1 0 19198 0 1 -4282
box 0 0 1080 1800
use font_72 font_72_1
timestamp 1598777237
transform 1 0 20638 0 1 -4282
box 0 0 1080 1800
use font_20 font_20_2
timestamp 1598785497
transform 1 0 22078 0 1 -5002
box 0 0 1 1
use font_6F font_6F_2
timestamp 1598777049
transform 1 0 23518 0 1 -4282
box 0 0 1080 1800
use font_65 font_65_5
timestamp 1598775915
transform 1 0 26398 0 1 -4282
box 0 0 1080 1800
use font_70 font_70_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777090
transform 1 0 24958 0 1 -4282
box 0 -720 1080 1800
use font_6E font_6E_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776997
transform 1 0 27838 0 1 -4282
box 0 0 1080 1800
use font_20 font_20_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598785497
transform 1 0 9360 0 1 0
box 0 0 1 1
use font_20 font_20_1
timestamp 1598785497
transform 1 0 14400 0 1 0
box 0 0 1 1
use font_20 font_20_2
timestamp 1598785497
transform 1 0 22078 0 1 -5002
box 0 0 1 1
use font_20 font_20_3
timestamp 1598785497
transform 1 0 29278 0 1 -5362
box 0 0 1 1
use font_50 font_50_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598768087
transform 1 0 30718 0 1 -4282
use font_20 font_20_4
timestamp 1598785497
transform 1 0 12476 0 1 -9176
box 0 0 1 1
use font_28 font_28_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1606780629
transform 1 0 15200 0 1 0
box 0 0 720 2520
use font_29 font_29_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786350
transform 1 0 17720 0 1 0
box 0 0 720 2520
use font_30 font_30_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786981
transform 1 0 8812 0 1 -9272
box 0 0 1080 2520
use font_32 font_32_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787041
transform 1 0 7372 0 1 -9272
box 0 0 1080 2520
use font_32 font_32_1
timestamp 1598787041
transform 1 0 10252 0 1 -9272
box 0 0 1080 2520
use font_32 font_32_2
timestamp 1598787041
transform 1 0 11664 0 1 -9273
box 0 0 1080 2520
use font_33 font_33_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787077
transform 1 0 11998 0 1 -8
box 0 0 1080 2520
use font_41 font_41_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763107
transform 1 0 306 0 1 -9282
box 0 0 1080 2520
use font_43 font_43_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763351
transform 1 0 0 0 1 0
box 0 0 1080 2520
use font_43 font_43_1
timestamp 1598763351
transform 1 0 16280 0 1 0
box 0 0 1080 2520
use font_44 font_44_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763661
transform 1 0 32158 0 1 -4282
box 0 0 1080 2520
use font_4B font_4B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598766293
transform 1 0 33598 0 1 -4282
use font_47 font_47_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598765398
transform 1 0 118 0 1 -4282
box 0 0 1080 2520
use font_2D font_2D_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786817
transform 1 0 8038 0 1 -4642
box 0 1080 1440 1440
use font_61 font_61_0
timestamp 1598775307
transform 1 0 1440 0 1 0
box 0 0 1080 1800
use font_43 font_43_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763351
transform 1 0 0 0 1 0
use font_50 font_50_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598768087
transform 1 0 30718 0 1 -4282
box 0 0 1080 2520
use font_72 font_72_0
timestamp 1598777237
transform 1 0 2880 0 1 0
box 0 0 1080 1800
use font_61 font_61_1
timestamp 1598775307
transform 1 0 4320 0 1 0
box 0 0 1080 1800
use font_61 font_61_4
timestamp 1598775307
transform 1 0 7200 0 1 0
box 0 0 1080 1800
use font_76 font_76_0
timestamp 1598777472
transform 1 0 5760 0 1 0
box 0 0 1080 1800
use font_6E font_6E_0
timestamp 1598776997
transform 1 0 8640 0 1 0
box 0 0 1080 1800
use font_20 font_20_0
timestamp 1598785497
transform 1 0 9360 0 1 0
box 0 0 1 1
use font_32 font_32_2
timestamp 1598787041
transform 1 0 12013 0 1 0
use font_53 font_53_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598768855
transform 1 0 9838 0 1 -4282
box 0 0 1080 2520
use font_56 font_56_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598769117
transform 1 0 10570 0 1 0
box 0 0 1080 2520
use font_28 font_28_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1606780629
transform 1 0 15200 0 1 0
box 0 0 720 2520
use font_20 font_20_1
timestamp 1598785497
transform 1 0 14400 0 1 0
box 0 0 1 1
use font_43 font_43_1
timestamp 1598763351
transform 1 0 16280 0 1 0
use font_57 font_57_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598769216
transform 1 0 14158 0 1 -4282
box 0 0 1800 2520
use font_61 font_61_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775307
transform 1 0 1440 0 1 0
box 0 0 1080 1800
use font_61 font_61_1
timestamp 1598775307
transform 1 0 4320 0 1 0
box 0 0 1080 1800
use font_61 font_61_2
timestamp 1598775307
transform 1 0 23120 0 1 0
box 0 0 1080 1800
use font_61 font_61_3
timestamp 1598775307
transform 1 0 16318 0 1 -4282
box 0 0 1080 1800
use font_61 font_61_4
timestamp 1598775307
transform 1 0 7200 0 1 0
box 0 0 1080 1800
use font_62 font_62_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775406
transform 1 0 24560 0 1 0
box 0 0 1080 2520
use font_29 font_29_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786350
transform 1 0 17720 0 1 0
box 0 0 720 2520
use font_65 font_65_1
use font_65 font_65_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775915
transform 1 0 20240 0 1 0
box 0 0 1080 1800
use font_65 font_65_2
timestamp 1598775915
transform 1 0 26720 0 1 0
box 0 0 1080 1800
use font_65 font_65_3
timestamp 1598775915
transform 1 0 6598 0 1 -4282
box 0 0 1080 1800
use font_65 font_65_4
timestamp 1598775915
transform 1 0 19198 0 1 -4282
box 0 0 1080 1800
use font_65 font_65_5
timestamp 1598775915
transform 1 0 26398 0 1 -4282
box 0 0 1080 1800
use font_66 font_66_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775974
transform 1 0 21680 0 1 0
box 0 0 1080 2520
use font_61 font_61_2
timestamp 1598775307
transform 1 0 23120 0 1 0
use font_67 font_67_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776042
transform 1 0 4438 0 1 -4282
box 0 -720 1080 1800
use font_69 font_69_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776260
transform 1 0 4570 0 1 -9282
box 0 0 720 2520
use font_70 font_70_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777090
transform 1 0 24958 0 1 -4282
box 0 -720 1080 1800
use font_70 font_70_1
timestamp 1598777090
transform 1 0 1732 0 1 -9276
box 0 -720 1080 1800
use font_72 font_72_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777237
transform 1 0 2880 0 1 0
box 0 0 1080 1800
use font_62 font_62_0
timestamp 1598775406
transform 1 0 24560 0 1 0
box 0 0 1080 2520
use font_6C font_6C_1
timestamp 1598776550
transform 1 0 26000 0 1 0
box 0 0 360 2520
use font_65 font_65_2
timestamp 1598775915
transform 1 0 26720 0 1 0
use font_72 font_72_1
timestamp 1598777237
transform 1 0 20638 0 1 -4282
box 0 0 1080 1800
use font_72 font_72_2
timestamp 1598777237
transform 1 0 3158 0 1 -9282
box 0 0 1080 1800
use font_73 font_73_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777283
@ -242,4 +218,16 @@ use font_73 font_73_1
timestamp 1598777283
transform 1 0 29600 0 1 0
box 0 0 1080 1800
use font_74 font_74_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777367
transform 1 0 17758 0 1 -4282
box 0 0 1080 2160
use font_76 font_76_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777472
transform 1 0 5760 0 1 0
box 0 0 1080 1800
use font_79 font_79_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777870
transform 1 0 12718 0 1 -4282
box 0 -720 1080 1800
<< end >>

View File

@ -1,7 +1,7 @@
magic
tech sky130A
magscale 1 2
timestamp 1649520738
timestamp 1649962643
<< checkpaint >>
rect -194 15012 220166 31772
rect -194 10116 141972 15012
@ -15,8 +15,6 @@ rect 780 6748 187506 7191
rect -194 -220 220166 6748
<< isosubstrate >>
rect 72768 10454 140712 13270
rect 194404 9184 195394 10340
rect 201986 9164 202816 10326
rect 2040 7390 22196 8748
<< viali >>
rect 113465 30209 113499 30243
@ -205744,9 +205742,9 @@ timestamp 1648946573
transform 1 0 209944 0 1 19584
box -38 -48 590 592
use mprj2_logic_high mprj2_logic_high_inst
timestamp 1649446480
timestamp 1649962643
transform -1 0 22088 0 1 7504
box -108 -114 20048 1244
box -38 -48 20002 1136
use sky130_fd_sc_hd__buf_12 mprj2_pwrgood
timestamp 1648946573
transform -1 0 10396 0 -1 5440
@ -206024,9 +206022,9 @@ timestamp 1648946573
transform 1 0 163484 0 1 18496
box -38 -48 1694 592
use mprj_logic_high mprj_logic_high_inst
timestamp 1649446464
timestamp 1649962643
transform 1 0 71696 0 1 9720
box 0 0 69016 4400
box 0 0 68854 4400
use sky130_fd_sc_hd__buf_6 mprj_pwrgood
timestamp 1648946573
transform 1 0 148028 0 -1 5440

View File

@ -1,11 +1,9 @@
magic
tech sky130A
magscale 1 2
timestamp 1649446480
timestamp 1649962643
<< checkpaint >>
rect -1298 -1308 21262 2396
<< isosubstrate >>
rect -108 -114 20048 1244
rect -1368 -1374 21308 2504
<< viali >>
rect 8493 765 8527 799
<< metal1 >>

View File

@ -1,11 +1,9 @@
magic
tech sky130A
magscale 1 2
timestamp 1649446464
timestamp 1649962643
<< checkpaint >>
rect -10 -220 70114 4572
<< isosubstrate >>
rect 1072 734 69016 3550
rect -188 -526 70276 4810
<< viali >>
rect 2237 3145 2271 3179
rect 2697 3145 2731 3179

View File

@ -1,6 +1,7 @@
#!/bin/bassh
#!/bin/bash
#
echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null
echo ${PDK:=sky130A} > /dev/null
if [ ! -f caravan.spice ]; then
magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF

82
mag/run_caravan_lvs_full.sh Executable file
View File

@ -0,0 +1,82 @@
#!/bin/bash
#---------------------------------------------------------------------------
# Run full LVS on caravan: This does not include verification of underlying
# library components such as the I/O cells and standard cells, but does
# include all sub-blocks of caravan.
#
# NOTE: The netlist caravan.spice is only regenerated if it does not exist.
# To run a full extraction and LVS, remove any existing caravan.spice file
# first.
#
#---------------------------------------------------------------------------
echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null
echo ${PDK:=sky130A} > /dev/null
# Extract full layout netlist
if [ ! -f caravan.spice ]; then
magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF
drc off
crashbackups stop
load caravan
select top cell
expand
extract do local
extract all
ext2spice lvs
ext2spice
EOF
rm -f *.ext
fi
# Generate black-box verilog entry for the conb cell. Otherwise, the verilog tends to
# have only one of the pins listed which will result in an incorrect pin match.
cat > conb.v << EOF
/* Black-box entry for conb_1 module */
module sky130_fd_sc_hd__conb_1 (HI, LO, VPWR, VGND, VPB, VNB);
output HI;
output LO;
input VPWR;
input VGND;
input VPB;
input VNB;
endmodule
EOF
# Generate script for netgen
cat > netgen.tcl << EOF
# Load top level netlists
puts stdout "Reading netlist caravan.spice"
set circuit1 [readnet spice caravan.spice]
puts stdout "Reading gate-level netlist caravan.v"
set circuit2 [readnet verilog ../verilog/gl/caravan.v]
# Read additional subcircuits into the netlist of circuit2
puts stdout "Reading black-box modules"
readnet verilog conb.v \$circuit2
puts stdout "Reading all gate-level verilog modules"
readnet verilog ../verilog/gl/caravel_clocking.v \$circuit2
readnet verilog ../verilog/gl/chip_io_alt.v \$circuit2
readnet verilog ../verilog/gl/digital_pll.v \$circuit2
readnet verilog ../verilog/gl/gpio_control_block.v \$circuit2
readnet verilog ../verilog/gl/gpio_defaults_block.v \$circuit2
readnet verilog ../verilog/gl/gpio_defaults_block_1803.v \$circuit2
readnet verilog ../verilog/gl/gpio_defaults_block_0403.v \$circuit2
readnet verilog ../verilog/gl/gpio_logic_high.v \$circuit2
readnet verilog ../verilog/gl/housekeeping.v \$circuit2
readnet verilog ../verilog/gl/mgmt_protect.v \$circuit2
readnet verilog ../verilog/gl/mgmt_protect_hv.v \$circuit2
readnet verilog ../verilog/gl/mprj2_logic_high.v \$circuit2
readnet verilog ../verilog/gl/mprj_logic_high.v \$circuit2
readnet verilog ../verilog/gl/spare_logic_block.v \$circuit2
readnet verilog ../verilog/gl/user_id_programming.v \$circuit2
readnet verilog ../verilog/gl/xres_buf.v \$circuit2
# To do: Add simple_por from ../spi/lvs
# Run LVS
lvs "\$circuit1 caravan" "\$circuit2 caravan" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl comp.out
EOF
export NETGEN_COLUMNS=60
export MAGIC_EXT_USE_GDS=1
netgen -batch source netgen.tcl
# rm conb.v
# rm netgen.tcl

82
mag/run_caravel_lvs_full.sh Executable file
View File

@ -0,0 +1,82 @@
#!/bin/bash
#---------------------------------------------------------------------------
# Run full LVS on caravel: This does not include verification of underlying
# library components such as the I/O cells and standard cells, but does
# include all sub-blocks of caravel.
#
# NOTE: The netlist caravel.spice is only regenerated if it does not exist.
# To run a full extraction and LVS, remove any existing caravel.spice file
# first.
#
#---------------------------------------------------------------------------
echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null
echo ${PDK:=sky130A} > /dev/null
# Extract full layout netlist
if [ ! -f caravel.spice ]; then
magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF
drc off
crashbackups stop
load caravel
select top cell
expand
extract do local
extract all
ext2spice lvs
ext2spice
EOF
rm -f *.ext
fi
# Generate black-box verilog entry for the conb cell. Otherwise, the verilog tends to
# have only one of the pins listed which will result in an incorrect pin match.
cat > conb.v << EOF
/* Black-box entry for conb_1 module */
module sky130_fd_sc_hd__conb_1 (HI, LO, VPWR, VGND, VPB, VNB);
output HI;
output LO;
input VPWR;
input VGND;
input VPB;
input VNB;
endmodule
EOF
# Generate script for netgen
cat > netgen.tcl << EOF
# Load top level netlists
puts stdout "Reading netlist caravel.spice"
set circuit1 [readnet spice caravel.spice]
puts stdout "Reading gate-level netlist caravel.v"
set circuit2 [readnet verilog ../verilog/gl/caravel.v]
# Read additional subcircuits into the netlist of circuit2
puts stdout "Reading black-box modules"
readnet verilog conb.v \$circuit2
puts stdout "Reading all gate-level verilog modules"
readnet verilog ../verilog/gl/caravel_clocking.v \$circuit2
readnet verilog ../verilog/gl/chip_io.v \$circuit2
readnet verilog ../verilog/gl/digital_pll.v \$circuit2
readnet verilog ../verilog/gl/gpio_control_block.v \$circuit2
readnet verilog ../verilog/gl/gpio_defaults_block.v \$circuit2
readnet verilog ../verilog/gl/gpio_defaults_block_1803.v \$circuit2
readnet verilog ../verilog/gl/gpio_defaults_block_0403.v \$circuit2
readnet verilog ../verilog/gl/gpio_logic_high.v \$circuit2
readnet verilog ../verilog/gl/housekeeping.v \$circuit2
readnet verilog ../verilog/gl/mgmt_protect.v \$circuit2
readnet verilog ../verilog/gl/mgmt_protect_hv.v \$circuit2
readnet verilog ../verilog/gl/mprj2_logic_high.v \$circuit2
readnet verilog ../verilog/gl/mprj_logic_high.v \$circuit2
readnet verilog ../verilog/gl/spare_logic_block.v \$circuit2
readnet verilog ../verilog/gl/user_id_programming.v \$circuit2
readnet verilog ../verilog/gl/xres_buf.v \$circuit2
# To do: Add simple_por from ../spi/lvs
# Run LVS
lvs "\$circuit1 caravel" "\$circuit2 caravel" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl comp.out
EOF
export NETGEN_COLUMNS=60
export MAGIC_EXT_USE_GDS=1
netgen -batch source netgen.tcl
# rm conb.v
# rm netgen.tcl

View File

@ -2,14 +2,14 @@
87735eb5981740ca4d4b48e6b0321c8bb0023800 verilog/rtl/__uprj_netlists.v
684085713662e37a26f9f981d35be7c6c7ff6e9a verilog/rtl/__user_analog_project_wrapper.v
b5ad3558a91e508fad154b91565c7d664b247020 verilog/rtl/__user_project_wrapper.v
610cf8c391cb48d931f45c628c74b5dbbe7b3dc7 verilog/rtl/caravan.v
c9a9c1b2a4cc5edc68d8f3812a8d437465439357 verilog/rtl/caravan.v
a855d65d6fc59352e4f8a994e451418d113586fc verilog/rtl/caravan_netlists.v
a3d12a2d2d3596800bec47d1266dce2399a2fcc6 verilog/rtl/caravan_openframe.v
cb320bf7e981979c4e823270d823395ea609c77e verilog/rtl/caravel.v
2fe34f043edbe87c626e5616ad54f82c9ba067c2 verilog/rtl/caravel_clocking.v
3b9185fd0dc2d0e8c49f1af3d14724e0948fe650 verilog/rtl/caravel_openframe.v
d0c5cf9260783b1a88c0b772c2e3cee3dcd0cf76 verilog/rtl/chip_io.v
05afc0b0e001335ac940bec43cca0ce2ac55b277 verilog/rtl/chip_io_alt.v
54de41c59139783d39654e1f0a86e2880cb7b076 verilog/rtl/chip_io_alt.v
126aff02aa229dc346301c552d785dec76a4d68e verilog/rtl/clock_div.v
36af0303a0e84ce4a40a854ef1481f8a56bc9989 verilog/rtl/digital_pll.v
ce49f9af199b5f16d2c39c417d58e5890bc7bab2 verilog/rtl/digital_pll_controller.v

View File

@ -44,8 +44,9 @@ endif
@if [ -f ./$*/interactive.tcl ]; then\
docker run --rm -v $(OPENLANE_ROOT):/openlane \
-v $(PDK_ROOT):$(PDK_ROOT) \
-v $(PWD)/..:$(PWD)/.. \
-v $(MCW_ROOT):$(MCW_ROOT) \
-v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \
-e MCW_ROOT=$(MCW_ROOT) \
-e PDK_ROOT=$(PDK_ROOT) \
-e CARAVEL_ROOT=$(CARAVEL_ROOT) \
-e PDK=$(PDK) \
@ -56,8 +57,9 @@ endif
else\
docker run --rm -v $(OPENLANE_ROOT):/openlane \
-v $(PDK_ROOT):$(PDK_ROOT) \
-v $(PWD)/..:$(PWD)/.. \
-v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \
-v $(MCW_ROOT):$(MCW_ROOT) \
-e MCW_ROOT=$(MCW_ROOT) \
-e PDK=$(PDK) \
-e PDK_ROOT=$(PDK_ROOT) \
-e CARAVEL_ROOT=$(CARAVEL_ROOT) \

View File

@ -24,9 +24,9 @@ set verilog_root $script_dir/../../verilog/
set lef_root $script_dir/../../lef/
set gds_root $script_dir/../../gds/
set mgmt_area_verilog_root $script_dir/../../../caravel_pico/verilog/
set mgmt_area_lef_root $script_dir/../../../caravel_pico/lef/
set mgmt_area_gds_root $script_dir/../../../caravel_pico/gds/
set mgmt_area_verilog_root $::env(MCW_ROOT)/verilog/
set mgmt_area_lef_root $::env(MCW_ROOT)/lef/
set mgmt_area_gds_root $::env(MCW_ROOT)/gds/
# Change if needed
set ::env(VERILOG_FILES) "\
@ -48,7 +48,9 @@ set ::env(VERILOG_FILES_BLACKBOX) "\
$verilog_root/rtl/digital_pll.v \
$verilog_root/rtl/caravel_clocking.v \
$verilog_root/rtl/simple_por.v\
$verilog_root/rtl/spare_logic_block.v\
$verilog_root/rtl/xres_buf.v \
$verilog_root/rtl/caravan_power_routing.v \
$mgmt_area_verilog_root/rtl/mgmt_core_wrapper.v \
"
@ -64,6 +66,8 @@ set ::env(EXTRA_LEFS) "\
$lef_root/caravel_clocking.lef \
$lef_root/simple_por.lef\
$lef_root/xres_buf.lef\
$lef_root/caravan_power_routing.lef\
$lef_root/spare_logic_block.lef\
$mgmt_area_lef_root/mgmt_core_wrapper.lef \
"
@ -131,4 +135,6 @@ set ::env(LVS_INSERT_POWER_PINS) 0
set ::env(MAGIC_GENERATE_LEF) 0
set ::env(QUIT_ON_ILLEGAL_OVERLAPS) 0
set ::env(QUIT_ON_ILLEGAL_OVERLAPS) 0
set ::env(QUIT_ON_TR_DRC) 0
set ::env(QUIT_ON_LVS_ERROR) 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -660,6 +660,7 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
wire \gpio_serial_link_2_shifted[8] ;
wire \gpio_serial_link_2_shifted[9] ;
wire hk_ack_i;
wire hk_cyc_o;
wire \hk_dat_i[0] ;
wire \hk_dat_i[10] ;
wire \hk_dat_i[11] ;
@ -693,7 +694,6 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
wire \hk_dat_i[8] ;
wire \hk_dat_i[9] ;
wire hk_stb_o;
wire hk_cyc_o;
wire \hkspi_sram_addr[0] ;
wire \hkspi_sram_addr[1] ;
wire \hkspi_sram_addr[2] ;
@ -2421,6 +2421,174 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
wire sdo_outenb;
wire ser_rx;
wire ser_tx;
wire \spare_xfq_nc[0] ;
wire \spare_xfq_nc[1] ;
wire \spare_xfq_nc[2] ;
wire \spare_xfq_nc[3] ;
wire \spare_xfq_nc[4] ;
wire \spare_xfq_nc[5] ;
wire \spare_xfq_nc[6] ;
wire \spare_xfq_nc[7] ;
wire \spare_xfqn_nc[0] ;
wire \spare_xfqn_nc[1] ;
wire \spare_xfqn_nc[2] ;
wire \spare_xfqn_nc[3] ;
wire \spare_xfqn_nc[4] ;
wire \spare_xfqn_nc[5] ;
wire \spare_xfqn_nc[6] ;
wire \spare_xfqn_nc[7] ;
wire \spare_xi_nc[0] ;
wire \spare_xi_nc[10] ;
wire \spare_xi_nc[11] ;
wire \spare_xi_nc[12] ;
wire \spare_xi_nc[13] ;
wire \spare_xi_nc[14] ;
wire \spare_xi_nc[15] ;
wire \spare_xi_nc[1] ;
wire \spare_xi_nc[2] ;
wire \spare_xi_nc[3] ;
wire \spare_xi_nc[4] ;
wire \spare_xi_nc[5] ;
wire \spare_xi_nc[6] ;
wire \spare_xi_nc[7] ;
wire \spare_xi_nc[8] ;
wire \spare_xi_nc[9] ;
wire \spare_xib_nc[0] ;
wire \spare_xib_nc[1] ;
wire \spare_xib_nc[2] ;
wire \spare_xib_nc[3] ;
wire \spare_xmx_nc[0] ;
wire \spare_xmx_nc[1] ;
wire \spare_xmx_nc[2] ;
wire \spare_xmx_nc[3] ;
wire \spare_xmx_nc[4] ;
wire \spare_xmx_nc[5] ;
wire \spare_xmx_nc[6] ;
wire \spare_xmx_nc[7] ;
wire \spare_xna_nc[0] ;
wire \spare_xna_nc[1] ;
wire \spare_xna_nc[2] ;
wire \spare_xna_nc[3] ;
wire \spare_xna_nc[4] ;
wire \spare_xna_nc[5] ;
wire \spare_xna_nc[6] ;
wire \spare_xna_nc[7] ;
wire \spare_xno_nc[0] ;
wire \spare_xno_nc[1] ;
wire \spare_xno_nc[2] ;
wire \spare_xno_nc[3] ;
wire \spare_xno_nc[4] ;
wire \spare_xno_nc[5] ;
wire \spare_xno_nc[6] ;
wire \spare_xno_nc[7] ;
wire \spare_xz_nc[0] ;
wire \spare_xz_nc[100] ;
wire \spare_xz_nc[101] ;
wire \spare_xz_nc[102] ;
wire \spare_xz_nc[103] ;
wire \spare_xz_nc[104] ;
wire \spare_xz_nc[105] ;
wire \spare_xz_nc[106] ;
wire \spare_xz_nc[107] ;
wire \spare_xz_nc[10] ;
wire \spare_xz_nc[11] ;
wire \spare_xz_nc[12] ;
wire \spare_xz_nc[13] ;
wire \spare_xz_nc[14] ;
wire \spare_xz_nc[15] ;
wire \spare_xz_nc[16] ;
wire \spare_xz_nc[17] ;
wire \spare_xz_nc[18] ;
wire \spare_xz_nc[19] ;
wire \spare_xz_nc[1] ;
wire \spare_xz_nc[20] ;
wire \spare_xz_nc[21] ;
wire \spare_xz_nc[22] ;
wire \spare_xz_nc[23] ;
wire \spare_xz_nc[24] ;
wire \spare_xz_nc[25] ;
wire \spare_xz_nc[26] ;
wire \spare_xz_nc[27] ;
wire \spare_xz_nc[28] ;
wire \spare_xz_nc[29] ;
wire \spare_xz_nc[2] ;
wire \spare_xz_nc[30] ;
wire \spare_xz_nc[31] ;
wire \spare_xz_nc[32] ;
wire \spare_xz_nc[33] ;
wire \spare_xz_nc[34] ;
wire \spare_xz_nc[35] ;
wire \spare_xz_nc[36] ;
wire \spare_xz_nc[37] ;
wire \spare_xz_nc[38] ;
wire \spare_xz_nc[39] ;
wire \spare_xz_nc[3] ;
wire \spare_xz_nc[40] ;
wire \spare_xz_nc[41] ;
wire \spare_xz_nc[42] ;
wire \spare_xz_nc[43] ;
wire \spare_xz_nc[44] ;
wire \spare_xz_nc[45] ;
wire \spare_xz_nc[46] ;
wire \spare_xz_nc[47] ;
wire \spare_xz_nc[48] ;
wire \spare_xz_nc[49] ;
wire \spare_xz_nc[4] ;
wire \spare_xz_nc[50] ;
wire \spare_xz_nc[51] ;
wire \spare_xz_nc[52] ;
wire \spare_xz_nc[53] ;
wire \spare_xz_nc[54] ;
wire \spare_xz_nc[55] ;
wire \spare_xz_nc[56] ;
wire \spare_xz_nc[57] ;
wire \spare_xz_nc[58] ;
wire \spare_xz_nc[59] ;
wire \spare_xz_nc[5] ;
wire \spare_xz_nc[60] ;
wire \spare_xz_nc[61] ;
wire \spare_xz_nc[62] ;
wire \spare_xz_nc[63] ;
wire \spare_xz_nc[64] ;
wire \spare_xz_nc[65] ;
wire \spare_xz_nc[66] ;
wire \spare_xz_nc[67] ;
wire \spare_xz_nc[68] ;
wire \spare_xz_nc[69] ;
wire \spare_xz_nc[6] ;
wire \spare_xz_nc[70] ;
wire \spare_xz_nc[71] ;
wire \spare_xz_nc[72] ;
wire \spare_xz_nc[73] ;
wire \spare_xz_nc[74] ;
wire \spare_xz_nc[75] ;
wire \spare_xz_nc[76] ;
wire \spare_xz_nc[77] ;
wire \spare_xz_nc[78] ;
wire \spare_xz_nc[79] ;
wire \spare_xz_nc[7] ;
wire \spare_xz_nc[80] ;
wire \spare_xz_nc[81] ;
wire \spare_xz_nc[82] ;
wire \spare_xz_nc[83] ;
wire \spare_xz_nc[84] ;
wire \spare_xz_nc[85] ;
wire \spare_xz_nc[86] ;
wire \spare_xz_nc[87] ;
wire \spare_xz_nc[88] ;
wire \spare_xz_nc[89] ;
wire \spare_xz_nc[8] ;
wire \spare_xz_nc[90] ;
wire \spare_xz_nc[91] ;
wire \spare_xz_nc[92] ;
wire \spare_xz_nc[93] ;
wire \spare_xz_nc[94] ;
wire \spare_xz_nc[95] ;
wire \spare_xz_nc[96] ;
wire \spare_xz_nc[97] ;
wire \spare_xz_nc[98] ;
wire \spare_xz_nc[99] ;
wire \spare_xz_nc[9] ;
wire spi_csb;
wire spi_enabled;
wire \spi_pll90_sel[0] ;
@ -2678,7 +2846,7 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
inout vssio;
inout vssio_2;
wire vssio_core;
caravel_clocking \clocking (
caravel_clocking clock_ctrl (
.VGND(vssd_core),
.VPWR(vccd_core),
.core_clk(caravel_clk),
@ -2693,141 +2861,6 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
.sel2({ \spi_pll90_sel[2] , \spi_pll90_sel[1] , \spi_pll90_sel[0] }),
.user_clk(caravel_clk2)
);
gpio_defaults_block_1803 gpio_defaults_block_0 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[12] , \gpio_defaults[11] , \gpio_defaults[10] , \gpio_defaults[9] , \gpio_defaults[8] , \gpio_defaults[7] , \gpio_defaults[6] , \gpio_defaults[5] , \gpio_defaults[4] , \gpio_defaults[3] , \gpio_defaults[2] , \gpio_defaults[1] , \gpio_defaults[0] })
);
gpio_defaults_block_1803 gpio_defaults_block_1 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[25] , \gpio_defaults[24] , \gpio_defaults[23] , \gpio_defaults[22] , \gpio_defaults[21] , \gpio_defaults[20] , \gpio_defaults[19] , \gpio_defaults[18] , \gpio_defaults[17] , \gpio_defaults[16] , \gpio_defaults[15] , \gpio_defaults[14] , \gpio_defaults[13] })
);
gpio_defaults_block gpio_defaults_block_10 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[142] , \gpio_defaults[141] , \gpio_defaults[140] , \gpio_defaults[139] , \gpio_defaults[138] , \gpio_defaults[137] , \gpio_defaults[136] , \gpio_defaults[135] , \gpio_defaults[134] , \gpio_defaults[133] , \gpio_defaults[132] , \gpio_defaults[131] , \gpio_defaults[130] })
);
gpio_defaults_block gpio_defaults_block_11 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[155] , \gpio_defaults[154] , \gpio_defaults[153] , \gpio_defaults[152] , \gpio_defaults[151] , \gpio_defaults[150] , \gpio_defaults[149] , \gpio_defaults[148] , \gpio_defaults[147] , \gpio_defaults[146] , \gpio_defaults[145] , \gpio_defaults[144] , \gpio_defaults[143] })
);
gpio_defaults_block gpio_defaults_block_12 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[168] , \gpio_defaults[167] , \gpio_defaults[166] , \gpio_defaults[165] , \gpio_defaults[164] , \gpio_defaults[163] , \gpio_defaults[162] , \gpio_defaults[161] , \gpio_defaults[160] , \gpio_defaults[159] , \gpio_defaults[158] , \gpio_defaults[157] , \gpio_defaults[156] })
);
gpio_defaults_block gpio_defaults_block_13 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[181] , \gpio_defaults[180] , \gpio_defaults[179] , \gpio_defaults[178] , \gpio_defaults[177] , \gpio_defaults[176] , \gpio_defaults[175] , \gpio_defaults[174] , \gpio_defaults[173] , \gpio_defaults[172] , \gpio_defaults[171] , \gpio_defaults[170] , \gpio_defaults[169] })
);
gpio_defaults_block gpio_defaults_block_14 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[194] , \gpio_defaults[193] , \gpio_defaults[192] , \gpio_defaults[191] , \gpio_defaults[190] , \gpio_defaults[189] , \gpio_defaults[188] , \gpio_defaults[187] , \gpio_defaults[186] , \gpio_defaults[185] , \gpio_defaults[184] , \gpio_defaults[183] , \gpio_defaults[182] })
);
gpio_defaults_block_0403 gpio_defaults_block_2 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[38] , \gpio_defaults[37] , \gpio_defaults[36] , \gpio_defaults[35] , \gpio_defaults[34] , \gpio_defaults[33] , \gpio_defaults[32] , \gpio_defaults[31] , \gpio_defaults[30] , \gpio_defaults[29] , \gpio_defaults[28] , \gpio_defaults[27] , \gpio_defaults[26] })
);
gpio_defaults_block_0403 gpio_defaults_block_3 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[51] , \gpio_defaults[50] , \gpio_defaults[49] , \gpio_defaults[48] , \gpio_defaults[47] , \gpio_defaults[46] , \gpio_defaults[45] , \gpio_defaults[44] , \gpio_defaults[43] , \gpio_defaults[42] , \gpio_defaults[41] , \gpio_defaults[40] , \gpio_defaults[39] })
);
gpio_defaults_block_0403 gpio_defaults_block_4 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[64] , \gpio_defaults[63] , \gpio_defaults[62] , \gpio_defaults[61] , \gpio_defaults[60] , \gpio_defaults[59] , \gpio_defaults[58] , \gpio_defaults[57] , \gpio_defaults[56] , \gpio_defaults[55] , \gpio_defaults[54] , \gpio_defaults[53] , \gpio_defaults[52] })
);
gpio_defaults_block gpio_defaults_block_26 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[207] , \gpio_defaults[206] , \gpio_defaults[205] , \gpio_defaults[204] , \gpio_defaults[203] , \gpio_defaults[202] , \gpio_defaults[201] , \gpio_defaults[200] , \gpio_defaults[199] , \gpio_defaults[198] , \gpio_defaults[197] , \gpio_defaults[196] , \gpio_defaults[195] })
);
gpio_defaults_block gpio_defaults_block_27 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[220] , \gpio_defaults[219] , \gpio_defaults[218] , \gpio_defaults[217] , \gpio_defaults[216] , \gpio_defaults[215] , \gpio_defaults[214] , \gpio_defaults[213] , \gpio_defaults[212] , \gpio_defaults[211] , \gpio_defaults[210] , \gpio_defaults[209] , \gpio_defaults[208] })
);
gpio_defaults_block gpio_defaults_block_28 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[233] , \gpio_defaults[232] , \gpio_defaults[231] , \gpio_defaults[230] , \gpio_defaults[229] , \gpio_defaults[228] , \gpio_defaults[227] , \gpio_defaults[226] , \gpio_defaults[225] , \gpio_defaults[224] , \gpio_defaults[223] , \gpio_defaults[222] , \gpio_defaults[221] })
);
gpio_defaults_block gpio_defaults_block_29 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[246] , \gpio_defaults[245] , \gpio_defaults[244] , \gpio_defaults[243] , \gpio_defaults[242] , \gpio_defaults[241] , \gpio_defaults[240] , \gpio_defaults[239] , \gpio_defaults[238] , \gpio_defaults[237] , \gpio_defaults[236] , \gpio_defaults[235] , \gpio_defaults[234] })
);
gpio_defaults_block gpio_defaults_block_30 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[259] , \gpio_defaults[258] , \gpio_defaults[257] , \gpio_defaults[256] , \gpio_defaults[255] , \gpio_defaults[254] , \gpio_defaults[253] , \gpio_defaults[252] , \gpio_defaults[251] , \gpio_defaults[250] , \gpio_defaults[249] , \gpio_defaults[248] , \gpio_defaults[247] })
);
gpio_defaults_block gpio_defaults_block_31 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[272] , \gpio_defaults[271] , \gpio_defaults[270] , \gpio_defaults[269] , \gpio_defaults[268] , \gpio_defaults[267] , \gpio_defaults[266] , \gpio_defaults[265] , \gpio_defaults[264] , \gpio_defaults[263] , \gpio_defaults[262] , \gpio_defaults[261] , \gpio_defaults[260] })
);
gpio_defaults_block gpio_defaults_block_32 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[285] , \gpio_defaults[284] , \gpio_defaults[283] , \gpio_defaults[282] , \gpio_defaults[281] , \gpio_defaults[280] , \gpio_defaults[279] , \gpio_defaults[278] , \gpio_defaults[277] , \gpio_defaults[276] , \gpio_defaults[275] , \gpio_defaults[274] , \gpio_defaults[273] })
);
gpio_defaults_block gpio_defaults_block_33 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[298] , \gpio_defaults[297] , \gpio_defaults[296] , \gpio_defaults[295] , \gpio_defaults[294] , \gpio_defaults[293] , \gpio_defaults[292] , \gpio_defaults[291] , \gpio_defaults[290] , \gpio_defaults[289] , \gpio_defaults[288] , \gpio_defaults[287] , \gpio_defaults[286] })
);
gpio_defaults_block gpio_defaults_block_34 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[311] , \gpio_defaults[310] , \gpio_defaults[309] , \gpio_defaults[308] , \gpio_defaults[307] , \gpio_defaults[306] , \gpio_defaults[305] , \gpio_defaults[304] , \gpio_defaults[303] , \gpio_defaults[302] , \gpio_defaults[301] , \gpio_defaults[300] , \gpio_defaults[299] })
);
gpio_defaults_block gpio_defaults_block_35 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[324] , \gpio_defaults[323] , \gpio_defaults[322] , \gpio_defaults[321] , \gpio_defaults[320] , \gpio_defaults[319] , \gpio_defaults[318] , \gpio_defaults[317] , \gpio_defaults[316] , \gpio_defaults[315] , \gpio_defaults[314] , \gpio_defaults[313] , \gpio_defaults[312] })
);
gpio_defaults_block gpio_defaults_block_36 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[337] , \gpio_defaults[336] , \gpio_defaults[335] , \gpio_defaults[334] , \gpio_defaults[333] , \gpio_defaults[332] , \gpio_defaults[331] , \gpio_defaults[330] , \gpio_defaults[329] , \gpio_defaults[328] , \gpio_defaults[327] , \gpio_defaults[326] , \gpio_defaults[325] })
);
gpio_defaults_block gpio_defaults_block_37 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[350] , \gpio_defaults[349] , \gpio_defaults[348] , \gpio_defaults[347] , \gpio_defaults[346] , \gpio_defaults[345] , \gpio_defaults[344] , \gpio_defaults[343] , \gpio_defaults[342] , \gpio_defaults[341] , \gpio_defaults[340] , \gpio_defaults[339] , \gpio_defaults[338] })
);
gpio_defaults_block gpio_defaults_block_5 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[77] , \gpio_defaults[76] , \gpio_defaults[75] , \gpio_defaults[74] , \gpio_defaults[73] , \gpio_defaults[72] , \gpio_defaults[71] , \gpio_defaults[70] , \gpio_defaults[69] , \gpio_defaults[68] , \gpio_defaults[67] , \gpio_defaults[66] , \gpio_defaults[65] })
);
gpio_defaults_block gpio_defaults_block_6 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[90] , \gpio_defaults[89] , \gpio_defaults[88] , \gpio_defaults[87] , \gpio_defaults[86] , \gpio_defaults[85] , \gpio_defaults[84] , \gpio_defaults[83] , \gpio_defaults[82] , \gpio_defaults[81] , \gpio_defaults[80] , \gpio_defaults[79] , \gpio_defaults[78] })
);
gpio_defaults_block gpio_defaults_block_7 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[103] , \gpio_defaults[102] , \gpio_defaults[101] , \gpio_defaults[100] , \gpio_defaults[99] , \gpio_defaults[98] , \gpio_defaults[97] , \gpio_defaults[96] , \gpio_defaults[95] , \gpio_defaults[94] , \gpio_defaults[93] , \gpio_defaults[92] , \gpio_defaults[91] })
);
gpio_defaults_block gpio_defaults_block_8 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[116] , \gpio_defaults[115] , \gpio_defaults[114] , \gpio_defaults[113] , \gpio_defaults[112] , \gpio_defaults[111] , \gpio_defaults[110] , \gpio_defaults[109] , \gpio_defaults[108] , \gpio_defaults[107] , \gpio_defaults[106] , \gpio_defaults[105] , \gpio_defaults[104] })
);
gpio_defaults_block gpio_defaults_block_9 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[129] , \gpio_defaults[128] , \gpio_defaults[127] , \gpio_defaults[126] , \gpio_defaults[125] , \gpio_defaults[124] , \gpio_defaults[123] , \gpio_defaults[122] , \gpio_defaults[121] , \gpio_defaults[120] , \gpio_defaults[119] , \gpio_defaults[118] , \gpio_defaults[117] })
);
gpio_control_block \gpio_control_bidir_1[0] (
.gpio_defaults({ \gpio_defaults[12] , \gpio_defaults[11] , \gpio_defaults[10] , \gpio_defaults[9] , \gpio_defaults[8] , \gpio_defaults[7] , \gpio_defaults[6] , \gpio_defaults[5] , \gpio_defaults[4] , \gpio_defaults[3] , \gpio_defaults[2] , \gpio_defaults[1] , \gpio_defaults[0] }),
.mgmt_gpio_in(\mgmt_io_in[0] ),
@ -2986,13 +3019,13 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
.pad_gpio_outenb(\mprj_io_oeb[26] ),
.pad_gpio_slow_sel(\mprj_io_slow_sel[26] ),
.pad_gpio_vtrip_sel(\mprj_io_vtrip_sel[26] ),
.resetn(\gpio_resetn_2_shifted[12] ),
.resetn(\gpio_resetn_1_shifted[0] ),
.resetn_out(\gpio_resetn_2[12] ),
.serial_clock(\gpio_clock_2_shifted[12] ),
.serial_clock(\gpio_clock_1_shifted[0] ),
.serial_clock_out(\gpio_clock_2[12] ),
.serial_data_in(\gpio_serial_link_2_shifted[12] ),
.serial_data_out(\gpio_serial_link_2[12] ),
.serial_load(\gpio_load_2_shifted[12] ),
.serial_load(\gpio_load_1_shifted[0] ),
.serial_load_out(\gpio_load_2[12] ),
.user_gpio_in(\user_io_in[26] ),
.user_gpio_oeb(\user_io_oeb[26] ),
@ -3773,6 +3806,141 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
.vssd1(vssd1_core),
.zero()
);
gpio_defaults_block \gpio_defaults_block_0[0] (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[12] , \gpio_defaults[11] , \gpio_defaults[10] , \gpio_defaults[9] , \gpio_defaults[8] , \gpio_defaults[7] , \gpio_defaults[6] , \gpio_defaults[5] , \gpio_defaults[4] , \gpio_defaults[3] , \gpio_defaults[2] , \gpio_defaults[1] , \gpio_defaults[0] })
);
gpio_defaults_block \gpio_defaults_block_0[1] (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[25] , \gpio_defaults[24] , \gpio_defaults[23] , \gpio_defaults[22] , \gpio_defaults[21] , \gpio_defaults[20] , \gpio_defaults[19] , \gpio_defaults[18] , \gpio_defaults[17] , \gpio_defaults[16] , \gpio_defaults[15] , \gpio_defaults[14] , \gpio_defaults[13] })
);
gpio_defaults_block gpio_defaults_block_10 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[142] , \gpio_defaults[141] , \gpio_defaults[140] , \gpio_defaults[139] , \gpio_defaults[138] , \gpio_defaults[137] , \gpio_defaults[136] , \gpio_defaults[135] , \gpio_defaults[134] , \gpio_defaults[133] , \gpio_defaults[132] , \gpio_defaults[131] , \gpio_defaults[130] })
);
gpio_defaults_block gpio_defaults_block_11 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[155] , \gpio_defaults[154] , \gpio_defaults[153] , \gpio_defaults[152] , \gpio_defaults[151] , \gpio_defaults[150] , \gpio_defaults[149] , \gpio_defaults[148] , \gpio_defaults[147] , \gpio_defaults[146] , \gpio_defaults[145] , \gpio_defaults[144] , \gpio_defaults[143] })
);
gpio_defaults_block gpio_defaults_block_12 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[168] , \gpio_defaults[167] , \gpio_defaults[166] , \gpio_defaults[165] , \gpio_defaults[164] , \gpio_defaults[163] , \gpio_defaults[162] , \gpio_defaults[161] , \gpio_defaults[160] , \gpio_defaults[159] , \gpio_defaults[158] , \gpio_defaults[157] , \gpio_defaults[156] })
);
gpio_defaults_block gpio_defaults_block_13 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[181] , \gpio_defaults[180] , \gpio_defaults[179] , \gpio_defaults[178] , \gpio_defaults[177] , \gpio_defaults[176] , \gpio_defaults[175] , \gpio_defaults[174] , \gpio_defaults[173] , \gpio_defaults[172] , \gpio_defaults[171] , \gpio_defaults[170] , \gpio_defaults[169] })
);
gpio_defaults_block gpio_defaults_block_14 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[194] , \gpio_defaults[193] , \gpio_defaults[192] , \gpio_defaults[191] , \gpio_defaults[190] , \gpio_defaults[189] , \gpio_defaults[188] , \gpio_defaults[187] , \gpio_defaults[186] , \gpio_defaults[185] , \gpio_defaults[184] , \gpio_defaults[183] , \gpio_defaults[182] })
);
gpio_defaults_block gpio_defaults_block_26 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[207] , \gpio_defaults[206] , \gpio_defaults[205] , \gpio_defaults[204] , \gpio_defaults[203] , \gpio_defaults[202] , \gpio_defaults[201] , \gpio_defaults[200] , \gpio_defaults[199] , \gpio_defaults[198] , \gpio_defaults[197] , \gpio_defaults[196] , \gpio_defaults[195] })
);
gpio_defaults_block gpio_defaults_block_27 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[220] , \gpio_defaults[219] , \gpio_defaults[218] , \gpio_defaults[217] , \gpio_defaults[216] , \gpio_defaults[215] , \gpio_defaults[214] , \gpio_defaults[213] , \gpio_defaults[212] , \gpio_defaults[211] , \gpio_defaults[210] , \gpio_defaults[209] , \gpio_defaults[208] })
);
gpio_defaults_block gpio_defaults_block_28 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[233] , \gpio_defaults[232] , \gpio_defaults[231] , \gpio_defaults[230] , \gpio_defaults[229] , \gpio_defaults[228] , \gpio_defaults[227] , \gpio_defaults[226] , \gpio_defaults[225] , \gpio_defaults[224] , \gpio_defaults[223] , \gpio_defaults[222] , \gpio_defaults[221] })
);
gpio_defaults_block gpio_defaults_block_29 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[246] , \gpio_defaults[245] , \gpio_defaults[244] , \gpio_defaults[243] , \gpio_defaults[242] , \gpio_defaults[241] , \gpio_defaults[240] , \gpio_defaults[239] , \gpio_defaults[238] , \gpio_defaults[237] , \gpio_defaults[236] , \gpio_defaults[235] , \gpio_defaults[234] })
);
gpio_defaults_block \gpio_defaults_block_2[0] (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[38] , \gpio_defaults[37] , \gpio_defaults[36] , \gpio_defaults[35] , \gpio_defaults[34] , \gpio_defaults[33] , \gpio_defaults[32] , \gpio_defaults[31] , \gpio_defaults[30] , \gpio_defaults[29] , \gpio_defaults[28] , \gpio_defaults[27] , \gpio_defaults[26] })
);
gpio_defaults_block \gpio_defaults_block_2[1] (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[51] , \gpio_defaults[50] , \gpio_defaults[49] , \gpio_defaults[48] , \gpio_defaults[47] , \gpio_defaults[46] , \gpio_defaults[45] , \gpio_defaults[44] , \gpio_defaults[43] , \gpio_defaults[42] , \gpio_defaults[41] , \gpio_defaults[40] , \gpio_defaults[39] })
);
gpio_defaults_block \gpio_defaults_block_2[2] (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[64] , \gpio_defaults[63] , \gpio_defaults[62] , \gpio_defaults[61] , \gpio_defaults[60] , \gpio_defaults[59] , \gpio_defaults[58] , \gpio_defaults[57] , \gpio_defaults[56] , \gpio_defaults[55] , \gpio_defaults[54] , \gpio_defaults[53] , \gpio_defaults[52] })
);
gpio_defaults_block gpio_defaults_block_30 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[259] , \gpio_defaults[258] , \gpio_defaults[257] , \gpio_defaults[256] , \gpio_defaults[255] , \gpio_defaults[254] , \gpio_defaults[253] , \gpio_defaults[252] , \gpio_defaults[251] , \gpio_defaults[250] , \gpio_defaults[249] , \gpio_defaults[248] , \gpio_defaults[247] })
);
gpio_defaults_block gpio_defaults_block_31 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[272] , \gpio_defaults[271] , \gpio_defaults[270] , \gpio_defaults[269] , \gpio_defaults[268] , \gpio_defaults[267] , \gpio_defaults[266] , \gpio_defaults[265] , \gpio_defaults[264] , \gpio_defaults[263] , \gpio_defaults[262] , \gpio_defaults[261] , \gpio_defaults[260] })
);
gpio_defaults_block gpio_defaults_block_32 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[285] , \gpio_defaults[284] , \gpio_defaults[283] , \gpio_defaults[282] , \gpio_defaults[281] , \gpio_defaults[280] , \gpio_defaults[279] , \gpio_defaults[278] , \gpio_defaults[277] , \gpio_defaults[276] , \gpio_defaults[275] , \gpio_defaults[274] , \gpio_defaults[273] })
);
gpio_defaults_block gpio_defaults_block_33 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[298] , \gpio_defaults[297] , \gpio_defaults[296] , \gpio_defaults[295] , \gpio_defaults[294] , \gpio_defaults[293] , \gpio_defaults[292] , \gpio_defaults[291] , \gpio_defaults[290] , \gpio_defaults[289] , \gpio_defaults[288] , \gpio_defaults[287] , \gpio_defaults[286] })
);
gpio_defaults_block gpio_defaults_block_34 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[311] , \gpio_defaults[310] , \gpio_defaults[309] , \gpio_defaults[308] , \gpio_defaults[307] , \gpio_defaults[306] , \gpio_defaults[305] , \gpio_defaults[304] , \gpio_defaults[303] , \gpio_defaults[302] , \gpio_defaults[301] , \gpio_defaults[300] , \gpio_defaults[299] })
);
gpio_defaults_block gpio_defaults_block_35 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[324] , \gpio_defaults[323] , \gpio_defaults[322] , \gpio_defaults[321] , \gpio_defaults[320] , \gpio_defaults[319] , \gpio_defaults[318] , \gpio_defaults[317] , \gpio_defaults[316] , \gpio_defaults[315] , \gpio_defaults[314] , \gpio_defaults[313] , \gpio_defaults[312] })
);
gpio_defaults_block gpio_defaults_block_36 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[337] , \gpio_defaults[336] , \gpio_defaults[335] , \gpio_defaults[334] , \gpio_defaults[333] , \gpio_defaults[332] , \gpio_defaults[331] , \gpio_defaults[330] , \gpio_defaults[329] , \gpio_defaults[328] , \gpio_defaults[327] , \gpio_defaults[326] , \gpio_defaults[325] })
);
gpio_defaults_block gpio_defaults_block_37 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[350] , \gpio_defaults[349] , \gpio_defaults[348] , \gpio_defaults[347] , \gpio_defaults[346] , \gpio_defaults[345] , \gpio_defaults[344] , \gpio_defaults[343] , \gpio_defaults[342] , \gpio_defaults[341] , \gpio_defaults[340] , \gpio_defaults[339] , \gpio_defaults[338] })
);
gpio_defaults_block gpio_defaults_block_5 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[77] , \gpio_defaults[76] , \gpio_defaults[75] , \gpio_defaults[74] , \gpio_defaults[73] , \gpio_defaults[72] , \gpio_defaults[71] , \gpio_defaults[70] , \gpio_defaults[69] , \gpio_defaults[68] , \gpio_defaults[67] , \gpio_defaults[66] , \gpio_defaults[65] })
);
gpio_defaults_block gpio_defaults_block_6 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[90] , \gpio_defaults[89] , \gpio_defaults[88] , \gpio_defaults[87] , \gpio_defaults[86] , \gpio_defaults[85] , \gpio_defaults[84] , \gpio_defaults[83] , \gpio_defaults[82] , \gpio_defaults[81] , \gpio_defaults[80] , \gpio_defaults[79] , \gpio_defaults[78] })
);
gpio_defaults_block gpio_defaults_block_7 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[103] , \gpio_defaults[102] , \gpio_defaults[101] , \gpio_defaults[100] , \gpio_defaults[99] , \gpio_defaults[98] , \gpio_defaults[97] , \gpio_defaults[96] , \gpio_defaults[95] , \gpio_defaults[94] , \gpio_defaults[93] , \gpio_defaults[92] , \gpio_defaults[91] })
);
gpio_defaults_block gpio_defaults_block_8 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[116] , \gpio_defaults[115] , \gpio_defaults[114] , \gpio_defaults[113] , \gpio_defaults[112] , \gpio_defaults[111] , \gpio_defaults[110] , \gpio_defaults[109] , \gpio_defaults[108] , \gpio_defaults[107] , \gpio_defaults[106] , \gpio_defaults[105] , \gpio_defaults[104] })
);
gpio_defaults_block gpio_defaults_block_9 (
.VGND(vssd_core),
.VPWR(vccd_core),
.gpio_defaults({ \gpio_defaults[129] , \gpio_defaults[128] , \gpio_defaults[127] , \gpio_defaults[126] , \gpio_defaults[125] , \gpio_defaults[124] , \gpio_defaults[123] , \gpio_defaults[122] , \gpio_defaults[121] , \gpio_defaults[120] , \gpio_defaults[119] , \gpio_defaults[118] , \gpio_defaults[117] })
);
housekeeping housekeeping (
.VGND(vssd_core),
.VPWR(vccd_core),
@ -4041,8 +4209,8 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
.porb_l(porb_l),
.vdd1v8(vccd_core),
.vdd3v3(vddio_core),
.vss3v3(vssio_core),
.vss1v8(vssd_core)
.vss1v8(vssd_core),
.vss3v3(vssio_core)
);
xres_buf rstb_level (
.A(rstb_h),
@ -4082,9 +4250,9 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
.gpio_out_pad(gpio_out_core),
.gpio_outenb_pad(gpio_outenb_core),
.hk_ack_i(hk_ack_i),
.hk_cyc_o(hk_cyc_o),
.hk_dat_i({ \hk_dat_i[31] , \hk_dat_i[30] , \hk_dat_i[29] , \hk_dat_i[28] , \hk_dat_i[27] , \hk_dat_i[26] , \hk_dat_i[25] , \hk_dat_i[24] , \hk_dat_i[23] , \hk_dat_i[22] , \hk_dat_i[21] , \hk_dat_i[20] , \hk_dat_i[19] , \hk_dat_i[18] , \hk_dat_i[17] , \hk_dat_i[16] , \hk_dat_i[15] , \hk_dat_i[14] , \hk_dat_i[13] , \hk_dat_i[12] , \hk_dat_i[11] , \hk_dat_i[10] , \hk_dat_i[9] , \hk_dat_i[8] , \hk_dat_i[7] , \hk_dat_i[6] , \hk_dat_i[5] , \hk_dat_i[4] , \hk_dat_i[3] , \hk_dat_i[2] , \hk_dat_i[1] , \hk_dat_i[0] }),
.hk_stb_o(hk_stb_o),
.hk_cyc_o(hk_cyc_o),
.irq({ \irq_spi[2] , \irq_spi[1] , \irq_spi[0] , \user_irq[2] , \user_irq[1] , \user_irq[0] }),
.la_iena({ \la_iena_mprj[127] , \la_iena_mprj[126] , \la_iena_mprj[125] , \la_iena_mprj[124] , \la_iena_mprj[123] , \la_iena_mprj[122] , \la_iena_mprj[121] , \la_iena_mprj[120] , \la_iena_mprj[119] , \la_iena_mprj[118] , \la_iena_mprj[117] , \la_iena_mprj[116] , \la_iena_mprj[115] , \la_iena_mprj[114] , \la_iena_mprj[113] , \la_iena_mprj[112] , \la_iena_mprj[111] , \la_iena_mprj[110] , \la_iena_mprj[109] , \la_iena_mprj[108] , \la_iena_mprj[107] , \la_iena_mprj[106] , \la_iena_mprj[105] , \la_iena_mprj[104] , \la_iena_mprj[103] , \la_iena_mprj[102] , \la_iena_mprj[101] , \la_iena_mprj[100] , \la_iena_mprj[99] , \la_iena_mprj[98] , \la_iena_mprj[97] , \la_iena_mprj[96] , \la_iena_mprj[95] , \la_iena_mprj[94] , \la_iena_mprj[93] , \la_iena_mprj[92] , \la_iena_mprj[91] , \la_iena_mprj[90] , \la_iena_mprj[89] , \la_iena_mprj[88] , \la_iena_mprj[87] , \la_iena_mprj[86] , \la_iena_mprj[85] , \la_iena_mprj[84] , \la_iena_mprj[83] , \la_iena_mprj[82] , \la_iena_mprj[81] , \la_iena_mprj[80] , \la_iena_mprj[79] , \la_iena_mprj[78] , \la_iena_mprj[77] , \la_iena_mprj[76] , \la_iena_mprj[75] , \la_iena_mprj[74] , \la_iena_mprj[73] , \la_iena_mprj[72] , \la_iena_mprj[71] , \la_iena_mprj[70] , \la_iena_mprj[69] , \la_iena_mprj[68] , \la_iena_mprj[67] , \la_iena_mprj[66] , \la_iena_mprj[65] , \la_iena_mprj[64] , \la_iena_mprj[63] , \la_iena_mprj[62] , \la_iena_mprj[61] , \la_iena_mprj[60] , \la_iena_mprj[59] , \la_iena_mprj[58] , \la_iena_mprj[57] , \la_iena_mprj[56] , \la_iena_mprj[55] , \la_iena_mprj[54] , \la_iena_mprj[53] , \la_iena_mprj[52] , \la_iena_mprj[51] , \la_iena_mprj[50] , \la_iena_mprj[49] , \la_iena_mprj[48] , \la_iena_mprj[47] , \la_iena_mprj[46] , \la_iena_mprj[45] , \la_iena_mprj[44] , \la_iena_mprj[43] , \la_iena_mprj[42] , \la_iena_mprj[41] , \la_iena_mprj[40] , \la_iena_mprj[39] , \la_iena_mprj[38] , \la_iena_mprj[37] , \la_iena_mprj[36] , \la_iena_mprj[35] , \la_iena_mprj[34] , \la_iena_mprj[33] , \la_iena_mprj[32] , \la_iena_mprj[31] , \la_iena_mprj[30] , \la_iena_mprj[29] , \la_iena_mprj[28] , \la_iena_mprj[27] , \la_iena_mprj[26] , \la_iena_mprj[25] , \la_iena_mprj[24] , \la_iena_mprj[23] , \la_iena_mprj[22] , \la_iena_mprj[21] , \la_iena_mprj[20] , \la_iena_mprj[19] , \la_iena_mprj[18] , \la_iena_mprj[17] , \la_iena_mprj[16] , \la_iena_mprj[15] , \la_iena_mprj[14] , \la_iena_mprj[13] , \la_iena_mprj[12] , \la_iena_mprj[11] , \la_iena_mprj[10] , \la_iena_mprj[9] , \la_iena_mprj[8] , \la_iena_mprj[7] , \la_iena_mprj[6] , \la_iena_mprj[5] , \la_iena_mprj[4] , \la_iena_mprj[3] , \la_iena_mprj[2] , \la_iena_mprj[1] , \la_iena_mprj[0] }),
.la_input({ \la_data_in_mprj[127] , \la_data_in_mprj[126] , \la_data_in_mprj[125] , \la_data_in_mprj[124] , \la_data_in_mprj[123] , \la_data_in_mprj[122] , \la_data_in_mprj[121] , \la_data_in_mprj[120] , \la_data_in_mprj[119] , \la_data_in_mprj[118] , \la_data_in_mprj[117] , \la_data_in_mprj[116] , \la_data_in_mprj[115] , \la_data_in_mprj[114] , \la_data_in_mprj[113] , \la_data_in_mprj[112] , \la_data_in_mprj[111] , \la_data_in_mprj[110] , \la_data_in_mprj[109] , \la_data_in_mprj[108] , \la_data_in_mprj[107] , \la_data_in_mprj[106] , \la_data_in_mprj[105] , \la_data_in_mprj[104] , \la_data_in_mprj[103] , \la_data_in_mprj[102] , \la_data_in_mprj[101] , \la_data_in_mprj[100] , \la_data_in_mprj[99] , \la_data_in_mprj[98] , \la_data_in_mprj[97] , \la_data_in_mprj[96] , \la_data_in_mprj[95] , \la_data_in_mprj[94] , \la_data_in_mprj[93] , \la_data_in_mprj[92] , \la_data_in_mprj[91] , \la_data_in_mprj[90] , \la_data_in_mprj[89] , \la_data_in_mprj[88] , \la_data_in_mprj[87] , \la_data_in_mprj[86] , \la_data_in_mprj[85] , \la_data_in_mprj[84] , \la_data_in_mprj[83] , \la_data_in_mprj[82] , \la_data_in_mprj[81] , \la_data_in_mprj[80] , \la_data_in_mprj[79] , \la_data_in_mprj[78] , \la_data_in_mprj[77] , \la_data_in_mprj[76] , \la_data_in_mprj[75] , \la_data_in_mprj[74] , \la_data_in_mprj[73] , \la_data_in_mprj[72] , \la_data_in_mprj[71] , \la_data_in_mprj[70] , \la_data_in_mprj[69] , \la_data_in_mprj[68] , \la_data_in_mprj[67] , \la_data_in_mprj[66] , \la_data_in_mprj[65] , \la_data_in_mprj[64] , \la_data_in_mprj[63] , \la_data_in_mprj[62] , \la_data_in_mprj[61] , \la_data_in_mprj[60] , \la_data_in_mprj[59] , \la_data_in_mprj[58] , \la_data_in_mprj[57] , \la_data_in_mprj[56] , \la_data_in_mprj[55] , \la_data_in_mprj[54] , \la_data_in_mprj[53] , \la_data_in_mprj[52] , \la_data_in_mprj[51] , \la_data_in_mprj[50] , \la_data_in_mprj[49] , \la_data_in_mprj[48] , \la_data_in_mprj[47] , \la_data_in_mprj[46] , \la_data_in_mprj[45] , \la_data_in_mprj[44] , \la_data_in_mprj[43] , \la_data_in_mprj[42] , \la_data_in_mprj[41] , \la_data_in_mprj[40] , \la_data_in_mprj[39] , \la_data_in_mprj[38] , \la_data_in_mprj[37] , \la_data_in_mprj[36] , \la_data_in_mprj[35] , \la_data_in_mprj[34] , \la_data_in_mprj[33] , \la_data_in_mprj[32] , \la_data_in_mprj[31] , \la_data_in_mprj[30] , \la_data_in_mprj[29] , \la_data_in_mprj[28] , \la_data_in_mprj[27] , \la_data_in_mprj[26] , \la_data_in_mprj[25] , \la_data_in_mprj[24] , \la_data_in_mprj[23] , \la_data_in_mprj[22] , \la_data_in_mprj[21] , \la_data_in_mprj[20] , \la_data_in_mprj[19] , \la_data_in_mprj[18] , \la_data_in_mprj[17] , \la_data_in_mprj[16] , \la_data_in_mprj[15] , \la_data_in_mprj[14] , \la_data_in_mprj[13] , \la_data_in_mprj[12] , \la_data_in_mprj[11] , \la_data_in_mprj[10] , \la_data_in_mprj[9] , \la_data_in_mprj[8] , \la_data_in_mprj[7] , \la_data_in_mprj[6] , \la_data_in_mprj[5] , \la_data_in_mprj[4] , \la_data_in_mprj[3] , \la_data_in_mprj[2] , \la_data_in_mprj[1] , \la_data_in_mprj[0] }),
@ -4114,60 +4282,97 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
.trap(trap),
.uart_enabled(uart_enabled)
);
spare_logic_block \spare_logic[0] (
.spare_xfq({ \spare_xfq_nc[1] , \spare_xfq_nc[0] }),
.spare_xfqn({ \spare_xfqn_nc[1] , \spare_xfqn_nc[0] }),
.spare_xi({ \spare_xi_nc[3] , \spare_xi_nc[2] , \spare_xi_nc[1] , \spare_xi_nc[0] }),
.spare_xib(\spare_xib_nc[0] ),
.spare_xmx({ \spare_xmx_nc[1] , \spare_xmx_nc[0] }),
.spare_xna({ \spare_xna_nc[1] , \spare_xna_nc[0] }),
.spare_xno({ \spare_xno_nc[1] , \spare_xno_nc[0] }),
.spare_xz({ \spare_xz_nc[26] , \spare_xz_nc[25] , \spare_xz_nc[24] , \spare_xz_nc[23] , \spare_xz_nc[22] , \spare_xz_nc[21] , \spare_xz_nc[20] , \spare_xz_nc[19] , \spare_xz_nc[18] , \spare_xz_nc[17] , \spare_xz_nc[16] , \spare_xz_nc[15] , \spare_xz_nc[14] , \spare_xz_nc[13] , \spare_xz_nc[12] , \spare_xz_nc[11] , \spare_xz_nc[10] , \spare_xz_nc[9] , \spare_xz_nc[8] , \spare_xz_nc[7] , \spare_xz_nc[6] , \spare_xz_nc[5] , \spare_xz_nc[4] , \spare_xz_nc[3] , \spare_xz_nc[2] , \spare_xz_nc[1] , \spare_xz_nc[0] }),
.vccd(vccd_core),
.vssd(vssd_core)
);
spare_logic_block \spare_logic[1] (
.spare_xfq({ \spare_xfq_nc[3] , \spare_xfq_nc[2] }),
.spare_xfqn({ \spare_xfqn_nc[3] , \spare_xfqn_nc[2] }),
.spare_xi({ \spare_xi_nc[7] , \spare_xi_nc[6] , \spare_xi_nc[5] , \spare_xi_nc[4] }),
.spare_xib(\spare_xib_nc[1] ),
.spare_xmx({ \spare_xmx_nc[3] , \spare_xmx_nc[2] }),
.spare_xna({ \spare_xna_nc[3] , \spare_xna_nc[2] }),
.spare_xno({ \spare_xno_nc[3] , \spare_xno_nc[2] }),
.spare_xz({ \spare_xz_nc[53] , \spare_xz_nc[52] , \spare_xz_nc[51] , \spare_xz_nc[50] , \spare_xz_nc[49] , \spare_xz_nc[48] , \spare_xz_nc[47] , \spare_xz_nc[46] , \spare_xz_nc[45] , \spare_xz_nc[44] , \spare_xz_nc[43] , \spare_xz_nc[42] , \spare_xz_nc[41] , \spare_xz_nc[40] , \spare_xz_nc[39] , \spare_xz_nc[38] , \spare_xz_nc[37] , \spare_xz_nc[36] , \spare_xz_nc[35] , \spare_xz_nc[34] , \spare_xz_nc[33] , \spare_xz_nc[32] , \spare_xz_nc[31] , \spare_xz_nc[30] , \spare_xz_nc[29] , \spare_xz_nc[28] , \spare_xz_nc[27] }),
.vccd(vccd_core),
.vssd(vssd_core)
);
spare_logic_block \spare_logic[2] (
.spare_xfq({ \spare_xfq_nc[5] , \spare_xfq_nc[4] }),
.spare_xfqn({ \spare_xfqn_nc[5] , \spare_xfqn_nc[4] }),
.spare_xi({ \spare_xi_nc[11] , \spare_xi_nc[10] , \spare_xi_nc[9] , \spare_xi_nc[8] }),
.spare_xib(\spare_xib_nc[2] ),
.spare_xmx({ \spare_xmx_nc[5] , \spare_xmx_nc[4] }),
.spare_xna({ \spare_xna_nc[5] , \spare_xna_nc[4] }),
.spare_xno({ \spare_xno_nc[5] , \spare_xno_nc[4] }),
.spare_xz({ \spare_xz_nc[80] , \spare_xz_nc[79] , \spare_xz_nc[78] , \spare_xz_nc[77] , \spare_xz_nc[76] , \spare_xz_nc[75] , \spare_xz_nc[74] , \spare_xz_nc[73] , \spare_xz_nc[72] , \spare_xz_nc[71] , \spare_xz_nc[70] , \spare_xz_nc[69] , \spare_xz_nc[68] , \spare_xz_nc[67] , \spare_xz_nc[66] , \spare_xz_nc[65] , \spare_xz_nc[64] , \spare_xz_nc[63] , \spare_xz_nc[62] , \spare_xz_nc[61] , \spare_xz_nc[60] , \spare_xz_nc[59] , \spare_xz_nc[58] , \spare_xz_nc[57] , \spare_xz_nc[56] , \spare_xz_nc[55] , \spare_xz_nc[54] }),
.vccd(vccd_core),
.vssd(vssd_core)
);
spare_logic_block \spare_logic[3] (
.spare_xfq({ \spare_xfq_nc[7] , \spare_xfq_nc[6] }),
.spare_xfqn({ \spare_xfqn_nc[7] , \spare_xfqn_nc[6] }),
.spare_xi({ \spare_xi_nc[15] , \spare_xi_nc[14] , \spare_xi_nc[13] , \spare_xi_nc[12] }),
.spare_xib(\spare_xib_nc[3] ),
.spare_xmx({ \spare_xmx_nc[7] , \spare_xmx_nc[6] }),
.spare_xna({ \spare_xna_nc[7] , \spare_xna_nc[6] }),
.spare_xno({ \spare_xno_nc[7] , \spare_xno_nc[6] }),
.spare_xz({ \spare_xz_nc[107] , \spare_xz_nc[106] , \spare_xz_nc[105] , \spare_xz_nc[104] , \spare_xz_nc[103] , \spare_xz_nc[102] , \spare_xz_nc[101] , \spare_xz_nc[100] , \spare_xz_nc[99] , \spare_xz_nc[98] , \spare_xz_nc[97] , \spare_xz_nc[96] , \spare_xz_nc[95] , \spare_xz_nc[94] , \spare_xz_nc[93] , \spare_xz_nc[92] , \spare_xz_nc[91] , \spare_xz_nc[90] , \spare_xz_nc[89] , \spare_xz_nc[88] , \spare_xz_nc[87] , \spare_xz_nc[86] , \spare_xz_nc[85] , \spare_xz_nc[84] , \spare_xz_nc[83] , \spare_xz_nc[82] , \spare_xz_nc[81] }),
.vccd(vccd_core),
.vssd(vssd_core)
);
user_id_programming user_id_value (
.VGND(vssd_core),
.VPWR(vccd_core),
.mask_rev({ \mask_rev[31] , \mask_rev[30] , \mask_rev[29] , \mask_rev[28] , \mask_rev[27] , \mask_rev[26] , \mask_rev[25] , \mask_rev[24] , \mask_rev[23] , \mask_rev[22] , \mask_rev[21] , \mask_rev[20] , \mask_rev[19] , \mask_rev[18] , \mask_rev[17] , \mask_rev[16] , \mask_rev[15] , \mask_rev[14] , \mask_rev[13] , \mask_rev[12] , \mask_rev[11] , \mask_rev[10] , \mask_rev[9] , \mask_rev[8] , \mask_rev[7] , \mask_rev[6] , \mask_rev[5] , \mask_rev[4] , \mask_rev[3] , \mask_rev[2] , \mask_rev[1] , \mask_rev[0] })
);
spare_logic_block \spare_logic[0] (
.vssd(vssd_core),
.vccd(vccd_core),
.spare_xz(),
.spare_xi(),
.spare_xib(),
.spare_xna(),
.spare_xno(),
.spare_xmx(),
.spare_xfq(),
.spare_xfqn()
);
spare_logic_block \spare_logic[1] (
.vssd(vssd_core),
.vccd(vccd_core),
.spare_xz(),
.spare_xi(),
.spare_xib(),
.spare_xna(),
.spare_xno(),
.spare_xmx(),
.spare_xfq(),
.spare_xfqn()
);
spare_logic_block \spare_logic[2] (
.vssd(vssd_core),
.vccd(vccd_core),
.spare_xz(),
.spare_xi(),
.spare_xib(),
.spare_xna(),
.spare_xno(),
.spare_xmx(),
.spare_xfq(),
.spare_xfqn()
);
spare_logic_block \spare_logic[3] (
.vssd(vssd_core),
.vccd(vccd_core),
.spare_xz(),
.spare_xi(),
.spare_xib(),
.spare_xna(),
.spare_xno(),
.spare_xmx(),
.spare_xfq(),
.spare_xfqn()
);
assign \gpio_serial_link_2_shifted[11] = \gpio_serial_link_2[12] ;
assign \gpio_serial_link_2_shifted[10] = \gpio_serial_link_2[11] ;
assign \gpio_serial_link_2_shifted[9] = \gpio_serial_link_2[10] ;
assign \gpio_serial_link_2_shifted[8] = \gpio_serial_link_2[9] ;
assign \gpio_serial_link_2_shifted[7] = \gpio_serial_link_2[8] ;
assign \gpio_serial_link_2_shifted[6] = \gpio_serial_link_2[7] ;
assign \gpio_serial_link_2_shifted[5] = \gpio_serial_link_2[6] ;
assign \gpio_serial_link_2_shifted[4] = \gpio_serial_link_2[5] ;
assign \gpio_serial_link_2_shifted[3] = \gpio_serial_link_2[4] ;
assign \gpio_serial_link_2_shifted[2] = \gpio_serial_link_2[3] ;
assign \gpio_serial_link_2_shifted[1] = \gpio_serial_link_2[2] ;
assign \gpio_serial_link_2_shifted[0] = \gpio_serial_link_2[1] ;
assign \gpio_load_2_shifted[12] = \gpio_load_1_shifted[0] ;
assign \gpio_load_2_shifted[11] = \gpio_load_2[12] ;
assign \gpio_load_2_shifted[10] = \gpio_load_2[11] ;
assign \gpio_load_2_shifted[9] = \gpio_load_2[10] ;
assign \gpio_load_2_shifted[8] = \gpio_load_2[9] ;
assign \gpio_load_2_shifted[7] = \gpio_load_2[8] ;
assign \gpio_load_2_shifted[6] = \gpio_load_2[7] ;
assign \gpio_load_2_shifted[5] = \gpio_load_2[6] ;
assign \gpio_load_2_shifted[4] = \gpio_load_2[5] ;
assign \gpio_load_2_shifted[3] = \gpio_load_2[4] ;
assign \gpio_load_2_shifted[2] = \gpio_load_2[3] ;
assign \gpio_load_2_shifted[1] = \gpio_load_2[2] ;
assign \gpio_load_2_shifted[0] = \gpio_load_2[1] ;
assign \gpio_resetn_2_shifted[12] = \gpio_resetn_1_shifted[0] ;
assign \gpio_resetn_2_shifted[11] = \gpio_resetn_2[12] ;
assign \gpio_resetn_2_shifted[10] = \gpio_resetn_2[11] ;
assign \gpio_resetn_2_shifted[9] = \gpio_resetn_2[10] ;
assign \gpio_resetn_2_shifted[8] = \gpio_resetn_2[9] ;
assign \gpio_resetn_2_shifted[7] = \gpio_resetn_2[8] ;
assign \gpio_resetn_2_shifted[6] = \gpio_resetn_2[7] ;
assign \gpio_resetn_2_shifted[5] = \gpio_resetn_2[6] ;
assign \gpio_resetn_2_shifted[4] = \gpio_resetn_2[5] ;
assign \gpio_resetn_2_shifted[3] = \gpio_resetn_2[4] ;
assign \gpio_resetn_2_shifted[2] = \gpio_resetn_2[3] ;
assign \gpio_resetn_2_shifted[1] = \gpio_resetn_2[2] ;
assign \gpio_resetn_2_shifted[0] = \gpio_resetn_2[1] ;
assign \gpio_resetn_1_shifted[13] = \gpio_resetn_1[12] ;
assign \gpio_resetn_1_shifted[12] = \gpio_resetn_1[11] ;
assign \gpio_resetn_1_shifted[11] = \gpio_resetn_1[10] ;
@ -4181,6 +4386,32 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
assign \gpio_resetn_1_shifted[3] = \gpio_resetn_1[2] ;
assign \gpio_resetn_1_shifted[2] = \gpio_resetn_1[1] ;
assign \gpio_resetn_1_shifted[1] = \gpio_resetn_1[0] ;
assign \gpio_load_1_shifted[13] = \gpio_load_1[12] ;
assign \gpio_load_1_shifted[12] = \gpio_load_1[11] ;
assign \gpio_load_1_shifted[11] = \gpio_load_1[10] ;
assign \gpio_load_1_shifted[10] = \gpio_load_1[9] ;
assign \gpio_load_1_shifted[9] = \gpio_load_1[8] ;
assign \gpio_load_1_shifted[8] = \gpio_load_1[7] ;
assign \gpio_load_1_shifted[7] = \gpio_load_1[6] ;
assign \gpio_load_1_shifted[6] = \gpio_load_1[5] ;
assign \gpio_load_1_shifted[5] = \gpio_load_1[4] ;
assign \gpio_load_1_shifted[4] = \gpio_load_1[3] ;
assign \gpio_load_1_shifted[3] = \gpio_load_1[2] ;
assign \gpio_load_1_shifted[2] = \gpio_load_1[1] ;
assign \gpio_load_1_shifted[1] = \gpio_load_1[0] ;
assign \gpio_clock_1_shifted[13] = \gpio_clock_1[12] ;
assign \gpio_clock_1_shifted[12] = \gpio_clock_1[11] ;
assign \gpio_clock_1_shifted[11] = \gpio_clock_1[10] ;
assign \gpio_clock_1_shifted[10] = \gpio_clock_1[9] ;
assign \gpio_clock_1_shifted[9] = \gpio_clock_1[8] ;
assign \gpio_clock_1_shifted[8] = \gpio_clock_1[7] ;
assign \gpio_clock_1_shifted[7] = \gpio_clock_1[6] ;
assign \gpio_clock_1_shifted[6] = \gpio_clock_1[5] ;
assign \gpio_clock_1_shifted[5] = \gpio_clock_1[4] ;
assign \gpio_clock_1_shifted[4] = \gpio_clock_1[3] ;
assign \gpio_clock_1_shifted[3] = \gpio_clock_1[2] ;
assign \gpio_clock_1_shifted[2] = \gpio_clock_1[1] ;
assign \gpio_clock_1_shifted[1] = \gpio_clock_1[0] ;
assign \gpio_clock_2_shifted[12] = \gpio_clock_1_shifted[0] ;
assign \gpio_clock_2_shifted[11] = \gpio_clock_2[12] ;
assign \gpio_clock_2_shifted[10] = \gpio_clock_2[11] ;
@ -4194,31 +4425,6 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
assign \gpio_clock_2_shifted[2] = \gpio_clock_2[3] ;
assign \gpio_clock_2_shifted[1] = \gpio_clock_2[2] ;
assign \gpio_clock_2_shifted[0] = \gpio_clock_2[1] ;
assign \gpio_serial_link_2_shifted[11] = \gpio_serial_link_2[12] ;
assign \gpio_serial_link_2_shifted[10] = \gpio_serial_link_2[11] ;
assign \gpio_serial_link_2_shifted[9] = \gpio_serial_link_2[10] ;
assign \gpio_serial_link_2_shifted[8] = \gpio_serial_link_2[9] ;
assign \gpio_serial_link_2_shifted[7] = \gpio_serial_link_2[8] ;
assign \gpio_serial_link_2_shifted[6] = \gpio_serial_link_2[7] ;
assign \gpio_serial_link_2_shifted[5] = \gpio_serial_link_2[6] ;
assign \gpio_serial_link_2_shifted[4] = \gpio_serial_link_2[5] ;
assign \gpio_serial_link_2_shifted[3] = \gpio_serial_link_2[4] ;
assign \gpio_serial_link_2_shifted[2] = \gpio_serial_link_2[3] ;
assign \gpio_serial_link_2_shifted[1] = \gpio_serial_link_2[2] ;
assign \gpio_serial_link_2_shifted[0] = \gpio_serial_link_2[1] ;
assign \gpio_serial_link_1_shifted[13] = \gpio_serial_link_1[12] ;
assign \gpio_serial_link_1_shifted[12] = \gpio_serial_link_1[11] ;
assign \gpio_serial_link_1_shifted[11] = \gpio_serial_link_1[10] ;
assign \gpio_serial_link_1_shifted[10] = \gpio_serial_link_1[9] ;
assign \gpio_serial_link_1_shifted[9] = \gpio_serial_link_1[8] ;
assign \gpio_serial_link_1_shifted[8] = \gpio_serial_link_1[7] ;
assign \gpio_serial_link_1_shifted[7] = \gpio_serial_link_1[6] ;
assign \gpio_serial_link_1_shifted[6] = \gpio_serial_link_1[5] ;
assign \gpio_serial_link_1_shifted[5] = \gpio_serial_link_1[4] ;
assign \gpio_serial_link_1_shifted[4] = \gpio_serial_link_1[3] ;
assign \gpio_serial_link_1_shifted[3] = \gpio_serial_link_1[2] ;
assign \gpio_serial_link_1_shifted[2] = \gpio_serial_link_1[1] ;
assign \gpio_serial_link_1_shifted[1] = \gpio_serial_link_1[0] ;
assign \user_io_in_3v3[26] = \mprj_io_in_3v3[26] ;
assign \user_io_in_3v3[25] = \mprj_io_in_3v3[25] ;
assign \user_io_in_3v3[24] = \mprj_io_in_3v3[24] ;
@ -4246,58 +4452,19 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd
assign \user_io_in_3v3[2] = \mprj_io_in_3v3[2] ;
assign \user_io_in_3v3[1] = \mprj_io_in_3v3[1] ;
assign \user_io_in_3v3[0] = \mprj_io_in_3v3[0] ;
assign \gpio_load_2_shifted[12] = \gpio_load_1_shifted[0] ;
assign \gpio_load_2_shifted[11] = \gpio_load_2[12] ;
assign \gpio_load_2_shifted[10] = \gpio_load_2[11] ;
assign \gpio_load_2_shifted[9] = \gpio_load_2[10] ;
assign \gpio_load_2_shifted[8] = \gpio_load_2[9] ;
assign \gpio_load_2_shifted[7] = \gpio_load_2[8] ;
assign \gpio_load_2_shifted[6] = \gpio_load_2[7] ;
assign \gpio_load_2_shifted[5] = \gpio_load_2[6] ;
assign \gpio_load_2_shifted[4] = \gpio_load_2[5] ;
assign \gpio_load_2_shifted[3] = \gpio_load_2[4] ;
assign \gpio_load_2_shifted[2] = \gpio_load_2[3] ;
assign \gpio_load_2_shifted[1] = \gpio_load_2[2] ;
assign \gpio_load_2_shifted[0] = \gpio_load_2[1] ;
assign \gpio_resetn_2_shifted[12] = \gpio_resetn_1_shifted[0] ;
assign \gpio_resetn_2_shifted[11] = \gpio_resetn_2[12] ;
assign \gpio_resetn_2_shifted[10] = \gpio_resetn_2[11] ;
assign \gpio_resetn_2_shifted[9] = \gpio_resetn_2[10] ;
assign \gpio_resetn_2_shifted[8] = \gpio_resetn_2[9] ;
assign \gpio_resetn_2_shifted[7] = \gpio_resetn_2[8] ;
assign \gpio_resetn_2_shifted[6] = \gpio_resetn_2[7] ;
assign \gpio_resetn_2_shifted[5] = \gpio_resetn_2[6] ;
assign \gpio_resetn_2_shifted[4] = \gpio_resetn_2[5] ;
assign \gpio_resetn_2_shifted[3] = \gpio_resetn_2[4] ;
assign \gpio_resetn_2_shifted[2] = \gpio_resetn_2[3] ;
assign \gpio_resetn_2_shifted[1] = \gpio_resetn_2[2] ;
assign \gpio_resetn_2_shifted[0] = \gpio_resetn_2[1] ;
assign \gpio_load_1_shifted[13] = \gpio_load_1[12] ;
assign \gpio_load_1_shifted[12] = \gpio_load_1[11] ;
assign \gpio_load_1_shifted[11] = \gpio_load_1[10] ;
assign \gpio_load_1_shifted[10] = \gpio_load_1[9] ;
assign \gpio_load_1_shifted[9] = \gpio_load_1[8] ;
assign \gpio_load_1_shifted[8] = \gpio_load_1[7] ;
assign \gpio_load_1_shifted[7] = \gpio_load_1[6] ;
assign \gpio_load_1_shifted[6] = \gpio_load_1[5] ;
assign \gpio_load_1_shifted[5] = \gpio_load_1[4] ;
assign \gpio_load_1_shifted[4] = \gpio_load_1[3] ;
assign \gpio_load_1_shifted[3] = \gpio_load_1[2] ;
assign \gpio_load_1_shifted[2] = \gpio_load_1[1] ;
assign \gpio_load_1_shifted[1] = \gpio_load_1[0] ;
assign \gpio_clock_1_shifted[13] = \gpio_clock_1[12] ;
assign \gpio_clock_1_shifted[12] = \gpio_clock_1[11] ;
assign \gpio_clock_1_shifted[11] = \gpio_clock_1[10] ;
assign \gpio_clock_1_shifted[10] = \gpio_clock_1[9] ;
assign \gpio_clock_1_shifted[9] = \gpio_clock_1[8] ;
assign \gpio_clock_1_shifted[8] = \gpio_clock_1[7] ;
assign \gpio_clock_1_shifted[7] = \gpio_clock_1[6] ;
assign \gpio_clock_1_shifted[6] = \gpio_clock_1[5] ;
assign \gpio_clock_1_shifted[5] = \gpio_clock_1[4] ;
assign \gpio_clock_1_shifted[4] = \gpio_clock_1[3] ;
assign \gpio_clock_1_shifted[3] = \gpio_clock_1[2] ;
assign \gpio_clock_1_shifted[2] = \gpio_clock_1[1] ;
assign \gpio_clock_1_shifted[1] = \gpio_clock_1[0] ;
assign \gpio_serial_link_1_shifted[13] = \gpio_serial_link_1[12] ;
assign \gpio_serial_link_1_shifted[12] = \gpio_serial_link_1[11] ;
assign \gpio_serial_link_1_shifted[11] = \gpio_serial_link_1[10] ;
assign \gpio_serial_link_1_shifted[10] = \gpio_serial_link_1[9] ;
assign \gpio_serial_link_1_shifted[9] = \gpio_serial_link_1[8] ;
assign \gpio_serial_link_1_shifted[8] = \gpio_serial_link_1[7] ;
assign \gpio_serial_link_1_shifted[7] = \gpio_serial_link_1[6] ;
assign \gpio_serial_link_1_shifted[6] = \gpio_serial_link_1[5] ;
assign \gpio_serial_link_1_shifted[5] = \gpio_serial_link_1[4] ;
assign \gpio_serial_link_1_shifted[4] = \gpio_serial_link_1[3] ;
assign \gpio_serial_link_1_shifted[3] = \gpio_serial_link_1[2] ;
assign \gpio_serial_link_1_shifted[2] = \gpio_serial_link_1[1] ;
assign \gpio_serial_link_1_shifted[1] = \gpio_serial_link_1[0] ;
assign mprj_io_loader_data_2 = \gpio_serial_link_2_shifted[12] ;
assign mprj_io_loader_data_1 = \gpio_serial_link_1_shifted[0] ;
assign mprj_io_loader_strobe = \gpio_load_1_shifted[0] ;

View File

@ -1398,5 +1398,7 @@ module caravan (
.spare_xfqn(spare_xfqn_nc)
);
caravan_power_routing fake_caravan_power_routing ();
endmodule
// `default_nettype wire

View File

@ -347,17 +347,11 @@ module chip_io_alt #(
`INPUT_PAD(clock, clock_core);
// Management GPIO pad
`INOUT_PAD(
gpio, gpio_in_core, gpio_out_core,
gpio_inenb_core, gpio_outenb_core, dm_all);
`INOUT_PAD(gpio, gpio_in_core, gpio_out_core, gpio_inenb_core, gpio_outenb_core, dm_all);
// Management Flash SPI pads
`INOUT_PAD(
flash_io0, flash_io0_di_core, flash_io0_do_core,
flash_io0_ieb_core, flash_io0_oeb_core, flash_io0_mode);
`INOUT_PAD(
flash_io1, flash_io1_di_core, flash_io1_do_core,
flash_io1_ieb_core, flash_io1_oeb_core, flash_io1_mode);
`INOUT_PAD(flash_io0, flash_io0_di_core, flash_io0_do_core, flash_io0_ieb_core, flash_io0_oeb_core, flash_io0_mode);
`INOUT_PAD(flash_io1, flash_io1_di_core, flash_io1_do_core, flash_io1_ieb_core, flash_io1_oeb_core, flash_io1_mode);
`OUTPUT_NO_INP_DIS_PAD(flash_csb, flash_csb_core, flash_csb_oeb_core);
`OUTPUT_NO_INP_DIS_PAD(flash_clk, flash_clk_core, flash_clk_oeb_core);