mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-30 15:00:26 +00:00
Add tests for Xilinx UG901 examples
This commit is contained in:
parent
0d037bf9d8
commit
2ae7dec530
89 changed files with 2962 additions and 0 deletions
42
tests/xilinx_ug901/rams_pipeline.v
Normal file
42
tests/xilinx_ug901/rams_pipeline.v
Normal file
|
@ -0,0 +1,42 @@
|
|||
// Block RAM with Optional Output Registers
|
||||
// File: rams_pipeline
|
||||
|
||||
module rams_pipeline (clk1, clk2, we, en1, en2, addr1, addr2, di, res1, res2);
|
||||
input clk1;
|
||||
input clk2;
|
||||
input we, en1, en2;
|
||||
input [9:0] addr1;
|
||||
input [9:0] addr2;
|
||||
input [15:0] di;
|
||||
output [15:0] res1;
|
||||
output [15:0] res2;
|
||||
reg [15:0] res1;
|
||||
reg [15:0] res2;
|
||||
reg [15:0] RAM [1023:0];
|
||||
reg [15:0] do1;
|
||||
reg [15:0] do2;
|
||||
|
||||
always @(posedge clk1)
|
||||
begin
|
||||
if (we == 1'b1)
|
||||
RAM[addr1] <= di;
|
||||
do1 <= RAM[addr1];
|
||||
end
|
||||
|
||||
always @(posedge clk2)
|
||||
begin
|
||||
do2 <= RAM[addr2];
|
||||
end
|
||||
|
||||
always @(posedge clk1)
|
||||
begin
|
||||
if (en1 == 1'b1)
|
||||
res1 <= do1;
|
||||
end
|
||||
|
||||
always @(posedge clk2)
|
||||
begin
|
||||
if (en2 == 1'b1)
|
||||
res2 <= do2;
|
||||
end
|
||||
endmodule
|
Loading…
Add table
Add a link
Reference in a new issue