Hi Martin, Thank for your answer.
1. The definition of the parameters are: * initial begin : tb_main string s; logic [15:0] real_val; logic [15:0] cplx_val; logic last; logic [31:0] random_word; logic [63:0] readback;* 2. The error is in the readback value. When i check the value of the readback in hex i get that (3359812)10 = (334444)16 . It's look like the value that I read is the last 32 bits of the Noc ID. I don 't sure that my assumption is correct. waiting for your help. Thank in advance Ishai On Tue, Oct 15, 2019 at 9:01 PM Martin Braun <[email protected]> wrote: > Ishai, > > it's a bit hard to tell from this snippet, since we're missing the > definitions of random_word and s. Which one is wrong, is it random_word, or > readback? > > -- M > > On Thu, Oct 3, 2019 at 12:56 AM ishai alouche via USRP-users < > [email protected]> wrote: > >> Hi, >> >> I work with X310 and I try to write to user register and read to verify >> that the value was update. >> >> I change the code like in the instruction at the following website: >> https://kb.ettus.com/Getting_Started_with_RFNoC_Development >> >> The relevant code from the test-bench is: >> >> >> >> >> >> >> >> >> * /******************************************************** ** Test >> 4 -- Write / readback user registers >> ********************************************************/ >> `TEST_CASE_START("Write / readback user registers"); random_word = 5; // >> $random(); tb_streamer.write_user_reg(sid_noc_block_TxChannelSrc, >> noc_block_TxChannelSrc.SR_MIN_BW, random_word[21:0]); >> tb_streamer.read_user_reg(sid_noc_block_TxChannelSrc, 0, readback); >> `ASSERT_ERROR(readback[21:0] == random_word[21:0], s);* >> >> The relevant code from the noc block is: >> >> * localparam SR_USER_REG_BASE = 128;* >> >> * localparam [7:0] SR_MIN_BW = SR_USER_REG_BASE;* >> >> * wire [21:0] min_BW;* >> >> >> >> >> >> >> * setting_reg #( .my_addr(SR_MIN_BW), .awidth(8), .width(22)) >> sr_min_BW ( .clk(ce_clk), .rst(ce_rst), .strobe(set_stb), >> .addr(set_addr), .in(set_data), .out(min_BW), .changed()); * >> >> >> >> >> >> >> >> >> >> * always @(posedge ce_clk) begin case(rb_addr) 8'd0 : rb_data <= >> {42'd0, min_BW}; 8'd1 : rb_data <= {42'd0, max_BW}; 8'd2 : >> rb_data <= {42'd0, BW_change_rate}; 8'd3 : rb_data <= {48'd0, >> payload_length}; default : rb_data <= 64'h0BADC0DE0BADC0DE; >> endcase end* >> >> when i run the make command with the noc_block_TxChannelSrc_tb , I get >> the following warning: >> >> >> >> >> >> >> >> >> *WARNING: [XSIM 43-3431] One or more environment variables have been >> detected which affect the operation of the C compiler. These are typically >> not set in standard installations and are not tested by Xilinx, however >> they may be appropriate for your system, so the flow will attempt to >> continue. If errors occur, try running fuse with the "-mt off -v 1" >> switches to see more information from the C compiler. The following >> environment variables have been detected: LIBRARY_PATHStarting static >> elaborationWARNING: [VRFC 10-278] actual bit length 3 differs from formal >> bit length 4 for port rb_addr >> [/home/user/rfnoc_01/rfnoc-modules/rfnoc/testbenches/noc_block_TxChannelSrc_tb/noc_block_TxChannelSrc_tb.sv:35]WARNING: >> [VRFC 10-278] actual bit length 4 differs from formal bit length 2 for port >> dest >> [/home/user/rfnoc_01/src/uhd-fpga/usrp3/lib/rfnoc/noc_shell.v:230]WARNING: >> [VRFC 10-278] actual bit length 4 differs from formal bit length 2 for port >> dest >> [/home/user/rfnoc_01/src/uhd-fpga/usrp3/lib/rfnoc/noc_block_export_io.v:183]WARNING: >> [VRFC 10-526] concatenation with unsized literal; will interpret as 32 bits >> [/home/user/rfnoc_01/rfnoc-modules/rfnoc/testbenches/noc_block_TxChannelSrc_tb/noc_block_TxChannelSrc_tb.sv:75]WARNING: >> [VRFC 10-526] concatenation with unsized literal; will interpret as 32 bits >> [/home/user/rfnoc_01/rfnoc-modules/rfnoc/testbenches/noc_block_TxChannelSrc_tb/noc_block_TxChannelSrc_tb.sv:76]WARNING: >> [VRFC 10-1783] select index -1 into value is out of bounds >> [/home/user/rfnoc_01/src/uhd-fpga/usrp3/lib/control/synchronizer_impl.v:38]* >> >> The test don't stop to run, and when I get the test results the same >> value is always read. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> *========================================================TESTBENCH >> STARTED: >> noc_block_TxChannelSrc========================================================[TEST >> CASE 1] (t=000000000) BEGIN: Wait for Reset...[TEST CASE 1] >> (t=000001002) DONE... Passed[TEST CASE 2] (t=000001002) BEGIN: Check NoC >> ID...Read TxChannelSrc NOC ID: 1111222233334444[TEST CASE 2] >> (t=000001238) DONE... Passed[TEST CASE 3] (t=000001238) BEGIN: Connect >> RFNoC blocks...Connecting noc_block_tb (SID: 1:0) to noc_block_TxChannelSrc >> (SID: 0:0)Connecting noc_block_TxChannelSrc (SID: 0:0) to noc_block_tb >> (SID: 1:0)[TEST CASE 3] (t=000006075) DONE... Passed[TEST CASE 4] >> (t=000006075) BEGIN: Write / readback user registers...Error: User register >> 0 incorrect readback! Expected: 3359812, Actual 5Time: 6602500 ps >> Iteration: 0 Process: /noc_block_TxChannelSrc_tb/Initial43_1195 File: >> /home/user/rfnoc_01/rfnoc-modules/rfnoc/testbenches/noc_block_TxChannelSrc_tb/noc_block_TxChannelSrc_tb.sv* >> >> please someone can explain me what is wrong here. >> >> BR >> Ishai >> >> -- >> ישי אלוש >> 054-5823400 >> _______________________________________________ >> USRP-users mailing list >> [email protected] >> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >> > -- ישי אלוש 054-5823400
_______________________________________________ USRP-users mailing list [email protected] http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
