aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/xilinx/cells_sim.v
diff options
context:
space:
mode:
authorBogdan Vukobratovic <bogdan.vukobratovic@gmail.com>2019-06-27 12:11:47 +0200
committerBogdan Vukobratovic <bogdan.vukobratovic@gmail.com>2019-06-27 12:11:47 +0200
commit0f32cb4e0af85e16a90ae274cf7c9fee6fbd2ad7 (patch)
tree9ed03b8345847046143161c3a63b8fa599393da2 /techlibs/xilinx/cells_sim.v
parent2454ad99bf49afe752d6fd1c1567f59ee9e26736 (diff)
parent0d2b87e3ed9bacae7d44d27a4712e56ca03c8dd3 (diff)
downloadyosys-0f32cb4e0af85e16a90ae274cf7c9fee6fbd2ad7.tar.gz
yosys-0f32cb4e0af85e16a90ae274cf7c9fee6fbd2ad7.tar.bz2
yosys-0f32cb4e0af85e16a90ae274cf7c9fee6fbd2ad7.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'techlibs/xilinx/cells_sim.v')
-rw-r--r--techlibs/xilinx/cells_sim.v17
1 files changed, 17 insertions, 0 deletions
diff --git a/techlibs/xilinx/cells_sim.v b/techlibs/xilinx/cells_sim.v
index 3a4540b83..f4598dcf4 100644
--- a/techlibs/xilinx/cells_sim.v
+++ b/techlibs/xilinx/cells_sim.v
@@ -278,6 +278,23 @@ module FDPE_1 (output reg Q, input C, CE, D, PRE);
always @(negedge C, posedge PRE) if (PRE) Q <= 1'b1; else if (CE) Q <= D;
endmodule
+module RAM32X1D (
+ output DPO, SPO,
+ input D, WCLK, WE,
+ input A0, A1, A2, A3, A4,
+ input DPRA0, DPRA1, DPRA2, DPRA3, DPRA4
+);
+ parameter INIT = 32'h0;
+ parameter IS_WCLK_INVERTED = 1'b0;
+ wire [4:0] a = {A4, A3, A2, A1, A0};
+ wire [4:0] dpra = {DPRA4, DPRA3, DPRA2, DPRA1, DPRA0};
+ reg [31:0] mem = INIT;
+ assign SPO = mem[a];
+ assign DPO = mem[dpra];
+ wire clk = WCLK ^ IS_WCLK_INVERTED;
+ always @(posedge clk) if (WE) mem[a] <= D;
+endmodule
+
module RAM64X1D (
output DPO, SPO,
input D, WCLK, WE,