CXL Type 3 Design Example 1.81 simulation issue
Hi,
The version 1.81 of the Design Example of the CXL Type 3, using Quartus 23.1 source files, does not behave as intended. The testbench supposedly issues MemWrites of 1500 cache lines, and reads them back for consistency checking. However, an apparent issue in the encrypted macro `CXL_TB_DO_BBS_BUSY_CHECKS (line 187 of tb/tests/cxl_base_test.sv) causes the testbench to stop the MemWrites at packet 1458, which leads to the failure of execution of the next phase, the MemReads.
As a test, I modified the testbench not to use the failing macro, and that assisted the simulation to finish the MemWrites. However, the following error happened during the first read transaction:
"/quartus/hyb-type3/intel_rtile_cxl_top_0_ed/intel_rtile_cxl_top_cxltyp3_ed/intel_rtile_cxl_top_180/sim/dcc_top.sv", 23: cxl_tb_top.dut.intel_rtile_cxl_top_inst.intel_rtile_cxl_top_0.PROTECTED.dcc_ptM2SReq_illegal_asrt: started at 512100001423fs failed at 512100001423fs
Offending '<Protected>'
Error: "/quartus/hyb-type3/intel_rtile_cxl_top_0_ed/intel_rtile_cxl_top_cxltyp3_ed/intel_rtile_cxl_top_180/sim/dcc_top.sv", 23: cxl_tb_top.dut.intel_rtile_cxl_top_inst.intel_rtile_cxl_top_0.PROTECTED.dcc_ptM2SReq_illegal_asrt: at time 512100001423 fs
>>>> Time=512100.001ns, ASSERT - DCC M2SReq PT illegal asserted
>>>> Op=M2SREQDCD_RSVD31, ReIssue=0, Hit=0, CurrSt=TAGSTATE_I, NxtSt=TAGSTATE_ILLEGAL
As a reference, the 1.7 version of the Design Example using the Quartus 22.4 source code works correctly.
I have attached the simulation log files from the original run, and from the modified one.
Thank you,
Ricardo