関数 | |
default_nettype none timescale module | addr_fifo (clk, reset, din, read_write, wr_en, rd_en, dout, rw_out, full, empty, next_dout, next_rw_out, almost_empty, almost_full) |
RAM16X1D | INIT (16'h0000)) Inst_FIFO_WR(.DPO(out_rw) |
RAM16X1D | SPO () |
RAM16X1D | A0 (wp[0]) |
RAM16X1D | A1 (wp[1]) |
RAM16X1D | A2 (wp[2]) |
RAM16X1D | A3 (wp[3]) |
RAM16X1D | D (read_write) |
RAM16X1D | DPRA0 (rp[0]) |
RAM16X1D | DPRA1 (rp[1]) |
RAM16X1D | DPRA2 (rp[2]) |
RAM16X1D | DPRA3 (rp[3]) |
RAM16X1D | WCLK (clk) |
RAM16X1D | WE (we)) |
always (posedge reset, posedge clk) begin if(reset | |
else | if (wr_en_node==1'b1 &&fifo_full==1'b0) wp< |
else | if (inner_rd_en==1'b1 &&fifo_empty==1'b0) rp< |
変数 | |
include ddr2_cont_parameters vh input | clk |
include ddr2_cont_parameters vh input | reset |
input[USER_INPUT_ADDRESS_WIDTH-1:0] | din |
input | read_write |
input | wr_en |
input | rd_en |
output[USER_INPUT_ADDRESS_WIDTH-1:0] | dout |
output | rw_out |
output | full = fifo_full |
output | empty = empty_rise | empty_fall |
output[USER_INPUT_ADDRESS_WIDTH-1:0] | next_dout |
output | next_rw_out |
output | almost_empty = almost_empty_rise | almost_empty_fall |
output | almost_full = (rp-4'h2==wp) ? 1'b1: 1'b0 |
wire | we = wr_en_node & ~fifo_full |
reg[3:0] | wp |
reg[3:0] | rp |
reg[USER_INPUT_ADDRESS_WIDTH-1:0] | outff1 |
reg[USER_INPUT_ADDRESS_WIDTH-1:0] | outff2 |
wire[USER_INPUT_ADDRESS_WIDTH-1:0] | out_sig |
wire | fifo_full = (rp-4'h1==wp) ? 1'b1: 1'b0 |
wire | fifo_empty = (rp==wp) ? 1'b1: 1'b0 |
reg | rwff1 |
reg | rwff2 |
wire | out_rw |
wire | inner_rd_en |
reg | outff1_flag |
reg | outff2_flag |
wire | wr_en_node = wr_en |
generate genvar | i |
RAM16X1D A0 | ( | wp | [0] | ) |
RAM16X1D A1 | ( | wp | [1] | ) |
RAM16X1D A2 | ( | wp | [2] | ) |
RAM16X1D A3 | ( | wp | [3] | ) |
default_nettype none timescale module addr_fifo | ( | clk | , | |
reset | , | |||
din | , | |||
read_write | , | |||
wr_en | , | |||
rd_en | , | |||
dout | , | |||
rw_out | , | |||
full | , | |||
empty | , | |||
next_dout | , | |||
next_rw_out | , | |||
almost_empty | , | |||
almost_full | ||||
) |
always | ( | posedge | reset, | |
posedge | clk | |||
) |
RAM16X1D D | ( | read_write | ) |
RAM16X1D DPRA0 | ( | rp | [0] | ) |
RAM16X1D DPRA1 | ( | rp | [1] | ) |
RAM16X1D DPRA2 | ( | rp | [2] | ) |
RAM16X1D DPRA3 | ( | rp | [3] | ) |
else if | ( | inner_rd_en | = =1'b1 &&fifo_empty==1'b0 |
) |
else if | ( | wr_en_node | = =1'b1 &&fifo_full==1'b0 |
) |
RAM16X1D INIT | ( | 16' | h0000 | ) |
RAM16X1D SPO | ( | ) |
RAM16X1D WCLK | ( | clk | ) |
RAM16X1D WE | ( | we | ) |
addr_fifo.v の 24 行で定義されています。
wire almost_full = (rp-4'h2==wp) ? 1'b1: 1'b0 |
addr_fifo.v の 24 行で定義されています。
wire clk |
addr_fifo.v の 16 行で定義されています。
wire [USER_INPUT_ADDRESS_WIDTH-1:0] din |
addr_fifo.v の 17 行で定義されています。
wire [USER_INPUT_ADDRESS_WIDTH-1:0] dout |
addr_fifo.v の 20 行で定義されています。
wire empty = empty_rise | empty_fall |
addr_fifo.v の 22 行で定義されています。
assign fifo_empty = (rp==wp) ? 1'b1: 1'b0 |
addr_fifo.v の 43 行で定義されています。
addr_fifo.v の 42 行で定義されています。
addr_fifo.v の 22 行で定義されています。
generate genvar i |
addr_fifo.v の 57 行で定義されています。
wire inner_rd_en |
addr_fifo.v の 46 行で定義されています。
wire [USER_INPUT_ADDRESS_WIDTH-1:0] next_dout |
addr_fifo.v の 23 行で定義されています。
wire next_rw_out |
addr_fifo.v の 24 行で定義されています。
wire out_rw |
addr_fifo.v の 45 行で定義されています。
wire [USER_INPUT_ADDRESS_WIDTH-1:0] out_sig |
addr_fifo.v の 41 行で定義されています。
reg [USER_INPUT_ADDRESS_WIDTH-1:0] outff1 |
addr_fifo.v の 40 行で定義されています。
reg outff1_flag |
addr_fifo.v の 47 行で定義されています。
reg [USER_INPUT_ADDRESS_WIDTH-1:0] outff2 |
addr_fifo.v の 40 行で定義されています。
reg outff2_flag |
addr_fifo.v の 47 行で定義されています。
wire rd_en |
addr_fifo.v の 19 行で定義されています。
wire read_write |
addr_fifo.v の 18 行で定義されています。
wire reset |
addr_fifo.v の 16 行で定義されています。
reg [3:0] rp |
addr_fifo.v の 39 行で定義されています。
wire rw_out |
addr_fifo.v の 21 行で定義されています。
reg rwff1 |
addr_fifo.v の 44 行で定義されています。
reg rwff2 |
addr_fifo.v の 44 行で定義されています。
for (i=USER_INPUT_ADDRESS_WIDTH-1; i>=0; i=i-1) begin end endgenerate assign we = wr_en_node & ~fifo_full |
addr_fifo.v の 38 行で定義されています。
reg [3:0] wp |
addr_fifo.v の 39 行で定義されています。
wire wr_en |
addr_fifo.v の 19 行で定義されています。
assign wr_en_node = wr_en |
addr_fifo.v の 48 行で定義されています。