Frequently Asked Questions
General questions
- My compiler reports that some of the VHDL source files do not exist. What is the problem?
There is a 250 character limit on file paths in the Windows operating system. Please make sure that this product is placed so that the paths of the files do not exceed 250 characters.
UVVM Questions
- Why do I get an error message saying “UVVM will not work without intitalize_uvvm instantiated as a concurrent procedure in the test harness”?
You need to instantiate
uvvm_vvc_framework.ti_uvvm_engine
in your testbench, and you should includeawait_uvvm_initialization(VOID)
as your first statement in your test case sequencer. See “bitvis_uart/tb/uart_vvc_th|tb.vhd” for examples.
VVC Questions
- Can the
*_VVCT
signal be accessed from a procedure or function? Yes, you can access VVC commands from procedures in your TB, and making overloading procedures in the TB can be smart, e.g.
procedure axilite_write( constant data : in std_logic_vector(GC_DATA_WIDTH-1 downto 0); constant addr : in unsigned; constant msg : in string := ""; constant vvc_instance_idx : in natural := C_VVC_IDX_MASTER) is begin axilite_write(AXILITE_VVCT, vvc_instance_idx, addr, data, msg); end procedure;
- Can the
- How do I access the read data after calling
*_read()
or*_receive()
procedure from the VVC? Use
fetch_result()
as described in the corresponding VVC documentation.
- How do I access the read data after calling
- When implementing a testbench using bitvis_vip_axilite, how do I declare and constrain the
t_axilite_if
signal that connect to the VVC in the test harness? If you have a look here, you will see the
axilite_if
record type. Then you could try to change your code to something like:signal axi_ctrl : t_axilite_if(write_address_channel(awaddr(GC_ADDR_WIDTH-1 downto 0)), write_data_channel(wdata(GC_DATA_WIDTH-1 downto 0), wstrb((GC_DATA_WIDTH/8)-1 downto 0)), read_address_channel(araddr(GC_ADDR_WIDTH-1 downto 0)), read_data_channel(rdata(GC_DATA_WIDTH-1 downto 0)) ) := init_axilite_if_signals(GC_ADDR_WIDTH, GC_DATA_WIDTH);
- When implementing a testbench using bitvis_vip_axilite, how do I declare and constrain the
Simulator Questions
- Which simulators support UVVM?
For a list of supported simulators see Prerequisites and for an overview of known issues see Tool Compatibility.