FIFO生成的例化代码:
FIFOS Import (
.clk(clock), // input clk
.rst(reset), // input rst
.din(din), // input [7 : 0] din
.wr_en(wr_en), // input wr_en
.rd_en(rd_en), // input rd_en
.dout(dout), // output [7 : 0] dout
.full(full), // output full
.empty(empty), // output empty
.data_count(data_count) // output [7 : 0] data_count
);
RAM生成的例化代码:
RAM your_instance_name (
.a(a), // input [5 : 0] a
.d(d), // input [7 : 0] d
.clk(clk), // input clk
.we(we), // input we
.spo(spo) // output [7 : 0] spo
);
-
-
FIFO的写入和读出是相互独立的,所以我可以先wr_en拉高,然后就按照wr_clk的时钟进行写入,判断wr_almost_full信号为高的时候,在读一次就拉低wr_en,然后再相应的拉高rd_en,开始读信号,当rd_almost_empty为高的时候,再读一个数据就可以拉低rd_en,是这个过程吧?
一周热门 更多>