Add test
authorEddie Hung <eddie@fpgeh.com>
Tue, 25 Jun 2019 01:32:58 +0000 (18:32 -0700)
committerEddie Hung <eddie@fpgeh.com>
Tue, 25 Jun 2019 01:32:58 +0000 (18:32 -0700)
tests/memories/issue00710.v [new file with mode: 0644]
tests/memories/run-test.sh

diff --git a/tests/memories/issue00710.v b/tests/memories/issue00710.v
new file mode 100644 (file)
index 0000000..7a5fad1
--- /dev/null
@@ -0,0 +1,17 @@
+// expect-wr-ports 1
+// expect-rd-ports 1
+// expect-rd-clk \clk
+
+module top(input clk, input we, re, reset, input [7:0] addr, wdata, output reg [7:0] rdata);
+
+reg [7:0] bram[0:255];
+(* keep *) reg dummy;
+
+always @(posedge clk)
+       if (reset)
+               dummy <= 1'b0;
+       else if (re)
+               rdata <= bram[addr];
+       else if (we)
+               bram[addr] <= wdata;
+endmodule
index 734a96682edc3b964bdf2c8e74eaa216e445f23a..d0537bb98731e823bc8e42228512abf5cfcbaee1 100755 (executable)
@@ -14,7 +14,7 @@ shift "$((OPTIND-1))"
 
 bash ../tools/autotest.sh $seed -G *.v
 
-for f in `egrep -l 'expect-(wr|rd)-ports' *.v`; do
+for f in `egrep -l 'expect-(wr-ports|rd-ports|rd-clk)' *.v`; do
        echo -n "Testing expectations for $f .."
        ../../yosys -qp "proc; opt; memory -nomap;; dump -outfile ${f%.v}.dmp t:\$mem" $f
        if grep -q expect-wr-ports $f; then
@@ -25,6 +25,10 @@ for f in `egrep -l 'expect-(wr|rd)-ports' *.v`; do
                grep -q "parameter \\\\RD_PORTS $(gawk '/expect-rd-ports/ { print $3; }' $f)\$" ${f%.v}.dmp ||
                                { echo " ERROR: Unexpected number of read ports."; false; }
        fi
+       if grep -q expect-rd-clk $f; then
+               grep -q "connect \\\\RD_CLK \\$(gawk '/expect-rd-clk/ { print $3; }' $f)\$" ${f%.v}.dmp ||
+                               { echo " ERROR: Unexpected read clock."; false; }
+       fi
        echo " ok."
 done