OpenCores
URL https://opencores.org/ocsvn/unconfuser/unconfuser/trunk

Subversion Repositories unconfuser

[/] [unconfuser/] [trunk/] [fifoOneFlag.v] - Rev 2

Compare with Previous | Blame | View Log

module fifooneflag(clk, reset, push, din,pull, empty, dout, addrw, mdin, write, addrr, mdout);
 
//`timescale 1ns/100ps
 
input clk, reset, push, pull;
input [7:0] din, mdout;
output empty, write;
output[7:0] dout, mdin;
output[15:0] addrw, addrr;
 
//wire full;
wire empty;
 
wire write;
wire read;
wire [7:0] dout; 
wire [7:0] mdin;
reg [15:0] addrw, addrr;
 
//write
assign write = push;
assign mdin = din;
 
//write address
always @(posedge clk or posedge reset)
begin
if(reset) begin
addrw <= 16'h0;
end
else if(write == 1'b1)
addrw <= #1 addrw + 1;
end
 
//read
assign read = empty ? 1'b0 : pull;
assign dout = mdout;
 
//read address
always @(posedge clk or posedge reset)
begin
if(reset)
addrr <= 16'h0;
else if(read == 1'b1)
addrr <= #1 addrr + 1;
end
 
//Full
//assign full = ( (addrw+1) == addrr);
//Empty
assign empty = (addrw == addrr);
 
endmodule  
 
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.