diff options
Diffstat (limited to 'manual/APPNOTE_011_Design_Investigation/memdemo.v')
-rw-r--r-- | manual/APPNOTE_011_Design_Investigation/memdemo.v | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/manual/APPNOTE_011_Design_Investigation/memdemo.v b/manual/APPNOTE_011_Design_Investigation/memdemo.v new file mode 100644 index 000000000..babc24e29 --- /dev/null +++ b/manual/APPNOTE_011_Design_Investigation/memdemo.v @@ -0,0 +1,19 @@ +module memdemo(clk, d, y); + +input clk; +input [3:0] d; +output reg [3:0] y; + +integer i; +reg [1:0] s1, s2; +reg [3:0] mem [0:3]; + +always @(posedge clk) begin + for (i = 0; i < 4; i = i+1) + mem[i] <= mem[(i+1) % 4] + mem[(i+2) % 4]; + { s2, s1 } = d ? { s1, s2 } ^ d : 0; + mem[s1] <= d; + y <= mem[s2]; +end + +endmodule |