diff options
author | Simon Schubert <2@0x2c.org> | 2019-02-20 11:06:01 +0100 |
---|---|---|
committer | Simon Schubert <2@0x2c.org> | 2019-02-22 22:35:55 +0100 |
commit | d76ac32ec939e421190d8e41ee0ad5e5eacbddd5 (patch) | |
tree | 278fbc981bb8c34a70adcf96a15b67709118103a /icefuzz/tests/colbuf_io_u4k.sh | |
parent | c0cbae88ab47a3879aacf80d53b6a85710682a6b (diff) | |
download | icestorm-d76ac32ec939e421190d8e41ee0ad5e5eacbddd5.tar.gz icestorm-d76ac32ec939e421190d8e41ee0ad5e5eacbddd5.tar.bz2 icestorm-d76ac32ec939e421190d8e41ee0ad5e5eacbddd5.zip |
iCE40 Ultra = iCE5LP = u4k port
Diffstat (limited to 'icefuzz/tests/colbuf_io_u4k.sh')
-rwxr-xr-x | icefuzz/tests/colbuf_io_u4k.sh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/icefuzz/tests/colbuf_io_u4k.sh b/icefuzz/tests/colbuf_io_u4k.sh new file mode 100755 index 0000000..fe63b62 --- /dev/null +++ b/icefuzz/tests/colbuf_io_u4k.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +set -ex + +mkdir -p colbuf_io_u4k.work +cd colbuf_io_u4k.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_u4k_$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); + wire gc; + SB_GB_IO #( + .PIN_TYPE(6'b 0000_00), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0), + .IO_STANDARD("SB_LVCMOS") + ) gbuf ( + .PACKAGE_PIN(clk), + .GLOBAL_BUFFER_OUTPUT(gc) + ); + SB_IO #( + .PIN_TYPE(6'b 0101_00) + ) pin_obuf ( + .PACKAGE_PIN(pin), + .OUTPUT_CLK(gc), + .D_OUT_0(data) + ); + endmodule + EOT + echo "set_io pin $pin" > ${pf}.pcf + echo "set_io clk $gpin" >> ${pf}.pcf + ICEDEV=u4k-sg48 bash ../../icecube.sh ${pf}.v > ${pf}.log 2>&1 + ../../../icebox/icebox_explain.py ${pf}.asc > ${pf}.exp + rm -rf ${pf}.tmp +done |