了解使用FIFO
时间:10-02
整理:3721RD
点击:
拿到板子快一个月了,看到这块板子第一眼就感觉,这个有料,学习了进一个月了,也可以在论坛上与坛友分享一些心得了,今天刚调了FIFO的例程,了解了FIFO的工作原理,在这里不得不说,小梅哥的资料真心不错,PDF教程非常详细,代码注释也非常清晰,谢谢小梅哥给了我这次机会。
在这里附加部分代码
`define wrclk_period 20
`define rdclk_period 10
initial wrclk = 1;
always #(`wrclk_period/2)wrclk = ~wrclk;
initial rdclk = 1;
always #(`rdclk_period/2)rdclk = ~rdclk;
integer i;
initial begin
data = 0;
rdreq = 0;
wrreq = 0;
#(`wrclk_period*20 + 1);
for (i=0;i <= 255 ;i = i + 1)begin
wrreq = 1;
data = i + 1024;
#`wrclk_period;
end
wrreq = 0;
#(`rdclk_period*20);
for (i=0;i <= 511 ;i = i + 1)begin
rdreq = 1;
#`rdclk_period;
end
rdreq = 0;
#(`rdclk_period*20);
$stop;
end
在这里附加部分代码
`define wrclk_period 20
`define rdclk_period 10
initial wrclk = 1;
always #(`wrclk_period/2)wrclk = ~wrclk;
initial rdclk = 1;
always #(`rdclk_period/2)rdclk = ~rdclk;
integer i;
initial begin
data = 0;
rdreq = 0;
wrreq = 0;
#(`wrclk_period*20 + 1);
for (i=0;i <= 255 ;i = i + 1)begin
wrreq = 1;
data = i + 1024;
#`wrclk_period;
end
wrreq = 0;
#(`rdclk_period*20);
for (i=0;i <= 511 ;i = i + 1)begin
rdreq = 1;
#`rdclk_period;
end
rdreq = 0;
#(`rdclk_period*20);
$stop;
end
单时钟FIFO与双时钟FIFO引脚图,单时钟只能有上升沿触发,而双时钟写和读有独立的时钟,需同步对应的时钟 ...
这个是基于千兆以太网传输的高速数据采集系统,FIFO使用的是非混合宽度FIFO结构,如果CLK1的频率为20M,ADC ...
感谢小梅哥的指导,这块FPGA真的是良心作品;小梅哥的AC620板子上的外设丰富,可以做很多实验,是一个不错 ...
讲的很清楚,学习了