Skip to content
Snippets Groups Projects
Commit 5f29bdf3 authored by Grzegorz Daniluk's avatar Grzegorz Daniluk
Browse files

testbench/wrc_core: update testbench for Continuous Integration

parent 903ba03a
No related merge requests found
......@@ -2,7 +2,7 @@
# testbenches added for CI
TB_DIRS=wr_minic
TB_DIRS+=wr_minic2
TB_DIRS+=wrc_core/main_tb
.PHONY: $(TB_DIRS)
......
......@@ -16,8 +16,7 @@ modules = { "local" : [ "../../..",
"../../../modules/fabric",
"../../../ip_cores/general-cores",
"../../../ip_cores/etherbone-core",
"../../../ip_cores/gn4124-core",
"../../../ip_cores/urv-core" ]}
"../../../ip_cores/gn4124-core" ]}
......@@ -99,12 +99,16 @@ module main;
.g_tx_runt_padding(1),
.g_with_external_clock_input(1),
.g_dpram_initf ("sw/wrc.ram"),
.g_dpram_size (131072/4))
.g_dpram_size (131072/4),
.g_diag_id(1),
.g_diag_ver(2),
.g_diag_ro_size(5),
.g_diag_rw_size(1))
DUT (
.clk_sys_i (clk_sys),
.clk_dmtd_i (clk_ref),
.clk_ref_i (clk_ref),
.clk_aux_i (clk_ref),
//.clk_aux_i (clk_ref),
.rst_n_i (rst_n),
.pps_p_o (),
......@@ -178,9 +182,11 @@ module main;
.phy_tx_k_o(phy_tx_k),
.phy_tx_disparity_i(phy_tx_disparity),
.phy_tx_enc_err_i(phy_tx_enc_err),
.phy_rx_data_i(phy_rx_data),
.phy_rx_rbclk_i(clk_ref),
.phy_rx_k_i(phy_rx_k),
//.phy_rx_data_i(phy_rx_data),
//.phy_rx_k_i(phy_rx_k),
.phy_rx_data_i(phy_tx_data),
.phy_rx_k_i(phy_tx_k),
.phy_rx_enc_err_i(phy_rx_enc_err),
.phy_rx_bitslide_i(phy_rx_bitslide),
.phy_rst_o(phy_rst),
......@@ -320,6 +326,7 @@ module main;
initial begin
//CWishboneAccessor acc_wrc;
CSimDrv_WR_Endpoint ep_drv;
uint64_t val;
@(posedge rst_n);
repeat(3) @(posedge clk_sys);
......@@ -349,6 +356,45 @@ module main;
#1400us;
tx_sizes = {};
// acc_wrc.read(`BASE_SYSCON + `ADDR_SYSC_DIAG_INFO, val);
// $display("DIAG ID: %d.%d",
// (val&`SYSC_DIAG_INFO_ID)>>`SYSC_DIAG_INFO_ID_OFFSET, val&`SYSC_DIAG_INFO_VER);
//
// acc_wrc.read(`BASE_SYSCON + `ADDR_SYSC_DIAG_NW, val);
// $display("DIAG out words: %d", val & `SYSC_DIAG_NW_RW);
// $display("DIAG in words: %d", (val & `SYSC_DIAG_NW_RO)>>`SYSC_DIAG_NW_RO_OFFSET);
//
// //reading words
// acc_wrc.write(`BASE_SYSCON + `ADDR_SYSC_DIAG_CR, 0);
// acc_wrc.read (`BASE_SYSCON + `ADDR_SYSC_DIAG_DAT, val);
// $display("1st word: %x", val);
//
// acc_wrc.write(`BASE_SYSCON + `ADDR_SYSC_DIAG_CR, 1);
// acc_wrc.read (`BASE_SYSCON + `ADDR_SYSC_DIAG_DAT, val);
// $display("2nd word: %x", val);
//
// acc_wrc.write(`BASE_SYSCON + `ADDR_SYSC_DIAG_CR, 2);
// acc_wrc.read (`BASE_SYSCON + `ADDR_SYSC_DIAG_DAT, val);
// $display("3rd word: %x", val);
//
// acc_wrc.write(`BASE_SYSCON + `ADDR_SYSC_DIAG_CR, 3);
// acc_wrc.read (`BASE_SYSCON + `ADDR_SYSC_DIAG_DAT, val);
// $display("4th word: %x", val);
//
// acc_wrc.write(`BASE_SYSCON + `ADDR_SYSC_DIAG_CR, 4);
// acc_wrc.read (`BASE_SYSCON + `ADDR_SYSC_DIAG_DAT, val);
// $display("5th word: %x", val);
//
// acc_wrc.write(`BASE_SYSCON + `ADDR_SYSC_DIAG_CR, 5);
// acc_wrc.read (`BASE_SYSCON + `ADDR_SYSC_DIAG_DAT, val);
// $display("6th word: %x", val);
//
// acc_wrc.write(`BASE_SYSCON + `ADDR_SYSC_DIAG_DAT, 1);
// acc_wrc.write(`BASE_SYSCON + `ADDR_SYSC_DIAG_CR, `SYSC_DIAG_CR_RW);
// acc_wrc.read (`BASE_SYSCON + `ADDR_SYSC_DIAG_DAT, val);
// $display("next word: %x", val);
//NOW LET'S SEND SOME FRAMES
//send_frames(wrc_src, 3000);
send_frames(ep_src, 20);
......
# Modelsim run script for continuous integration (with return code)
# execute: vsim -c -do "run_ci.do"
vsim -L unisim -t 10fs work.main -voptargs="+acc"
set StdArithNoWarnings 1
set NumericStdNoWarnings 1
do wave.do
radix -hexadecimal
run 200ms
wave zoomfull
radix -hexadecimal
quit -code [coverage attribute -name TESTSTATUS -concise]
......@@ -4,112 +4,29 @@ add wave -noupdate /main/DUT/PERIPH/rst_n_i
add wave -noupdate /main/DUT/rst_net_n
add wave -noupdate /main/DUT/rst_wrc_n
add wave -noupdate /main/DUT/clk_sys_i
add wave -noupdate -group Minic /main/DUT/MINI_NIC/src_o
add wave -noupdate -group Minic /main/DUT/MINI_NIC/src_i
add wave -noupdate -group Minic /main/DUT/MINI_NIC/snk_o
add wave -noupdate -group Minic /main/DUT/MINI_NIC/snk_i
add wave -noupdate -group Minic /main/DUT/MINI_NIC/U_Wrapped_Minic/nrx_avail
add wave -noupdate -group Minic /main/DUT/MINI_NIC/U_Wrapped_Minic/nrx_bufstart
add wave -noupdate -group Minic /main/DUT/MINI_NIC/U_Wrapped_Minic/nrx_bufsize
add wave -noupdate -group Minic /main/DUT/MINI_NIC/U_Wrapped_Minic/nrx_mem_a_saved
add wave -noupdate -group Minic /main/DUT/MINI_NIC/U_Wrapped_Minic/nrx_buf_full
add wave -noupdate -group Minic /main/DUT/MINI_NIC/U_Wrapped_Minic/nrx_valid
add wave -noupdate -group Minic -expand /main/DUT/MINI_NIC/wb_i
add wave -noupdate -group Minic -expand /main/DUT/MINI_NIC/wb_o
add wave -noupdate -expand -group EP_INT -expand /main/DUT/U_Endpoint/snk_i
add wave -noupdate -expand -group EP_INT -expand /main/DUT/U_Endpoint/src_o
add wave -noupdate -expand -group EP_INT -group TX_PCS -expand /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/pcs_fab_i
add wave -noupdate -expand -group EP_INT -group RX_PCS /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_RX_PCS/pcs_fab_o
add wave -noupdate -expand -group EP_INT -expand -group CRC -height 16 /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_Rx_Path/U_crc_size_checker/state
add wave -noupdate -expand -group EP_INT -expand -group CRC /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_Rx_Path/U_crc_size_checker/sreg_enable
add wave -noupdate -expand -group EP_INT -expand -group CRC /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_Rx_Path/U_crc_size_checker/q_data
add wave -noupdate -expand -group EP_INT -expand -group CRC /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_Rx_Path/U_crc_size_checker/q_dvalid_out
add wave -noupdate -expand -group EP_INT -expand -group CRC /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_Rx_Path/U_crc_size_checker/q_dvalid_in
add wave -noupdate -expand -group EP_INT -expand -group CRC /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_Rx_Path/U_crc_size_checker/qfull
add wave -noupdate -group ext_snk /main/DUT/ext_snk_adr_i
add wave -noupdate -group ext_snk /main/DUT/ext_snk_dat_i
add wave -noupdate -group ext_snk /main/DUT/ext_snk_sel_i
add wave -noupdate -group ext_snk /main/DUT/ext_snk_cyc_i
add wave -noupdate -group ext_snk /main/DUT/ext_snk_stb_i
add wave -noupdate -group ext_snk /main/DUT/ext_snk_ack_o
add wave -noupdate -group ext_snk /main/DUT/ext_snk_err_o
add wave -noupdate -group ext_snk /main/DUT/ext_snk_stall_o
add wave -noupdate -group ext_src /main/DUT/ext_src_adr_o
add wave -noupdate -group ext_src /main/DUT/ext_src_dat_o
add wave -noupdate -group ext_src /main/DUT/ext_src_sel_o
add wave -noupdate -group ext_src /main/DUT/ext_src_cyc_o
add wave -noupdate -group ext_src /main/DUT/ext_src_stb_o
add wave -noupdate -group ext_src /main/DUT/ext_src_ack_i
add wave -noupdate -group ext_src /main/DUT/ext_src_err_i
add wave -noupdate -group ext_src /main/DUT/ext_src_stall_i
add wave -noupdate -expand -group EP_EXT -expand -group src /main/EP/src_cyc_o
add wave -noupdate -expand -group EP_EXT -expand -group src /main/EP/src_stb_o
add wave -noupdate -expand -group EP_EXT -expand -group src /main/EP/src_sel_o
add wave -noupdate -expand -group EP_EXT -expand -group src /main/EP/src_adr_o
add wave -noupdate -expand -group EP_EXT -expand -group src /main/EP/src_dat_o
add wave -noupdate -expand -group EP_EXT -expand -group src /main/EP/src_stall_i
add wave -noupdate -expand -group EP_EXT -expand -group src /main/EP/src_ack_i
add wave -noupdate -expand -group EP_EXT -expand -group src /main/EP/src_err_i
add wave -noupdate -expand -group EP_EXT -expand -group snk /main/EP/snk_cyc_i
add wave -noupdate -expand -group EP_EXT -expand -group snk /main/EP/snk_stb_i
add wave -noupdate -expand -group EP_EXT -expand -group snk /main/EP/snk_sel_i
add wave -noupdate -expand -group EP_EXT -expand -group snk /main/EP/snk_adr_i
add wave -noupdate -expand -group EP_EXT -expand -group snk /main/EP/snk_dat_i
add wave -noupdate -expand -group EP_EXT -expand -group snk /main/EP/snk_stall_o
add wave -noupdate -expand -group EP_EXT -expand -group snk /main/EP/snk_ack_o
add wave -noupdate -expand -group EP_EXT -expand -group snk /main/EP/snk_err_o
add wave -noupdate -expand -group EP_EXT -expand -group snk /main/EP/snk_rty_o
add wave -noupdate -expand -group EP_EXT -group TX_PCS /main/EP/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/pcs_fab_i
add wave -noupdate -expand -group EP_EXT -group RX_PCS -expand /main/EP/U_PCS_1000BASEX/gen_8bit/U_RX_PCS/pcs_fab_o
add wave -noupdate -expand -group EP_EXT -expand -group RX_PATH -expand -subitemconfig {/main/EP/U_Rx_Path/fab_pipe(4) -expand /main/EP/U_Rx_Path/fab_pipe(5) -expand} /main/EP/U_Rx_Path/fab_pipe
add wave -noupdate -expand -group EP_EXT -expand -group RX_PATH /main/EP/U_Rx_Path/dreq_pipe
add wave -noupdate -expand -group EP_EXT -expand -group RX_PATH -expand -group CRC -height 16 /main/EP/U_Rx_Path/U_crc_size_checker/state
add wave -noupdate -expand -group EP_EXT -expand -group RX_PATH -expand -group CRC -expand /main/EP/U_Rx_Path/U_crc_size_checker/q_data
add wave -noupdate -expand -group EP_EXT -expand -group RX_PATH -expand -group CRC /main/EP/U_Rx_Path/U_crc_size_checker/sreg_enable
add wave -noupdate -expand -group EP_EXT -expand -group RX_PATH -expand -group CRC /main/EP/U_Rx_Path/U_crc_size_checker/q_dvalid_out
add wave -noupdate -expand -group EP_EXT -expand -group RX_PATH -expand -group CRC /main/EP/U_Rx_Path/U_crc_size_checker/q_dvalid_in
add wave -noupdate -expand -group EP_EXT -expand -group RX_PATH -expand -group CRC /main/EP/U_Rx_Path/U_crc_size_checker/qfull
add wave -noupdate -group WB /main/EP/wb_cyc_i
add wave -noupdate -group WB /main/EP/wb_stb_i
add wave -noupdate -group WB /main/EP/wb_we_i
add wave -noupdate -group WB /main/EP/wb_sel_i
add wave -noupdate -group WB /main/EP/wb_adr_i
add wave -noupdate -group WB /main/EP/wb_dat_i
add wave -noupdate -group WB /main/EP/wb_dat_o
add wave -noupdate -group WB /main/EP/wb_ack_o
add wave -noupdate -group WB /main/EP/wb_stall_o
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/clk_sys_i
add wave -noupdate -expand -group LBK -expand /main/WRF_LBK/X_LOOPBACK/wb_i
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/wb_o
add wave -noupdate -expand -group LBK -height 16 /main/WRF_LBK/X_LOOPBACK/lbk_rxfsm
add wave -noupdate -expand -group LBK -height 16 /main/WRF_LBK/X_LOOPBACK/lbk_txfsm
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/wrf_snk_i
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/wrf_snk_o
add wave -noupdate -expand -group LBK -expand /main/WRF_LBK/X_LOOPBACK/wrf_src_o
add wave -noupdate -expand -group LBK -expand /main/WRF_LBK/X_LOOPBACK/wrf_src_i
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/rcv_cnt
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/drp_cnt
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/fwd_cnt
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/ack_cnt
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/fsize
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/txsize
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/tx_cnt
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/ffifo_empty
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/ffifo_full
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/frame_wr
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/frame_rd
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/frame_in
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/frame_out
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/sfifo_empty
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/sfifo_full
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/fsize_wr
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/fsize_rd
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/fsize_in
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/fsize_out
add wave -noupdate -expand -group LBK /main/WRF_LBK/X_LOOPBACK/regs_fromwb.mcr_ena_o
add wave -noupdate /main/clk_ref
add wave -noupdate /main/DUT/phy_tx_data_o
add wave -noupdate /main/DUT/phy_tx_k_o
add wave -noupdate /main/phy_rbclk
add wave -noupdate /main/DUT/phy_rx_data_i
add wave -noupdate /main/DUT/phy_rx_k_i
add wave -noupdate -expand -group WRPC_EB /main/DUT/U_Endpoint/src_o
add wave -noupdate -expand -group WRPC_EB /main/DUT/U_Endpoint/src_i
add wave -noupdate -expand -group WRPC_EB /main/DUT/U_Endpoint/snk_o
add wave -noupdate -expand -group WRPC_EB /main/DUT/U_Endpoint/snk_i
add wave -noupdate -expand -group WRPC_EB /main/DUT/U_Endpoint/wb_i
add wave -noupdate -expand -group WRPC_EB /main/DUT/U_Endpoint/wb_o
add wave -noupdate -expand -group EP_PCS /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/phy_tx_clk_i
add wave -noupdate -expand -group EP_PCS /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/phy_tx_data_o
add wave -noupdate -expand -group EP_PCS /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/phy_tx_k_o
add wave -noupdate -expand -group EP_PCS /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/phy_tx_disparity_i
add wave -noupdate -expand -group EP_PCS /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/phy_tx_enc_err_i
add wave -noupdate -expand -group EP_PCS -height 16 /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/tx_state
add wave -noupdate -expand -group EP_PCS /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/pcs_fab_i
add wave -noupdate -expand -group EP_PCS /main/DUT/U_Endpoint/U_Wrapped_Endpoint/U_PCS_1000BASEX/gen_8bit/U_TX_PCS/pcs_busy_o
TreeUpdate [SetDefaultTree]
WaveRestoreCursors {{Cursor 2} {1607388000000 fs} 1}
configure wave -namecolwidth 204
WaveRestoreCursors {{Cursor 2} {49772000000 fs} 0} {{Cursor 2} {78532322210 fs} 0}
configure wave -namecolwidth 270
configure wave -valuecolwidth 100
configure wave -justifyvalue left
configure wave -signalnamewidth 1
......@@ -123,4 +40,4 @@ configure wave -griddelta 40
configure wave -timeline 0
configure wave -timelineunits ns
update
WaveRestoreZoom {0 fs} {8282223600 ps}
WaveRestoreZoom {0 fs} {3592204717500 fs}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment