feat: add SkullFET logo based on skullfet revision c8d587c482c585cce34a5d59a199509bacae4c3f
diff --git a/gds/skullfet_logo.gds b/gds/skullfet_logo.gds new file mode 100755 index 0000000..bcf00f4 --- /dev/null +++ b/gds/skullfet_logo.gds Binary files differ
diff --git a/lef/skullfet_logo.lef b/lef/skullfet_logo.lef new file mode 100755 index 0000000..a1df86b --- /dev/null +++ b/lef/skullfet_logo.lef
@@ -0,0 +1,352 @@ +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; +MACRO skullfet_logo + CLASS BLOCK ; + FOREIGN skullfet_logo ; + ORIGIN -50.000 -50.000 ; + SIZE 700.000 BY 800.000 ; + PIN vss + DIRECTION INOUT ; + USE GROUND ; + SHAPE ABUTMENT ; + PORT + LAYER Metal4 ; + RECT 725.000 50.000 750.000 850.000 ; + END + END vss + PIN vdd + DIRECTION INOUT ; + USE POWER ; + SHAPE ABUTMENT ; + PORT + LAYER Metal4 ; + RECT 50.000 50.000 75.000 850.000 ; + END + END vdd + OBS + LAYER Metal1 ; + RECT 351.500 807.500 459.500 821.000 ; + RECT 338.000 794.000 459.500 807.500 ; + RECT 311.000 767.000 486.500 794.000 ; + RECT 297.500 713.000 500.000 767.000 ; + RECT 297.500 699.500 338.000 713.000 ; + RECT 297.500 686.000 324.500 699.500 ; + RECT 311.000 672.500 324.500 686.000 ; + RECT 378.500 672.500 419.000 713.000 ; + RECT 459.500 699.500 500.000 713.000 ; + RECT 473.000 686.000 500.000 699.500 ; + RECT 473.000 672.500 486.500 686.000 ; + RECT 311.000 659.000 338.000 672.500 ; + RECT 365.000 659.000 432.500 672.500 ; + RECT 459.500 659.000 486.500 672.500 ; + RECT 311.000 645.500 392.000 659.000 ; + RECT 405.500 645.500 473.000 659.000 ; + RECT 338.000 632.000 378.500 645.500 ; + RECT 419.000 632.000 473.000 645.500 ; + RECT 351.500 605.000 446.000 632.000 ; + RECT 270.500 591.500 311.000 605.000 ; + RECT 351.500 591.500 365.000 605.000 ; + RECT 378.500 591.500 392.000 605.000 ; + RECT 405.500 591.500 419.000 605.000 ; + RECT 432.500 591.500 446.000 605.000 ; + RECT 486.500 591.500 527.000 605.000 ; + RECT 257.000 564.500 324.500 591.500 ; + RECT 473.000 564.500 540.500 591.500 ; + RECT 270.500 551.000 351.500 564.500 ; + RECT 446.000 551.000 527.000 564.500 ; + RECT 311.000 537.500 365.000 551.000 ; + RECT 432.500 537.500 486.500 551.000 ; + RECT 338.000 524.000 392.000 537.500 ; + RECT 405.500 524.000 459.500 537.500 ; + RECT 365.000 497.000 432.500 524.000 ; + RECT 338.000 483.500 392.000 497.000 ; + RECT 405.500 483.500 459.500 497.000 ; + RECT 270.500 470.000 365.000 483.500 ; + RECT 432.500 470.000 540.500 483.500 ; + RECT 257.000 456.500 338.000 470.000 ; + RECT 459.500 456.500 540.500 470.000 ; + RECT 257.000 443.000 311.000 456.500 ; + RECT 486.500 443.000 540.500 456.500 ; + RECT 257.000 429.500 297.500 443.000 ; + RECT 500.000 429.500 540.500 443.000 ; + RECT 270.500 416.000 284.000 429.500 ; + RECT 351.500 416.000 365.000 429.500 ; + RECT 378.500 416.000 392.000 429.500 ; + RECT 405.500 416.000 419.000 429.500 ; + RECT 432.500 416.000 446.000 429.500 ; + RECT 513.500 416.000 527.000 429.500 ; + RECT 351.500 389.000 446.000 416.000 ; + RECT 338.000 375.500 378.500 389.000 ; + RECT 419.000 375.500 473.000 389.000 ; + RECT 311.000 362.000 392.000 375.500 ; + RECT 405.500 362.000 473.000 375.500 ; + RECT 311.000 348.500 338.000 362.000 ; + RECT 365.000 348.500 432.500 362.000 ; + RECT 459.500 348.500 486.500 362.000 ; + RECT 311.000 335.000 324.500 348.500 ; + RECT 297.500 321.500 324.500 335.000 ; + RECT 297.500 308.000 338.000 321.500 ; + RECT 378.500 308.000 419.000 348.500 ; + RECT 473.000 335.000 486.500 348.500 ; + RECT 473.000 321.500 500.000 335.000 ; + RECT 459.500 308.000 500.000 321.500 ; + RECT 297.500 254.000 500.000 308.000 ; + RECT 311.000 227.000 486.500 254.000 ; + RECT 338.000 213.500 459.500 227.000 ; + RECT 351.500 200.000 459.500 213.500 ; + RECT 170.000 155.000 210.000 160.000 ; + RECT 235.000 155.000 240.000 160.000 ; + RECT 260.000 155.000 265.000 160.000 ; + RECT 165.000 150.000 210.000 155.000 ; + RECT 230.000 150.000 240.000 155.000 ; + RECT 255.000 150.000 270.000 155.000 ; + RECT 160.000 120.000 175.000 150.000 ; + RECT 195.000 140.000 210.000 150.000 ; + RECT 195.000 135.000 205.000 140.000 ; + RECT 195.000 130.000 200.000 135.000 ; + RECT 225.000 130.000 240.000 150.000 ; + RECT 250.000 145.000 270.000 150.000 ; + RECT 245.000 140.000 265.000 145.000 ; + RECT 245.000 135.000 260.000 140.000 ; + RECT 245.000 130.000 255.000 135.000 ; + RECT 225.000 125.000 255.000 130.000 ; + RECT 220.000 120.000 250.000 125.000 ; + RECT 150.000 115.000 210.000 120.000 ; + RECT 215.000 115.000 250.000 120.000 ; + RECT 155.000 110.000 210.000 115.000 ; + RECT 170.000 95.000 175.000 100.000 ; + RECT 165.000 90.000 175.000 95.000 ; + RECT 195.000 90.000 210.000 110.000 ; + RECT 225.000 110.000 255.000 115.000 ; + RECT 160.000 85.000 205.000 90.000 ; + RECT 155.000 80.000 200.000 85.000 ; + RECT 225.000 80.000 240.000 110.000 ; + RECT 245.000 105.000 255.000 110.000 ; + RECT 245.000 100.000 260.000 105.000 ; + RECT 245.000 95.000 265.000 100.000 ; + RECT 250.000 90.000 270.000 95.000 ; + RECT 255.000 85.000 270.000 90.000 ; + RECT 275.000 90.000 290.000 160.000 ; + RECT 310.000 155.000 315.000 160.000 ; + RECT 340.000 155.000 345.000 160.000 ; + RECT 390.000 155.000 395.000 160.000 ; + RECT 450.000 155.000 490.000 160.000 ; + RECT 515.000 155.000 555.000 160.000 ; + RECT 310.000 150.000 320.000 155.000 ; + RECT 335.000 150.000 345.000 155.000 ; + RECT 385.000 150.000 395.000 155.000 ; + RECT 445.000 150.000 490.000 155.000 ; + RECT 510.000 150.000 555.000 155.000 ; + RECT 580.000 150.000 595.000 160.000 ; + RECT 310.000 90.000 325.000 150.000 ; + RECT 330.000 90.000 345.000 150.000 ; + RECT 370.000 90.000 375.000 95.000 ; + RECT 275.000 85.000 320.000 90.000 ; + RECT 330.000 85.000 355.000 90.000 ; + RECT 365.000 85.000 375.000 90.000 ; + RECT 260.000 80.000 265.000 85.000 ; + RECT 275.000 80.000 315.000 85.000 ; + RECT 330.000 80.000 375.000 85.000 ; + RECT 380.000 90.000 395.000 150.000 ; + RECT 440.000 125.000 455.000 150.000 ; + RECT 475.000 140.000 490.000 150.000 ; + RECT 475.000 135.000 485.000 140.000 ; + RECT 475.000 130.000 480.000 135.000 ; + RECT 505.000 125.000 520.000 150.000 ; + RECT 540.000 140.000 555.000 150.000 ; + RECT 560.000 145.000 610.000 150.000 ; + RECT 565.000 140.000 615.000 145.000 ; + RECT 540.000 135.000 550.000 140.000 ; + RECT 575.000 135.000 615.000 140.000 ; + RECT 540.000 130.000 545.000 135.000 ; + RECT 435.000 120.000 470.000 125.000 ; + RECT 500.000 120.000 535.000 125.000 ; + RECT 430.000 115.000 470.000 120.000 ; + RECT 495.000 115.000 535.000 120.000 ; + RECT 420.000 90.000 425.000 95.000 ; + RECT 380.000 85.000 405.000 90.000 ; + RECT 415.000 85.000 425.000 90.000 ; + RECT 380.000 80.000 425.000 85.000 ; + RECT 440.000 80.000 455.000 115.000 ; + RECT 505.000 90.000 520.000 115.000 ; + RECT 540.000 105.000 545.000 110.000 ; + RECT 540.000 100.000 550.000 105.000 ; + RECT 540.000 90.000 555.000 100.000 ; + RECT 505.000 80.000 555.000 90.000 ; + RECT 580.000 90.000 595.000 135.000 ; + RECT 605.000 130.000 615.000 135.000 ; + RECT 610.000 125.000 615.000 130.000 ; + RECT 580.000 85.000 605.000 90.000 ; + RECT 575.000 80.000 600.000 85.000 ; + RECT 225.000 75.000 230.000 80.000 ; + RECT 330.000 75.000 335.000 80.000 ; + RECT 380.000 75.000 385.000 80.000 ; + LAYER Metal2 ; + RECT 250.000 200.000 550.000 850.000 ; + RECT 125.000 50.000 650.000 200.000 ; + LAYER Metal3 ; + RECT 250.000 200.000 550.000 850.000 ; + RECT 125.000 50.000 650.000 200.000 ; + LAYER Metal4 ; + RECT 351.500 807.500 459.500 821.000 ; + RECT 338.000 794.000 459.500 807.500 ; + RECT 311.000 767.000 486.500 794.000 ; + RECT 297.500 713.000 500.000 767.000 ; + RECT 297.500 699.500 338.000 713.000 ; + RECT 297.500 686.000 324.500 699.500 ; + RECT 311.000 672.500 324.500 686.000 ; + RECT 378.500 672.500 419.000 713.000 ; + RECT 459.500 699.500 500.000 713.000 ; + RECT 473.000 686.000 500.000 699.500 ; + RECT 473.000 672.500 486.500 686.000 ; + RECT 311.000 659.000 338.000 672.500 ; + RECT 365.000 659.000 432.500 672.500 ; + RECT 459.500 659.000 486.500 672.500 ; + RECT 311.000 645.500 392.000 659.000 ; + RECT 405.500 645.500 473.000 659.000 ; + RECT 338.000 632.000 378.500 645.500 ; + RECT 419.000 632.000 473.000 645.500 ; + RECT 351.500 605.000 446.000 632.000 ; + RECT 270.500 591.500 311.000 605.000 ; + RECT 351.500 591.500 365.000 605.000 ; + RECT 378.500 591.500 392.000 605.000 ; + RECT 405.500 591.500 419.000 605.000 ; + RECT 432.500 591.500 446.000 605.000 ; + RECT 486.500 591.500 527.000 605.000 ; + RECT 257.000 564.500 324.500 591.500 ; + RECT 473.000 564.500 540.500 591.500 ; + RECT 270.500 551.000 351.500 564.500 ; + RECT 446.000 551.000 527.000 564.500 ; + RECT 311.000 537.500 365.000 551.000 ; + RECT 432.500 537.500 486.500 551.000 ; + RECT 338.000 524.000 392.000 537.500 ; + RECT 405.500 524.000 459.500 537.500 ; + RECT 365.000 497.000 432.500 524.000 ; + RECT 338.000 483.500 392.000 497.000 ; + RECT 405.500 483.500 459.500 497.000 ; + RECT 270.500 470.000 365.000 483.500 ; + RECT 432.500 470.000 540.500 483.500 ; + RECT 257.000 456.500 338.000 470.000 ; + RECT 459.500 456.500 540.500 470.000 ; + RECT 257.000 443.000 311.000 456.500 ; + RECT 486.500 443.000 540.500 456.500 ; + RECT 257.000 429.500 297.500 443.000 ; + RECT 500.000 429.500 540.500 443.000 ; + RECT 270.500 416.000 284.000 429.500 ; + RECT 351.500 416.000 365.000 429.500 ; + RECT 378.500 416.000 392.000 429.500 ; + RECT 405.500 416.000 419.000 429.500 ; + RECT 432.500 416.000 446.000 429.500 ; + RECT 513.500 416.000 527.000 429.500 ; + RECT 351.500 389.000 446.000 416.000 ; + RECT 338.000 375.500 378.500 389.000 ; + RECT 419.000 375.500 473.000 389.000 ; + RECT 311.000 362.000 392.000 375.500 ; + RECT 405.500 362.000 473.000 375.500 ; + RECT 311.000 348.500 338.000 362.000 ; + RECT 365.000 348.500 432.500 362.000 ; + RECT 459.500 348.500 486.500 362.000 ; + RECT 311.000 335.000 324.500 348.500 ; + RECT 297.500 321.500 324.500 335.000 ; + RECT 297.500 308.000 338.000 321.500 ; + RECT 378.500 308.000 419.000 348.500 ; + RECT 473.000 335.000 486.500 348.500 ; + RECT 473.000 321.500 500.000 335.000 ; + RECT 459.500 308.000 500.000 321.500 ; + RECT 297.500 254.000 500.000 308.000 ; + RECT 311.000 227.000 486.500 254.000 ; + RECT 338.000 213.500 459.500 227.000 ; + RECT 351.500 200.000 459.500 213.500 ; + RECT 170.000 155.000 210.000 160.000 ; + RECT 235.000 155.000 240.000 160.000 ; + RECT 260.000 155.000 265.000 160.000 ; + RECT 165.000 150.000 210.000 155.000 ; + RECT 230.000 150.000 240.000 155.000 ; + RECT 255.000 150.000 270.000 155.000 ; + RECT 160.000 120.000 175.000 150.000 ; + RECT 195.000 140.000 210.000 150.000 ; + RECT 195.000 135.000 205.000 140.000 ; + RECT 195.000 130.000 200.000 135.000 ; + RECT 225.000 130.000 240.000 150.000 ; + RECT 250.000 145.000 270.000 150.000 ; + RECT 245.000 140.000 265.000 145.000 ; + RECT 245.000 135.000 260.000 140.000 ; + RECT 245.000 130.000 255.000 135.000 ; + RECT 225.000 125.000 255.000 130.000 ; + RECT 220.000 120.000 250.000 125.000 ; + RECT 150.000 115.000 210.000 120.000 ; + RECT 215.000 115.000 250.000 120.000 ; + RECT 155.000 110.000 210.000 115.000 ; + RECT 170.000 95.000 175.000 100.000 ; + RECT 165.000 90.000 175.000 95.000 ; + RECT 195.000 90.000 210.000 110.000 ; + RECT 225.000 110.000 255.000 115.000 ; + RECT 160.000 85.000 205.000 90.000 ; + RECT 155.000 80.000 200.000 85.000 ; + RECT 225.000 80.000 240.000 110.000 ; + RECT 245.000 105.000 255.000 110.000 ; + RECT 245.000 100.000 260.000 105.000 ; + RECT 245.000 95.000 265.000 100.000 ; + RECT 250.000 90.000 270.000 95.000 ; + RECT 255.000 85.000 270.000 90.000 ; + RECT 275.000 90.000 290.000 160.000 ; + RECT 310.000 155.000 315.000 160.000 ; + RECT 340.000 155.000 345.000 160.000 ; + RECT 390.000 155.000 395.000 160.000 ; + RECT 450.000 155.000 490.000 160.000 ; + RECT 515.000 155.000 555.000 160.000 ; + RECT 310.000 150.000 320.000 155.000 ; + RECT 335.000 150.000 345.000 155.000 ; + RECT 385.000 150.000 395.000 155.000 ; + RECT 445.000 150.000 490.000 155.000 ; + RECT 510.000 150.000 555.000 155.000 ; + RECT 580.000 150.000 595.000 160.000 ; + RECT 310.000 90.000 325.000 150.000 ; + RECT 330.000 90.000 345.000 150.000 ; + RECT 370.000 90.000 375.000 95.000 ; + RECT 275.000 85.000 320.000 90.000 ; + RECT 330.000 85.000 355.000 90.000 ; + RECT 365.000 85.000 375.000 90.000 ; + RECT 260.000 80.000 265.000 85.000 ; + RECT 275.000 80.000 315.000 85.000 ; + RECT 330.000 80.000 375.000 85.000 ; + RECT 380.000 90.000 395.000 150.000 ; + RECT 440.000 125.000 455.000 150.000 ; + RECT 475.000 140.000 490.000 150.000 ; + RECT 475.000 135.000 485.000 140.000 ; + RECT 475.000 130.000 480.000 135.000 ; + RECT 505.000 125.000 520.000 150.000 ; + RECT 540.000 140.000 555.000 150.000 ; + RECT 560.000 145.000 610.000 150.000 ; + RECT 565.000 140.000 615.000 145.000 ; + RECT 540.000 135.000 550.000 140.000 ; + RECT 575.000 135.000 615.000 140.000 ; + RECT 540.000 130.000 545.000 135.000 ; + RECT 435.000 120.000 470.000 125.000 ; + RECT 500.000 120.000 535.000 125.000 ; + RECT 430.000 115.000 470.000 120.000 ; + RECT 495.000 115.000 535.000 120.000 ; + RECT 420.000 90.000 425.000 95.000 ; + RECT 380.000 85.000 405.000 90.000 ; + RECT 415.000 85.000 425.000 90.000 ; + RECT 380.000 80.000 425.000 85.000 ; + RECT 440.000 80.000 455.000 115.000 ; + RECT 505.000 90.000 520.000 115.000 ; + RECT 540.000 105.000 545.000 110.000 ; + RECT 540.000 100.000 550.000 105.000 ; + RECT 540.000 90.000 555.000 100.000 ; + RECT 505.000 80.000 555.000 90.000 ; + RECT 580.000 90.000 595.000 135.000 ; + RECT 605.000 130.000 615.000 135.000 ; + RECT 610.000 125.000 615.000 130.000 ; + RECT 580.000 85.000 605.000 90.000 ; + RECT 575.000 80.000 600.000 85.000 ; + RECT 225.000 75.000 230.000 80.000 ; + RECT 330.000 75.000 335.000 80.000 ; + RECT 380.000 75.000 385.000 80.000 ; + END +END skullfet_logo +END LIBRARY +
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl index 28f337e..5815d3f 100644 --- a/openlane/user_project_wrapper/config.tcl +++ b/openlane/user_project_wrapper/config.tcl
@@ -40,10 +40,11 @@ ## Internal Macros ### Macro PDN Connections -set ::env(FP_PDN_MACRO_HOOKS) "\ +set ::env(FP_PDN_MACRO_HOOKS) { inv1 vdd vss vdd vss, - nand1 vdd vss vdd vss - " + nand1 vdd vss vdd vss, + logo1 vdd vss vdd vss +} ### Macro Placement set ::env(MACRO_PLACEMENT_CFG) $::env(DESIGN_DIR)/macro.cfg
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg index 047f852..ec5b987 100644 --- a/openlane/user_project_wrapper/macro.cfg +++ b/openlane/user_project_wrapper/macro.cfg
@@ -1,2 +1,3 @@ inv1 56 48 N nand1 130 48 N +logo1 1140 1090 N
diff --git a/verilog/rtl/skullfet.v b/verilog/rtl/skullfet.v index 12b684a..d0f9cf9 100644 --- a/verilog/rtl/skullfet.v +++ b/verilog/rtl/skullfet.v
@@ -20,3 +20,12 @@ output Y ); endmodule + +(* blackbox *) +module skullfet_logo ( +`ifdef USE_POWER_PINS + input vss, + input vdd +`endif // USE_POWER_PINS +); +endmodule \ No newline at end of file
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v index c666ad0..491d24a 100644 --- a/verilog/rtl/user_project_wrapper.v +++ b/verilog/rtl/user_project_wrapper.v
@@ -91,6 +91,13 @@ .Y(io_out[17]) ); +skullfet_logo logo1 ( +`ifdef USE_POWER_PINS + .vdd(vdd), + .vss(vss) +`endif +); + endmodule // user_project_wrapper `default_nettype wire