Sodele, in der Sache mit den ModelSIM Warnings bin ich nun ein paar
Schritte weiter gekommen. Bis auf ein Modul habe ich alle Warnings
wegbekommen. Das "böse" Modul hat folgende Schnittstelle:
1 | entity CAPTURELogic is
|
2 | port (
|
3 | -- System
|
4 | INT_CLK : in STD_LOGIC;
|
5 | INT_RESET : in STD_LOGIC;
|
6 | -- CAPTURE Enable
|
7 | CAPTURE_ENABLE : in STD_LOGIC;
|
8 | -- CAPTURE Window Enable
|
9 | CAPTURE_WIN_ENABLE : in STD_LOGIC;
|
10 | -- CAPTURE Window
|
11 | CAPTURE_WINDOW_START : in STD_LOGIC_VECTOR(31 downto 0);
|
12 | CAPTURE_WINDOW_END : in STD_LOGIC_VECTOR(31 downto 0);
|
13 | -- CAPTURE Input
|
14 | CAPTURE_INPUT_impuls : in STD_LOGIC;
|
15 | -- Counter Input
|
16 | STEP_COUNT : in STD_LOGIC_VECTOR(31 downto 0);
|
17 | -- CAPTURE Request
|
18 | CAPTURE_REQUEST : out STD_LOGIC;
|
19 | CAPTURE_REQUEST_reset : in STD_LOGIC;
|
20 | -- CAPTURE Wert
|
21 | CAPTURE_VALUE : out STD_LOGIC_VECTOR(31 downto 0);
|
22 | -- CAPTURE Count
|
23 | CAPTURE_COUNT : out STD_LOGIC_VECTOR(7 downto 0);
|
24 | CAPTURE_COUNT_reset : in STD_LOGIC
|
25 | );
|
26 | end CAPTURELogic;
|
Innerhalb des Moduls werden diese Signale definiert:
1 | -- signals
|
2 | signal CAPTURE_impuls : STD_LOGIC;
|
3 | signal CAPTURE_REQUEST_save : STD_LOGIC;
|
4 | signal WINDOW_INVERS_sig : STD_LOGIC;
|
5 | signal IN_WINDOW_NONINV_sig : STD_LOGIC;
|
6 | signal IN_WINDOW_INV_sig : STD_LOGIC;
|
7 | signal IN_WINDOW_sig : STD_LOGIC;
|
8 | signal CAPTURE_OVERALL_ENABLE_sig : STD_LOGIC;
|
9 | signal CAPTURE_ALLOW_WINDOW_sig : STD_LOGIC;
|
10 | signal CAPTURE_ENABLE_sig : STD_LOGIC;
|
11 | -- step counter
|
12 | signal CAPTURE_COUNT_uv : unsigned(7 downto 0);
|
13 | -- Capture Wert
|
14 | signal CAPTURE_VALUE_sig : STD_LOGIC_VECTOR(31 downto 0);
|
Gemäss dem Waveform Screenshot im Anhang sind alle Signale sauber
definiert, schon ganz vom Anfang an. ModelSim gibt aber trotzdem einige
solche Warnungen aus:
1 | # Time: 0 ps Iteration: 0 Instance: /kusb_io_flex_testbench_readertest_r1a_mode0/mykusb_io_flex/mycapture/mycapturelogicfall
|
2 | # ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
|
3 | # Time: 0 ps Iteration: 0 Instance: /kusb_io_flex_testbench_readertest_r1a_mode0/mykusb_io_flex/mycapture/mycapturelogicrise
|
4 | # ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
|
Woher könnten diese Warnungen jetzt noch stammen?
Die einzige