'Understanding Verilog signal width parameter inheritance [duplicate]

I have a Verilog design from Xilinx that I am trying to understand. Coming from VHDL I have a hard time grasping the definitions inside the design. Things are written as though they should be explicit. But as soon as I run the simulation things are completely different.

As in the example in the image below: Inside the entity block, there is a parameter STRB_WIDTH = 2. So I am expecting the output signal AXI4_S_OP_TKEEP [0:(STRB_WIDTH-1)] to have a 2 bit width. The simulation on the right however shows a 32 bit length.

edit: solved by @toolic by pointing to the instantiation

// Frame Checker to check output from RX_Stream
aurora_64b66b_0_FRAME_CHECK #
    (
    .DATA_WIDTH(256),
    .STRB_WIDTH(32)
    )
    frame_check_i
    (
    // AXI4-S input signals
    .AXI4_S_IP_TX_TVALID(rx_tvalid_i),
    .AXI4_S_IP_TX_TREADY(),
    .AXI4_S_IP_TX_TDATA(rx_tdata_i),
    .AXI4_S_IP_TX_TKEEP(rx_tkeep_i),
    .AXI4_S_IP_TX_TLAST(rx_tlast_i),
    .DATA_ERR_COUNT(data_err_count_o),

    .CHANNEL_UP(channel_up_i),
    .USER_CLK(user_clk_i),
    .RESET(reset2FrameCheck)
    );

Screenshot of Xilinx Vivado
Screenshot of Xilinx Vivado



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source