@@ -50,7 +50,6 @@ import adi_spi_vip_pkg::*;
5050// ---------------------------------------------------------------------------
5151// SPI Engine configuration parameters
5252// ---------------------------------------------------------------------------
53- localparam PCORE_VERSION = 32'h0001_0300 ;
5453
5554program test_sleep_delay (
5655 inout spi_engine_irq,
155154// ---------------------------------------------------------------------------
156155
157156task sanity_test ();
158- axi_read_v (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_VERSION ), PCORE_VERSION );
157+ bit [31 : 0 ] pcore_version = (`DEFAULT_AXI_SPI_ENGINE_VERSION_VERSION_PATCH )
158+ | (`DEFAULT_AXI_SPI_ENGINE_VERSION_VERSION_MINOR )<< 8
159+ | (`DEFAULT_AXI_SPI_ENGINE_VERSION_VERSION_MAJOR )<< 16 ;
160+ axi_read_v (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_VERSION ), pcore_version);
159161 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_SCRATCH ), 32'hDEADBEEF );
160162 axi_read_v (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_SCRATCH ), 32'hDEADBEEF );
161163 `INFO ((" Sanity Test Done" ));
@@ -296,14 +298,14 @@ task sleep_delay_test(
296298 // Write commands
297299 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), `INST_CFG );
298300 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), `INST_PRESCALE );
299- axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), (( `INST_DLENGTH ) & 32'hFFFF_FF00 ) | 16 );
301+ axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), `SET_DLENGTH ( `DATA_WIDTH - `DATA_DLENGTH ) );
300302 if (`CS_ACTIVE_HIGH ) begin
301- axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), `cs_inv_mask (8'hFF ));
303+ axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), `SET_CS_INV_MASK (8'hFF ));
302304 end
303305
304306 expected_sleep_time = 2 + (sleep_param)* ((`CLOCK_DIVIDER + 1 )* 2 );
305307 // Start the test
306- axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), (`sleep (sleep_param)));
308+ axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), (`SLEEP (sleep_param)));
307309
308310 # 2000ns
309311 sleep_time = sleep_instr_time.pop_back ();
@@ -315,7 +317,7 @@ task sleep_delay_test(
315317
316318 // change the SPI word size (this should not affect sleep delay)
317319 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), `INST_DLENGTH );
318- axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), (`sleep (sleep_param)));
320+ axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_CMD_FIFO ), (`SLEEP (sleep_param)));
319321 # 2000ns
320322 sleep_time = sleep_instr_time.pop_back ();
321323 # 100ns
@@ -382,11 +384,11 @@ task cs_delay_test(
382384 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `INST_PRESCALE );
383385 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `INST_DLENGTH );
384386 if (`CS_ACTIVE_HIGH ) begin
385- axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `cs_inv_mask (8'hFF ));
387+ axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `SET_CS_INV_MASK (8'hFF ));
386388 end
387- axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `cs (8'hFE ));
389+ axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `SET_CS (8'hFE ));
388390 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `INST_RD );
389- axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `cs (8'hFF ));
391+ axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `SET_CS (8'hFF ));
390392 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `INST_SYNC | 1 );
391393
392394 expected_cs_activate_time = 2 ;
@@ -443,9 +445,9 @@ task cs_delay_test(
443445
444446 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_MEM_RESET ), `SET_AXI_SPI_ENGINE_OFFLOAD0_MEM_RESET_OFFLOAD0_MEM_RESET (1 ));
445447 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_MEM_RESET ), `SET_AXI_SPI_ENGINE_OFFLOAD0_MEM_RESET_OFFLOAD0_MEM_RESET (0 ));
446- axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `cs_delay (8'hFE ,cs_activate_delay));
448+ axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `SET_CS_DELAY (8'hFE ,cs_activate_delay));
447449 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `INST_RD );
448- axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `cs_delay (8'hFF ,cs_deactivate_delay));
450+ axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `SET_CS_DELAY (8'hFF ,cs_deactivate_delay));
449451 axi_write (`SPI_ENGINE_SPI_REGMAP_BA + GetAddrs (AXI_SPI_ENGINE_OFFLOAD0_CDM_FIFO ), `INST_SYNC | 2 );
450452
451453 // breakdown: cs_activate_delay*(1+`CLOCK_DIVIDER)*2, times 2 since it's before and after cs transition, and added 3 cycles (1 for each timer comparison, plus one for fetching next instruction)
0 commit comments