File tree Expand file tree Collapse file tree 2 files changed +7
-5
lines changed Expand file tree Collapse file tree 2 files changed +7
-5
lines changed Original file line number Diff line number Diff line change @@ -264,7 +264,7 @@ module flow_active
264
264
// - 6: Defining Byte + 1
265
265
// - 7: Defining Byte + 2
266
266
imm_use_def_byte = immediate_cmd_desc.dtt > 4 ? 1'b1 : 1'b0 ;
267
- data_length = imm_use_def_byte ? immediate_cmd_desc.dtt - 5 : immediate_cmd_desc.dtt;
267
+ data_length = imm_use_def_byte ? 16 '( immediate_cmd_desc.dtt - 5 ) : 16 '( immediate_cmd_desc.dtt) ;
268
268
end
269
269
AddressAssignment: begin
270
270
// TODO
@@ -398,7 +398,7 @@ module flow_active
398
398
FetchDAT: begin
399
399
// TODO: Optimize DAT read so it takes just 1 cycle
400
400
dat_read_valid_hw_o = 1'b1 ;
401
- dat_index_hw_o = dev_index;
401
+ dat_index_hw_o = $clog2 ( `DAT_DEPTH )'( dev_index) ;
402
402
end
403
403
// I2CWriteImmediate: Execute Immediate Transfer to Legacy I2C Device via I2C Controller
404
404
I2CWriteImmediate: begin
Original file line number Diff line number Diff line change @@ -62,7 +62,7 @@ module flow_standby_i2c
62
62
// Are we currently mid-transfer?
63
63
logic transfer_active;
64
64
// Number of data bytes held in `fifo_buf`
65
- logic [AcqFifoDepth - 1 : 0 ] byte_count; // Note: We handle only 4 entries of `fifo_buf`
65
+ logic [1 : 0 ] byte_count; // Note: We handle only 4 entries of `fifo_buf`
66
66
// Total number of bytes processed in transaction
67
67
logic [15 : 0 ] transaction_byte_count;
68
68
// Read transaction length
@@ -134,7 +134,9 @@ module flow_standby_i2c
134
134
end : accumulate_bytes_in_dword
135
135
136
136
always_ff @ (posedge clk_i or negedge rst_ni) begin : change_byte_count
137
- if (! rst_ni | reset_byte_count) begin
137
+ if (! rst_ni) begin
138
+ transaction_byte_count <= 0 ;
139
+ end else if (reset_byte_count) begin
138
140
transaction_byte_count <= 0 ;
139
141
end else begin
140
142
if (push_byte) begin
@@ -232,7 +234,7 @@ module flow_standby_i2c
232
234
activate_transfer = start_detected;
233
235
deactivate_transfer = stop_detected | restart_detected;
234
236
235
- if (xfer_read) tx_fifo_rdata_o = fifo_buf[byte_count];
237
+ if (xfer_read) tx_fifo_rdata_o = fifo_buf[byte_count][ 7 : 0 ] ;
236
238
else tx_fifo_rdata_o = 0 ;
237
239
end : state_outputs
238
240
You can’t perform that action at this time.
0 commit comments