-
Notifications
You must be signed in to change notification settings - Fork 0
/
FAQ.txt
84 lines (59 loc) · 3.86 KB
/
FAQ.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
-----------------------------------------------------------
-- Frequently Asked Questions --
-----------------------------------------------------------
-----------------------------------------------------------
-- General questions
-----------------------------------------------------------
-------------------------------------------------------------------------
Q: My compiler reports that some of the VHDL source files do not exist.
What is the problem?
A: 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
-----------------------------------------------------------
Q: Why do I get an error message saying 'UVVM will not work without intitalize_uvvm instantiated as a concurrent procedure in the test harness'
A: You need to instantiate "uvvm_vvc_framework.ti_uvvm_engine" in your testbench, and you should include wait_for_uvvm_init() as your first statement in your test case sequencer.
See "bitvis_uart/tb/uart_vvc_th|tb.vhd" for examples.
-----------------------------------------------------------
-- VVC Questions
-----------------------------------------------------------
-------------------------------------------------------------------------
Q: Can the *_VVCT signal be accessed from a procedure or function?
A: 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
------------------------------------------------------------------------
Q: How do I access the read data after calling *_read() or *_receive() procedure from the VVC?
A: Use fetch_result(), as described in the corresponding VVC quick reference.
-----------------------------------------------------------
Q: When implementing a test bench using bitvis_vip_axistream, how do I declare and constrain the t_axilite_if signal that connect to the VVC in the test harness?
A: If you have a look inside the axilite_bfm_QuickRef.pdf on page two, 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);
------------------------------------------------------------------------
-----------------------------------------------------------
-- Simulator Questions
-----------------------------------------------------------
------------------------------------------------------------------------
Q: Does GHDL support UVVM?
A: Yes. But not all parts of VHDL 2008 are supported.
We are waiting for GHDL to implement solutions.
------------------------------------------------------------------------
Q: Does Aldec Riviera Pro support UVVM?
A Yes. But we have seen some issues where the simulator
have problems with interface signals as unconstrained
records. We are waiting for an Aldec solution.
------------------------------------------------------------------------