⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fifo.v

📁 这是用python语言写的一个数字广播的信号处理工具包。利用它
💻 V
字号:
// Model of FIFO in Alteramodule fifo( data, wrreq, rdreq, rdclk, wrclk, aclr, q,		    rdfull, rdempty, rdusedw, wrfull, wrempty, wrusedw);      parameter width = 16;   parameter depth = 1024;   parameter addr_bits = 10;      //`define rd_req 0;  // Set this to 0 for rd_ack, 1 for rd_req      input [width-1:0] data;   input 	     wrreq;   input 	     rdreq;   input 	     rdclk;   input 	     wrclk;   input 	     aclr;   output [width-1:0] q;   output 	      rdfull;   output 	      rdempty;   output reg [addr_bits-1:0]  rdusedw;   output wrfull;   output wrempty;   output reg [addr_bits-1:0]  wrusedw;      reg [width-1:0] mem [0:depth-1];   reg [addr_bits-1:0] 	      rdptr;   reg [addr_bits-1:0] 	      wrptr;   `ifdef rd_req   reg [width-1:0]    q;`else   wire [width-1:0]   q;`endif      integer 	      i;      always @( aclr)     begin	wrptr <= #1 0;	rdptr <= #1 0;	for(i=0;i<depth;i=i+1)	  mem[i] <= #1 0;     end      always @(posedge wrclk)     if(wrreq)       begin	  wrptr <= #1 wrptr+1;	  mem[wrptr] <= #1 data;       end      always @(posedge rdclk)     if(rdreq)       begin   	  rdptr <= #1 rdptr+1;`ifdef rd_req	  q <= #1 mem[rdptr];`endif       end   `ifdef rd_req`else   assign q = mem[rdptr];`endif      // Fix these   always @(posedge wrclk)     wrusedw <= #1 wrptr - rdptr;      always @(posedge rdclk)     rdusedw <= #1 wrptr - rdptr;      assign wrempty = (wrusedw == 0);   assign wrfull = (wrusedw == depth-1);      assign rdempty = (rdusedw == 0);   assign rdfull = (rdusedw == depth-1);   endmodule // fifo

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -