aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/regressions/issue0194
diff options
context:
space:
mode:
Diffstat (limited to 'ecp5/regressions/issue0194')
-rw-r--r--ecp5/regressions/issue0194/testcase.json.gzbin0 -> 20902 bytes
-rw-r--r--ecp5/regressions/issue0194/testcase.npnr1
-rw-r--r--ecp5/regressions/issue0194/testcase.sh3
-rw-r--r--ecp5/regressions/issue0194/testcase.v39
4 files changed, 43 insertions, 0 deletions
diff --git a/ecp5/regressions/issue0194/testcase.json.gz b/ecp5/regressions/issue0194/testcase.json.gz
new file mode 100644
index 0000000..98cbcd4
--- /dev/null
+++ b/ecp5/regressions/issue0194/testcase.json.gz
Binary files differ
diff --git a/ecp5/regressions/issue0194/testcase.npnr b/ecp5/regressions/issue0194/testcase.npnr
new file mode 100644
index 0000000..c2e68d2
--- /dev/null
+++ b/ecp5/regressions/issue0194/testcase.npnr
@@ -0,0 +1 @@
+--25k \ No newline at end of file
diff --git a/ecp5/regressions/issue0194/testcase.sh b/ecp5/regressions/issue0194/testcase.sh
new file mode 100644
index 0000000..57ee98c
--- /dev/null
+++ b/ecp5/regressions/issue0194/testcase.sh
@@ -0,0 +1,3 @@
+:> testcase.log
+${NPNR} --json testcase.json --textcfg testcase.config `cat testcase.npnr` > testcase.log 2>&1 || true
+grep "^ERROR: Pin B of TRELLIS_IO 'TRELLIS_IO' connected to more than a single top level IO.$" testcase.log
diff --git a/ecp5/regressions/issue0194/testcase.v b/ecp5/regressions/issue0194/testcase.v
new file mode 100644
index 0000000..04a83f6
--- /dev/null
+++ b/ecp5/regressions/issue0194/testcase.v
@@ -0,0 +1,39 @@
+module top(
+ input clk,
+ inout pin_IO,
+);
+
+wire pin_I;
+reg pin_O = 16'd0;
+reg pin_OE = 1'd0;
+reg state = 1'd0;
+reg next_state;
+
+always @(*) begin
+ pin_IO <= 16'd0;
+ next_state <= state;
+ case (state)
+ 1'd1: begin
+ next_state <= 1'd0;
+ end
+ default: begin
+ pin_IO <= 1'd1;
+ next_state <= 1'd1;
+ end
+ endcase
+end
+
+always @(posedge clk) begin
+ state <= next_state;
+end
+
+TRELLIS_IO #(
+ .DIR("BIDIR")
+) TRELLIS_IO (
+ .I(pin_O),
+ .T(pin_OE),
+ .B(pin_IO),
+ .O(pin_I)
+);
+
+endmodule \ No newline at end of file