| #!/bin/bash |
| |
| set -ex |
| |
| mkdir -p colbuf_io_5k.work |
| cd colbuf_io_5k.work |
| |
| glb_pins="20 35 37 44" |
| |
| pins=" |
| 2 3 4 6 9 10 11 12 |
| 13 18 19 20 21 |
| 25 26 27 28 31 32 34 35 36 |
| 37 38 42 43 44 45 46 47 48 |
| " |
| pins="$( echo $pins )" |
| |
| for pin in $pins; do |
| pf="colbuf_io_5k_$pin" |
| gpin=$( echo $glb_pins | tr ' ' '\n' | grep -v $pin | sort -R | head -n1; ) |
| cat > ${pf}.v <<- EOT |
| module top (input clk, data, output pin); |
| SB_IO #( |
| .PIN_TYPE(6'b 0101_00) |
| ) pin_obuf ( |
| .PACKAGE_PIN(pin), |
| .OUTPUT_CLK(clk), |
| .D_OUT_0(data) |
| ); |
| endmodule |
| EOT |
| echo "set_io pin $pin" > ${pf}.pcf |
| echo "set_io clk $gpin" >> ${pf}.pcf |
| ICEDEV=up5k-sg48 bash ../../icecube.sh ${pf}.v > ${pf}.log 2>&1 |
| ../../../icebox/icebox_explain.py ${pf}.asc > ${pf}.exp |
| rm -rf ${pf}.tmp |
| done |