Skip to content

Commit 497f00c

Browse files
committed
entdaa: use virtual id
1 parent 75cf17e commit 497f00c

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/ctrl/ccc.sv

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,7 @@ module ccc
324324

325325
logic entdaa_addres_valid;
326326
logic [6:0] entdaa_address;
327+
logic entdaa_process_virtual;
327328

328329
logic get_status_in_progress;
329330

@@ -413,6 +414,7 @@ module ccc
413414

414415
assign last_tbit_valid = (state_q == RxTbit || state_q == RxDataTbit) && bus_rx_done_i;
415416
assign entdaa_o = (state_q == HandleENTDAA || state_q == HandleTargetENTDAA || state_q == HandleVirtualTargetENTDAA);
417+
assign entdaa_process_virtual = (state_q == HandleVirtualTargetENTDAA);
416418

417419
always_ff @(posedge clk_i or negedge rst_ni) begin : register_tbit
418420
if (~rst_ni) begin
@@ -1045,6 +1047,8 @@ module ccc
10451047
.start_daa_i(entdaa_o),
10461048
.done_daa_o(entdaa_done),
10471049

1050+
.process_virtual_i(entdaa_process_virtual),
1051+
10481052
// Bus RX interface
10491053
.bus_rx_data_i,
10501054
.bus_rx_done_i,

src/ctrl/ccc_entdaa.sv

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ module ccc_entdaa
1515
input logic start_daa_i,
1616
output logic done_daa_o,
1717

18+
input logic process_virtual_i,
19+
1820
// Bus RX interface
1921
input logic [7:0] bus_rx_data_i,
2022
input logic bus_rx_done_i,
@@ -67,7 +69,7 @@ module ccc_entdaa
6769
logic parity_ok;
6870

6971
assign reserved_word_det = (bus_rx_data_i[7:1] == 7'h7e && bus_rx_data_i[0] == 1'b1);
70-
assign device_id = {id_i, bcr_i, dcr_i};
72+
assign device_id = process_virtual_i ? {virtual_id_i, virtual_bcr_i, virtual_dcr_i} : {id_i, bcr_i, dcr_i};
7173
assign calculated_parity = ~(bus_rx_data_i[7] ^ bus_rx_data_i[6] ^ bus_rx_data_i[5] ^ bus_rx_data_i[4] ^ bus_rx_data_i[3] ^ bus_rx_data_i[2] ^ bus_rx_data_i[1]);
7274
assign parity_ok = (calculated_parity == bus_rx_data_i[0]);
7375
assign done_daa_o = (state_q == Done);

0 commit comments

Comments
 (0)