Add files to get ready for submission.
diff --git a/gds/decred_hash_macro.gds.gz b/gds/decred_hash_macro.gds.gz new file mode 100644 index 0000000..13e29f9 --- /dev/null +++ b/gds/decred_hash_macro.gds.gz Binary files differ
diff --git a/gds/decred_top.gds.gz b/gds/decred_top.gds.gz new file mode 100644 index 0000000..0b172a2 --- /dev/null +++ b/gds/decred_top.gds.gz Binary files differ
diff --git a/lef/decred_hash_macro.lef b/lef/decred_hash_macro.lef new file mode 100644 index 0000000..0718252 --- /dev/null +++ b/lef/decred_hash_macro.lef
@@ -0,0 +1,305 @@ +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; +MACRO decred_hash_macro + CLASS BLOCK ; + FOREIGN decred_hash_macro ; + ORIGIN 0.000 0.000 ; + SIZE 1200.000 BY 1000.000 ; + PIN CLK + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 655.130 996.000 655.410 1000.000 ; + END + END CLK + PIN DATA_AVAILABLE + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 724.130 0.000 724.410 4.000 ; + END + END DATA_AVAILABLE + PIN DATA_FROM_HASH[0] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 122.450 0.000 122.730 4.000 ; + END + END DATA_FROM_HASH[0] + PIN DATA_FROM_HASH[1] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 2.850 0.000 3.130 4.000 ; + END + END DATA_FROM_HASH[1] + PIN DATA_FROM_HASH[2] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 896.170 996.000 896.450 1000.000 ; + END + END DATA_FROM_HASH[2] + PIN DATA_FROM_HASH[3] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 1084.770 0.000 1085.050 4.000 ; + END + END DATA_FROM_HASH[3] + PIN DATA_FROM_HASH[4] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met3 ; + RECT 1196.000 194.520 1200.000 195.120 ; + END + END DATA_FROM_HASH[4] + PIN DATA_FROM_HASH[5] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 363.490 0.000 363.770 4.000 ; + END + END DATA_FROM_HASH[5] + PIN DATA_FROM_HASH[6] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 173.970 996.000 174.250 1000.000 ; + END + END DATA_FROM_HASH[6] + PIN DATA_FROM_HASH[7] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met3 ; + RECT 0.000 715.400 4.000 716.000 ; + END + END DATA_FROM_HASH[7] + PIN DATA_TO_HASH[0] + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 414.090 996.000 414.370 1000.000 ; + END + END DATA_TO_HASH[0] + PIN DATA_TO_HASH[1] + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 0.000 359.080 4.000 359.680 ; + END + END DATA_TO_HASH[1] + PIN DATA_TO_HASH[2] + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 1196.000 372.680 1200.000 373.280 ; + END + END DATA_TO_HASH[2] + PIN DATA_TO_HASH[3] + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 1196.000 16.360 1200.000 16.960 ; + END + END DATA_TO_HASH[3] + PIN DATA_TO_HASH[4] + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 0.000 892.200 4.000 892.800 ; + END + END DATA_TO_HASH[4] + PIN DATA_TO_HASH[5] + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 242.970 0.000 243.250 4.000 ; + END + END DATA_TO_HASH[5] + PIN DATA_TO_HASH[6] + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 1015.770 996.000 1016.050 1000.000 ; + END + END DATA_TO_HASH[6] + PIN DATA_TO_HASH[7] + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 294.490 996.000 294.770 1000.000 ; + END + END DATA_TO_HASH[7] + PIN HASH_ADDR[0] + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 775.650 996.000 775.930 1000.000 ; + END + END HASH_ADDR[0] + PIN HASH_ADDR[1] + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 53.450 996.000 53.730 1000.000 ; + END + END HASH_ADDR[1] + PIN HASH_ADDR[2] + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 1136.290 996.000 1136.570 1000.000 ; + END + END HASH_ADDR[2] + PIN HASH_ADDR[3] + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 965.170 0.000 965.450 4.000 ; + END + END HASH_ADDR[3] + PIN HASH_ADDR[4] + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 0.000 180.920 4.000 181.520 ; + END + END HASH_ADDR[4] + PIN HASH_ADDR[5] + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 1196.000 905.800 1200.000 906.400 ; + END + END HASH_ADDR[5] + PIN HASH_EN + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 484.010 0.000 484.290 4.000 ; + END + END HASH_EN + PIN MACRO_RD_SELECT + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 603.610 0.000 603.890 4.000 ; + END + END MACRO_RD_SELECT + PIN MACRO_WR_SELECT + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 1196.000 550.840 1200.000 551.440 ; + END + END MACRO_WR_SELECT + PIN THREAD_COUNT[0] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met3 ; + RECT 1196.000 727.640 1200.000 728.240 ; + END + END THREAD_COUNT[0] + PIN THREAD_COUNT[1] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met3 ; + RECT 0.000 537.240 4.000 537.840 ; + END + END THREAD_COUNT[1] + PIN THREAD_COUNT[2] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 534.610 996.000 534.890 1000.000 ; + END + END THREAD_COUNT[2] + PIN THREAD_COUNT[3] + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 844.650 0.000 844.930 4.000 ; + END + END THREAD_COUNT[3] + PIN VPWR + DIRECTION INPUT ; + USE POWER ; + PORT + LAYER met4 ; + RECT 21.040 10.640 22.640 987.600 ; + END + END VPWR + PIN VGND + DIRECTION INPUT ; + USE GROUND ; + PORT + LAYER met4 ; + RECT 97.840 10.640 99.440 987.600 ; + END + END VGND + OBS + LAYER li1 ; + RECT 5.520 10.795 1194.160 987.445 ; + LAYER met1 ; + RECT 3.750 8.540 1194.160 987.600 ; + LAYER met2 ; + RECT 1.930 995.720 53.170 996.000 ; + RECT 54.010 995.720 173.690 996.000 ; + RECT 174.530 995.720 294.210 996.000 ; + RECT 295.050 995.720 413.810 996.000 ; + RECT 414.650 995.720 534.330 996.000 ; + RECT 535.170 995.720 654.850 996.000 ; + RECT 655.690 995.720 775.370 996.000 ; + RECT 776.210 995.720 895.890 996.000 ; + RECT 896.730 995.720 1015.490 996.000 ; + RECT 1016.330 995.720 1136.010 996.000 ; + RECT 1136.850 995.720 1191.300 996.000 ; + RECT 1.930 4.280 1191.300 995.720 ; + RECT 1.930 4.000 2.570 4.280 ; + RECT 3.410 4.000 122.170 4.280 ; + RECT 123.010 4.000 242.690 4.280 ; + RECT 243.530 4.000 363.210 4.280 ; + RECT 364.050 4.000 483.730 4.280 ; + RECT 484.570 4.000 603.330 4.280 ; + RECT 604.170 4.000 723.850 4.280 ; + RECT 724.690 4.000 844.370 4.280 ; + RECT 845.210 4.000 964.890 4.280 ; + RECT 965.730 4.000 1084.490 4.280 ; + RECT 1085.330 4.000 1191.300 4.280 ; + LAYER met3 ; + RECT 0.270 906.800 1196.000 987.525 ; + RECT 0.270 905.400 1195.600 906.800 ; + RECT 0.270 893.200 1196.000 905.400 ; + RECT 4.400 891.800 1196.000 893.200 ; + RECT 0.270 728.640 1196.000 891.800 ; + RECT 0.270 727.240 1195.600 728.640 ; + RECT 0.270 716.400 1196.000 727.240 ; + RECT 4.400 715.000 1196.000 716.400 ; + RECT 0.270 551.840 1196.000 715.000 ; + RECT 0.270 550.440 1195.600 551.840 ; + RECT 0.270 538.240 1196.000 550.440 ; + RECT 4.400 536.840 1196.000 538.240 ; + RECT 0.270 373.680 1196.000 536.840 ; + RECT 0.270 372.280 1195.600 373.680 ; + RECT 0.270 360.080 1196.000 372.280 ; + RECT 4.400 358.680 1196.000 360.080 ; + RECT 0.270 195.520 1196.000 358.680 ; + RECT 0.270 194.120 1195.600 195.520 ; + RECT 0.270 181.920 1196.000 194.120 ; + RECT 4.400 180.520 1196.000 181.920 ; + RECT 0.270 17.360 1196.000 180.520 ; + RECT 0.270 15.960 1195.600 17.360 ; + RECT 0.270 10.715 1196.000 15.960 ; + LAYER met4 ; + RECT 0.295 10.640 20.640 987.600 ; + RECT 23.040 10.640 97.440 987.600 ; + RECT 99.840 10.640 1175.465 987.600 ; + LAYER met5 ; + RECT 326.260 538.100 339.820 539.700 ; + END +END decred_hash_macro +END LIBRARY +
diff --git a/lef/decred_top.lef b/lef/decred_top.lef new file mode 100644 index 0000000..deb284a --- /dev/null +++ b/lef/decred_top.lef
@@ -0,0 +1,229 @@ +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; +MACRO decred_top + CLASS BLOCK ; + FOREIGN decred_top ; + ORIGIN 0.000 0.000 ; + SIZE 2800.000 BY 3400.000 ; + PIN CLK_LED + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met3 ; + RECT 0.000 1370.920 4.000 1371.520 ; + END + END CLK_LED + PIN EXT_RESET_N_fromHost + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 2778.490 0.000 2778.770 4.000 ; + END + END EXT_RESET_N_fromHost + PIN EXT_RESET_N_toClient + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 464.690 0.000 464.970 4.000 ; + END + END EXT_RESET_N_toClient + PIN HASH_LED + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 2.850 0.000 3.130 4.000 ; + END + END HASH_LED + PIN ID_fromClient + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 0.000 2739.080 4.000 2739.680 ; + END + END ID_fromClient + PIN ID_toHost + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met3 ; + RECT 2796.000 2027.800 2800.000 2028.400 ; + END + END ID_toHost + PIN IRQ_OUT_fromClient + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 2796.890 3396.000 2797.170 3400.000 ; + END + END IRQ_OUT_fromClient + PIN IRQ_OUT_toHost + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 1390.210 0.000 1390.490 4.000 ; + END + END IRQ_OUT_toHost + PIN M1_CLK_IN + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 1852.970 0.000 1853.250 4.000 ; + END + END M1_CLK_IN + PIN M1_CLK_SELECT + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 1409.530 3396.000 1409.810 3400.000 ; + END + END M1_CLK_SELECT + PIN MISO_fromClient + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 2796.000 659.640 2800.000 660.240 ; + END + END MISO_fromClient + PIN MISO_toHost + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met3 ; + RECT 0.000 686.840 4.000 687.440 ; + END + END MISO_toHost + PIN MOSI_fromHost + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 2335.050 3396.000 2335.330 3400.000 ; + END + END MOSI_fromHost + PIN MOSI_toClient + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met3 ; + RECT 2796.000 2711.880 2800.000 2712.480 ; + END + END MOSI_toClient + PIN PLL_INPUT + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 1872.290 3396.000 1872.570 3400.000 ; + END + END PLL_INPUT + PIN S1_CLK_IN + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 927.450 0.000 927.730 4.000 ; + END + END S1_CLK_IN + PIN S1_CLK_SELECT + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 21.250 3396.000 21.530 3400.000 ; + END + END S1_CLK_SELECT + PIN SCLK_fromHost + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 946.770 3396.000 947.050 3400.000 ; + END + END SCLK_fromHost + PIN SCLK_toClient + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met3 ; + RECT 0.000 2055.000 4.000 2055.600 ; + END + END SCLK_toClient + PIN SCSN_fromHost + DIRECTION INPUT ; + PORT + LAYER met2 ; + RECT 2315.730 0.000 2316.010 4.000 ; + END + END SCSN_fromHost + PIN SCSN_toClient + DIRECTION OUTPUT TRISTATE ; + PORT + LAYER met2 ; + RECT 484.010 3396.000 484.290 3400.000 ; + END + END SCSN_toClient + PIN SPI_CLK_RESET_N + DIRECTION INPUT ; + PORT + LAYER met3 ; + RECT 2796.000 1343.720 2800.000 1344.320 ; + END + END SPI_CLK_RESET_N + PIN VPWR + DIRECTION INPUT ; + USE POWER ; + PORT + LAYER met4 ; + RECT 328.240 10.640 329.840 36.240 ; + END + END VPWR + PIN VGND + DIRECTION INPUT ; + USE GROUND ; + PORT + LAYER met4 ; + RECT 405.040 10.640 406.640 36.240 ; + END + END VGND + OBS + LAYER li1 ; + RECT 5.520 10.795 2794.040 3389.205 ; + LAYER met1 ; + RECT 2.830 10.640 2797.190 3389.360 ; + LAYER met2 ; + RECT 2.860 3395.720 20.970 3396.000 ; + RECT 21.810 3395.720 483.730 3396.000 ; + RECT 484.570 3395.720 946.490 3396.000 ; + RECT 947.330 3395.720 1409.250 3396.000 ; + RECT 1410.090 3395.720 1872.010 3396.000 ; + RECT 1872.850 3395.720 2334.770 3396.000 ; + RECT 2335.610 3395.720 2796.610 3396.000 ; + RECT 2.860 4.280 2797.160 3395.720 ; + RECT 3.410 4.000 464.410 4.280 ; + RECT 465.250 4.000 927.170 4.280 ; + RECT 928.010 4.000 1389.930 4.280 ; + RECT 1390.770 4.000 1852.690 4.280 ; + RECT 1853.530 4.000 2315.450 4.280 ; + RECT 2316.290 4.000 2778.210 4.280 ; + RECT 2779.050 4.000 2797.160 4.280 ; + LAYER met3 ; + RECT 4.000 2740.080 2796.000 3389.285 ; + RECT 4.400 2738.680 2796.000 2740.080 ; + RECT 4.000 2712.880 2796.000 2738.680 ; + RECT 4.000 2711.480 2795.600 2712.880 ; + RECT 4.000 2056.000 2796.000 2711.480 ; + RECT 4.400 2054.600 2796.000 2056.000 ; + RECT 4.000 2028.800 2796.000 2054.600 ; + RECT 4.000 2027.400 2795.600 2028.800 ; + RECT 4.000 1371.920 2796.000 2027.400 ; + RECT 4.400 1370.520 2796.000 1371.920 ; + RECT 4.000 1344.720 2796.000 1370.520 ; + RECT 4.000 1343.320 2795.600 1344.720 ; + RECT 4.000 687.840 2796.000 1343.320 ; + RECT 4.400 686.440 2796.000 687.840 ; + RECT 4.000 660.640 2796.000 686.440 ; + RECT 4.000 659.240 2795.600 660.640 ; + RECT 4.000 10.715 2796.000 659.240 ; + LAYER met4 ; + RECT 21.040 36.640 2787.440 3389.360 ; + RECT 21.040 10.640 327.840 36.640 ; + RECT 330.240 10.640 404.640 36.640 ; + RECT 407.040 10.640 2787.440 36.640 ; + LAYER met5 ; + RECT 1132.180 506.300 1145.740 507.900 ; + END +END decred_top +END LIBRARY +
diff --git a/openlane/decred_hash_macro/interactive.tcl b/openlane/decred_hash_macro/interactive.tcl index f5dde0e..d8323f3 100755 --- a/openlane/decred_hash_macro/interactive.tcl +++ b/openlane/decred_hash_macro/interactive.tcl
@@ -41,6 +41,7 @@ parse_key_args "run_flow" args arg_values $options flags_map $flags -no_consume prep -design $script_dir -tag decred_hash_macro -overwrite + set save_path $script_dir/../.. run_synthesis run_floorplan
diff --git a/openlane/decred_top/config.tcl b/openlane/decred_top/config.tcl index f6f7ce5..d36625c 100755 --- a/openlane/decred_top/config.tcl +++ b/openlane/decred_top/config.tcl
@@ -21,12 +21,12 @@ $script_dir/../../verilog/rtl/decred_top/rtl/src/decred_hash_macro.v" set ::env(EXTRA_LEFS) "\ - $script_dir/../decred_hash_macro/runs/decred_hash_macro/results/magic/decred_hash_macro.lef \ - $script_dir/../decred_controller/runs/decred_controller/results/magic/decred_controller.lef" + $script_dir/../../lef/decred_hash_macro.lef \ + $script_dir/../../lef/decred_controller.lef" set ::env(EXTRA_GDS_FILES) "\ - $script_dir/../decred_hash_macro/runs/decred_hash_macro/results/magic/decred_hash_macro.gds \ - $script_dir/../decred_controller/runs/decred_controller/results/magic/decred_controller.gds" + $script_dir/../../gds/decred_hash_macro.gds \ + $script_dir/../../gds/decred_controller.gds" #set ::env(BASE_SDC_FILE) "$script_dir/decred_top.sdc" set ::env(MACRO_PLACEMENT_CFG) "$script_dir/macro_placement.cfg"
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl index e4f3b7e..29d01c0 100644 --- a/openlane/user_project_wrapper/config.tcl +++ b/openlane/user_project_wrapper/config.tcl
@@ -39,11 +39,11 @@ $script_dir/../../verilog/rtl/decred_top/rtl/src/*.v" set ::env(EXTRA_LEFS) "\ - $script_dir/../decred_top/runs/decred_top/results/magic/decred_top.lef \ - $script_dir/../decred_hash_macro/runs/decred_hash_macro/results/magic/decred_hash_macro.lef \ - $script_dir/../decred_controller/runs/decred_controller/results/magic/decred_controller.lef" + $script_dir/../../lef/decred_top.lef \ + $script_dir/../../lef/decred_hash_macro.lef \ + $script_dir/../../lef/decred_controller.lef" set ::env(EXTRA_GDS_FILES) "\ - $script_dir/../decred_top/runs/decred_top/results/magic/decred_top.gds \ - $script_dir/../decred_hash_macro/runs/decred_hash_macro/results/magic/decred_hash_macro.gds \ - $script_dir/../decred_controller/runs/decred_controller/results/magic/decred_controller.gds" + $script_dir/../../gds/decred_top.gds \ + $script_dir/../../gds/decred_hash_macro.gds \ + $script_dir/../../gds/decred_controller.gds"