新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于Verilog HDL语言的32X8 FIFO设计

基于Verilog HDL语言的32X8 FIFO设计

作者: 时间:2012-09-03 来源:网络 收藏

3  实现

硬件描述语言 是一种广泛应用于集成电路设计的高层次描述语言,适合行为级、寄存器传输级和门级等多层次的设计和描述,并且具有简单、易读、易修改和与工艺无关等优点。因此利用 语言进行电路设计可以节约开发成本和周期。

各个部分均采用Verilog HDL代码实现。限于篇幅,下面仅列出Memery模块的程序清单。整个

FIFO设计应用全球著名EDA软件供应商Synopsys公司的DesignCompiler进行了逻辑综合,并应用Synopsys公司的仿真软件VCS做了仿真验证。(VCS是Synopsys公司的VerilogHDL仿真软件) FIFO Memery模块程序清单如下:

module fifo_mem(data,clk,rstN,wrN,rdN,empty,full);

inout [7:0] data;

input clk,rstN,wrN,rdN;

output empty,full;

reg [4:0] _cntr,rd_cntr;

wire [3:0] add;

ram16X8 ram(.data(data),.addr(addr),.wrN(wrN),.oe(wrN));

always @(posedge clk or negedge rstN)

if(!rstN) wr_cntr=0;

else if (!wrN) wr_cntr=wr_cntr+1;

always @ (posedge clk or negedge rstN)

if(!rstN) rd_cntr=0;

else if(!rdN) rd_cntr=rd_cntr+1;

assign addr=wrN?rd_cntr [3:0]: wr_cntr [3:0];

assign empty=(wr_cntr [3:0] == rd_cntr [3:0])!(wr_cntr[4]^rd_cntr[4]);

assign full=(wr_cntr [3:0] ==rd_cntr [3:0])(wr_cntr[4]^rd_cntr[4]);

endmodule

4 结语

本文通过两个分立存储器间的交替读、写机制,实现32X8 FIFO的可同时读、写功能,提高了数据存取的速度,并且提出了新颖的空、满标志位的实现方法。采用Verilog HDL硬件描述语言进行电路设计,应用Synopsys公司的DesignCompiler和VCS进行电路综合和仿真,电路功能得到验证。


上一页 1 2 3 下一页

关键词: Verilog 32X8 FIFO HDL

评论


相关推荐

技术专区

关闭