diff options
author | Eddie Hung <eddie@fpgeh.com> | 2019-12-12 17:44:37 -0800 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2019-12-12 17:44:37 -0800 |
commit | caab66111e2b5052bd26c8fd64b1324e7e4a4106 (patch) | |
tree | c6acd63874940ba0ff1176577833cef4bce794a7 /tests/arch/common | |
parent | 9ab1feeaf11adb6b675ac4034e246cb137d07db9 (diff) | |
download | yosys-caab66111e2b5052bd26c8fd64b1324e7e4a4106.tar.gz yosys-caab66111e2b5052bd26c8fd64b1324e7e4a4106.tar.bz2 yosys-caab66111e2b5052bd26c8fd64b1324e7e4a4106.zip |
Rename memory tests to lutram, add more xilinx tests
Diffstat (limited to 'tests/arch/common')
-rw-r--r-- | tests/arch/common/lutram.v | 42 | ||||
-rw-r--r-- | tests/arch/common/memory.v | 21 |
2 files changed, 42 insertions, 21 deletions
diff --git a/tests/arch/common/lutram.v b/tests/arch/common/lutram.v new file mode 100644 index 000000000..9534b7619 --- /dev/null +++ b/tests/arch/common/lutram.v @@ -0,0 +1,42 @@ +module lutram_1w1r +#(parameter D_WIDTH=8, A_WIDTH=6) +( + input [D_WIDTH-1:0] data_a, + input [A_WIDTH:1] addr_a, + input we_a, clk, + output reg [D_WIDTH-1:0] q_a +); + // Declare the RAM variable + reg [D_WIDTH-1:0] ram[(2**A_WIDTH)-1:0]; + + // Port A + always @ (posedge clk) + begin + if (we_a) + ram[addr_a] <= data_a; + q_a <= ram[addr_a]; + end +endmodule + + +module lutram_1w3r +#(parameter D_WIDTH=8, A_WIDTH=5) +( + input [D_WIDTH-1:0] data_a, data_b, data_c, + input [A_WIDTH:1] addr_a, addr_b, addr_c, + input we_a, clk, + output reg [D_WIDTH-1:0] q_a, q_b, q_c +); + // Declare the RAM variable + reg [D_WIDTH-1:0] ram[(2**A_WIDTH)-1:0]; + + // Port A + always @ (posedge clk) + begin + if (we_a) + ram[addr_a] <= data_a; + q_a <= ram[addr_a]; + q_b <= ram[addr_b]; + q_c <= ram[addr_c]; + end +endmodule diff --git a/tests/arch/common/memory.v b/tests/arch/common/memory.v deleted file mode 100644 index cb7753f7b..000000000 --- a/tests/arch/common/memory.v +++ /dev/null @@ -1,21 +0,0 @@ -module top -( - input [7:0] data_a, - input [6:1] addr_a, - input we_a, clk, - output reg [7:0] q_a -); - // Declare the RAM variable - reg [7:0] ram[63:0]; - - // Port A - always @ (posedge clk) - begin - if (we_a) - begin - ram[addr_a] <= data_a; - q_a <= data_a; - end - q_a <= ram[addr_a]; - end -endmodule |