mirror of https://github.com/efabless/caravel.git
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:
parent
b707fbd9b9
commit
71600440bc
32788
def/caravan.def
32788
def/caravan.def
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1248
lef/simple_por.lef
1248
lef/simple_por.lef
File diff suppressed because it is too large
Load Diff
91147
mag/caravan.mag
91147
mag/caravan.mag
File diff suppressed because it is too large
Load Diff
|
@ -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 >>
|
|
@ -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 >>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 >>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
4
manifest
4
manifest
|
@ -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
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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
|
@ -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] ;
|
||||
|
|
|
@ -1398,5 +1398,7 @@ module caravan (
|
|||
.spare_xfqn(spare_xfqn_nc)
|
||||
);
|
||||
|
||||
caravan_power_routing fake_caravan_power_routing ();
|
||||
|
||||
endmodule
|
||||
// `default_nettype wire
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue