赞
踩
单时钟FIOF、双时钟FIOF(普通双时钟和混合宽度双时钟)
由于单时钟FIOF只有一个时钟信号,所以可以在FPGA内部中使用单时钟FIOF用以其他模块数据的缓存。FPGA中从传感器模块读取到的数据首先保存到FIOF中缓存,然后再通过UART发送。
SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议
接收数据速率与发送速率不同时使用双时钟FIOF进行收发(将高速ADC采集的数据通过千兆以太网发送到PC机)。
`timescale 1ns/1ns `define Clk_period 20 module fifo_single_tb; reg Clk; reg [7:0] data; reg rdreq; reg sclr; reg wrreq; wire almost_empty; wire almost_full; wire empty; wire full; wire [7:0] q; wire [7:0] usedw; fifo fifo0( .clock(Clk), .data(data), .rdreq(rdreq), //读使能信号 .sclr(sclr), //高电平清零信号usedwz值为0 .wrreq(wrreq), //写使能信号 .almost_empty(almost_empty), .almost_full(almost_full), .empty(empty), .full(full), .q(q), //输出信号 .usedw(usedw) //可查看FIFO中剩余的值 usedw=8表示FIFO里有8个值 ); initial Clk =1; always #(`Clk_period/2) Clk = ~ Clk; integer i; initial begin #(`Clk_period*2); wrreq=0; rdreq=0; sclr =0; for(i=0;i<=255;i=i+1) begin wrreq=1; data =i; #`Clk_period; end wrreq=0; #(`Clk_period*10); for(i=0;i<=255;i=i+1) begin rdreq=1; #`Clk_period; end #`Clk_period; wrreq=0; #(`Clk_period*10); $stop; end endmodule
`timescale 1ns/1ns `define rdclk_period 10 //读时钟100M `define wrclk_period 20 // 写时钟50M module medcfifo_tb; reg[15:0] data; reg rdclk; reg rdreq; reg wrclk; reg wrreq; wire [7:0] q; wire rdempty; wire [8:0] rdusedw; wire wrfull; wire [7:0] wrusedw; medcfifo medcfifo1( .data(data), .rdclk(rdclk), .rdreq(rdreq), //读使能信号 .wrclk(wrclk), .wrreq(wrreq), //写使能信号 .q(q), //输出信号 .rdempty(rdempty), .rdusedw(rdusedw), .wrfull(wrfull), .wrusedw(wrusedw) ); initial rdclk =1; always #(`rdclk_period/2) rdclk =~rdclk; initial wrclk =1; always #(`wrclk_period/2) wrclk =~wrclk; integer i; initial begin data=0; rdreq=0; wrreq=0; for(i=0;i<=255;i=i+1)begin wrreq=1; data = i+1024; #`wrclk_period; end wrreq=0; #(`wrclk_period*5); for(i=0;i<=511;i=i+1)begin rdreq=1; #`rdclk_period; end rdreq=0; #(`rdclk_period*2); $stop; end endmodule
输入为16位,输出位8位
可以看到输入值为04ff时,对应输出为377 004。先出低位,后出高位。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。