@@ -42,20 +42,13 @@ def __init__(self, lasmim, fifo_depth=None):
42
42
request_enable .eq (rsv_level != fifo_depth )
43
43
]
44
44
45
- # data available
46
- data_available = lasmim .dat_ack
47
- for i in range (lasmim .read_latency ):
48
- new_data_available = Signal ()
49
- self .sync += new_data_available .eq (data_available )
50
- data_available = new_data_available
51
-
52
45
# FIFO
53
46
fifo = SyncFIFO (lasmim .dw , fifo_depth )
54
47
self .submodules += fifo
55
48
56
49
self .comb += [
57
50
fifo .din .eq (lasmim .dat_r ),
58
- fifo .we .eq (data_available ),
51
+ fifo .we .eq (lasmim . dat_r_ack ),
59
52
60
53
self .data .stb .eq (fifo .readable ),
61
54
fifo .re .eq (self .data .ack ),
@@ -86,14 +79,8 @@ def __init__(self, lasmim, fifo_depth=None):
86
79
fifo .din .eq (self .address_data .d )
87
80
]
88
81
89
- data_valid = lasmim .dat_ack
90
- for i in range (lasmim .write_latency ):
91
- new_data_valid = Signal ()
92
- self .sync += new_data_valid .eq (data_valid ),
93
- data_valid = new_data_valid
94
-
95
82
self .comb += [
96
- fifo .re .eq (data_valid ),
83
+ fifo .re .eq (lasmim . dat_w_ack ),
97
84
If (data_valid ,
98
85
lasmim .dat_we .eq (2 ** (lasmim .dw // 8 )- 1 ),
99
86
lasmim .dat_w .eq (fifo .dout )
0 commit comments