Skip to content

Commit 9ed8940

Browse files
author
Abdullah Mughrabi
committed
[RTL]
1 parent 1416f3b commit 9ed8940

File tree

6 files changed

+24
-17
lines changed

6 files changed

+24
-17
lines changed

00_bench/include/capi_utils/capienv.h

+5-3
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@
2929
#define CU_RETURN_ACK 0x3FFFFA8
3030

3131
#define CU_RETURN_DONE 0x3FFFFA0
32-
#define CU_RETURN_DONE_ACK 0x3FFFF98
32+
#define CU_RETURN_DONE_2 0x3FFFF98
33+
#define CU_RETURN_DONE_ACK 0x3FFFF90
3334

34-
#define ERROR_REG 0x3FFFF90
35-
#define ERROR_REG_ACK 0x3FFFF88
35+
#define ERROR_REG 0x3FFFF88
36+
#define ERROR_REG_ACK 0x3FFFF80
3637

3738
// ********************************************************************************************
3839
// *************** AFU Stats **************
@@ -85,6 +86,7 @@ struct AFUStatus
8586
uint64_t cu_return; // running return
8687
uint64_t cu_return_2; // running return
8788
uint64_t cu_return_done; // final return when cu send done
89+
uint64_t cu_return_done_2;
8890
};
8991

9092

00_bench/src/capi_utils/capienv.c

+1
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ void waitAFU(struct cxl_afu_h **afu, struct AFUStatus *afu_status)
169169

170170
// read final return result
171171
cxl_mmio_read64((*afu), CU_RETURN_DONE, (uint64_t *) & (afu_status->cu_return_done));
172+
cxl_mmio_read64((*afu), CU_RETURN_DONE_2, (uint64_t *) & (afu_status->cu_return_done_2));
172173

173174
#ifdef VERBOSE_2
174175
cxl_mmio_read64((*afu), CU_RETURN, (uint64_t *) & (afu_status->cu_return));

01_capi_integration/accelerator_rtl/afu_control/cached_afu.sv

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ module cached_afu #(parameter NUM_EXTERNAL_RESETS = 3) (
4545
logic [ 0:63] external_errors ;
4646
logic [ 0:63] report_errors ;
4747
cu_return_type cu_return ;
48-
logic [ 0:63] cu_return_done ;
48+
cu_return_type cu_return_done ;
4949
cu_configure_type cu_configure ;
5050
afu_configure_type afu_configure ;
5151
logic report_errors_ack ;

01_capi_integration/accelerator_rtl/afu_control/done_control.sv

+7-7
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ module done_control (
2525
input logic cu_done ,
2626
input logic cu_return_done_ack ,
2727
output logic reset_done ,
28-
output logic [0:63] cu_return_done ,
28+
output cu_return_type cu_return_done ,
2929
output ResponseStatistcsInterface report_response_statistics
3030
);
3131

32-
logic rstn ;
33-
done_state current_state, next_state;
34-
logic done_flag ;
35-
logic enabled ;
36-
logic [0:63] cu_return_done_latched ;
32+
logic rstn ;
33+
done_state current_state, next_state;
34+
logic done_flag ;
35+
logic enabled ;
36+
cu_return_type cu_return_done_latched ;
3737
logic prev_soft_rstn ;
3838
logic next_soft_rstn ;
3939
logic done_soft_rstn ;
@@ -132,7 +132,7 @@ module done_control (
132132
end
133133
DONE_IDLE : begin
134134
cu_return_done <= 0;
135-
cu_return_done_latched <= cu_return.var1;
135+
cu_return_done_latched <= cu_return;
136136
report_response_statistics <= response_statistics;
137137
report_response_statistics_latched <= response_statistics;
138138
reset_done <= 1'b1;

01_capi_integration/accelerator_rtl/afu_control/mmio.sv

+6-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ module mmio (
2121
input logic rstn_in ,
2222
input logic [0:63] report_errors ,
2323
input cu_return_type cu_return ,
24-
input logic [0:63] cu_return_done ,
24+
input cu_return_type cu_return_done ,
2525
input logic [0:63] cu_status ,
2626
input logic [0:63] afu_status ,
2727
input ResponseStatistcsInterface response_statistics ,
@@ -84,7 +84,7 @@ module mmio (
8484
logic data_ack ;
8585
logic [0:63] report_errors_latched ;
8686
cu_return_type cu_return_latched ;
87-
logic [0:63] cu_return_done_latched;
87+
cu_return_type cu_return_done_latched;
8888
logic [0:63] afu_status_latched ;
8989
logic [0:63] cu_status_latched ;
9090
logic [0:63] cu_return_mmio_ack ;
@@ -298,7 +298,10 @@ module mmio (
298298
data_out <= cu_return_latched.var2;
299299
end
300300
CU_RETURN_DONE : begin
301-
data_out <= cu_return_done_latched;
301+
data_out <= cu_return_done_latched.var1;
302+
end
303+
CU_RETURN_DONE_2 : begin
304+
data_out <= cu_return_done_latched.var2;
302305
end
303306
ERROR_REG : begin
304307
data_out <= report_errors_latched;

01_capi_integration/accelerator_rtl/afu_pkgs/globals_afu_pkg.sv

+4-3
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,11 @@ package GLOBALS_AFU_PKG;
9595
parameter CU_RETURN_ACK = 26'h 3FFFFA8 >> 2;
9696

9797
parameter CU_RETURN_DONE = 26'h 3FFFFA0 >> 2;
98-
parameter CU_RETURN_DONE_ACK = 26'h 3FFFF98 >> 2;
98+
parameter CU_RETURN_DONE_2 = 26'h 3FFFF98 >> 2;
99+
parameter CU_RETURN_DONE_ACK = 26'h 3FFFF90 >> 2;
99100

100-
parameter ERROR_REG = 26'h 3FFFF90 >> 2;
101-
parameter ERROR_REG_ACK = 26'h 3FFFF88 >> 2;
101+
parameter ERROR_REG = 26'h 3FFFF88 >> 2;
102+
parameter ERROR_REG_ACK = 26'h 3FFFF80 >> 2;
102103

103104
// ********************************************************************************************
104105
// *************** AFU Stats **************

0 commit comments

Comments
 (0)