aboutsummaryrefslogtreecommitdiffstats
path: root/icefuzz/tests/colbuf_io_u4k.sh
diff options
context:
space:
mode:
authorSimon Schubert <2@0x2c.org>2019-02-20 11:06:01 +0100
committerSimon Schubert <2@0x2c.org>2019-02-22 22:35:55 +0100
commitd76ac32ec939e421190d8e41ee0ad5e5eacbddd5 (patch)
tree278fbc981bb8c34a70adcf96a15b67709118103a /icefuzz/tests/colbuf_io_u4k.sh
parentc0cbae88ab47a3879aacf80d53b6a85710682a6b (diff)
downloadicestorm-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-xicefuzz/tests/colbuf_io_u4k.sh47
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