Entity: fifo8_delay64
Diagram
Description
Xianjun jiao. putaoshu@msn.com; xianjun.jiao@imec.be;
Generics
| Generic name |
Type |
Value |
Description |
| DATA_WIDTH |
integer |
8 |
|
| DELAY_CTL_WIDTH |
integer |
7 |
|
Ports
| Port name |
Direction |
Type |
Description |
| clk |
input |
wire |
main function: after receive data, send ack; after send data, disable tx for a while because need to wait for ack from peer. |
| rstn |
input |
wire |
|
| delay_ctl |
input |
wire [(DELAY_CTL_WIDTH-1):0] |
|
| data_in |
input |
wire [(DATA_WIDTH-1):0] |
|
| data_in_valid |
input |
wire |
|
| data_out |
output |
wire [(DATA_WIDTH-1):0] |
|
| data_out_valid |
output |
wire |
|
Signals
| Name |
Type |
Description |
| rw_state |
reg [1:0] |
|
| rst_count |
reg [2:0] |
|
| rden_internal |
reg |
|
| wren_internal |
reg |
|
| data_count |
wire [(DELAY_CTL_WIDTH-1):0] |
|
| full |
wire |
|
| empty |
wire |
|
Constants
| Name |
Type |
Value |
Description |
| IDLE |
[1:0] |
2'b00 |
|
| WAIT_FILL |
[1:0] |
2'b01 |
|
| NORMAL_RW |
[1:0] |
2'b10 |
|
Processes
- unnamed: ( @(posedge clk) )
Instantiations
- fifo8_1clk_dep64_i: xpm_fifo_sync
Description
fifo8_1clk_dep64 fifo8_1clk_dep64_i (
.CLK(clk),
.DATAO(data_out),
.DI(data_in),
.EMPTY(empty),
.FULL(full),
.RDEN(rden_internal),
.RST(~rstn),
.WREN(wren_internal),
.data_count(data_count)
);
State machines
state transitions
cluster_rw_state
rw_state
IDLE
IDLE
IDLE->rw_state
not (rst_count==7)
WAIT_FILL
WAIT_FILL
IDLE->WAIT_FILL
rst_count==7
WAIT_FILL->rw_state
not (data_count == delay_ctl)
NORMAL_RW
NORMAL_RW
WAIT_FILL->NORMAL_RW
data_count == delay_ctl
NORMAL_RW->rw_state