📄 fiforeadgen.v
字号:
// --------------------------------------------------------------------
// >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
// --------------------------------------------------------------------
// Copyright (c) 2005 by DTK Corporation
// --------------------------------------------------------------------
// --------------------------------------------------------------------
//
// This file is the read-generator of the fast FIFO
//controller reference design.
//
// --------------------------------------------------------------------
//
// Revision History :
// --------------------------------------------------------------------
// Ver :| Author :| Mod. Date :| Changes Made:
// V0.1 :| Robin Liu :| 03/29/05 :| Pre-Release
// --------------------------------------------------------------------
`timescale 1ns / 100ps
module FIFOReadGen(rd_page,dprdaddress,dout,rst,rd_clk,rden,empty,dpdout);
`include "FIFOPar.v"
output[`FIFOAddrDepth-1:0] dprdaddress ;
output[`FIFODataWidth-1:0] dout;
output rd_page;
input [`FIFODataWidth-1:0] dpdout;
input rst,rd_clk,rden,empty;
reg rd_page;
reg [`FIFOAddrDepth-1:0] dprdaddressTemp;
wire [`FIFODataWidth-1:0] dout;
// when rden=1, FIFO out is enable
assign #tDLY dout=rden? dpdout :`FIFODataWidth'bz;
always@(posedge rd_clk or negedge rst)
if (!rst) #tDLY begin
dprdaddressTemp=0;
rd_page=0; end
else if (rden & (!empty))
case(dprdaddressTemp)
`FIFOMaxAddressValue:#tDLY begin dprdaddressTemp=0; rd_page=!rd_page; end
default : #tDLY dprdaddressTemp=dprdaddressTemp+1;
endcase
assign dprdaddress=(rden & (!empty))? ((dprdaddressTemp==`FIFOMaxAddressValue) ? `FIFOAddrDepth'b0 : (dprdaddressTemp+1))
: dprdaddressTemp;
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -