Ich will das folgende "Programm" unter GHDL laufen lassen.
1 | library STD; -- you don't need STD, it is automatic
|
2 | library IEEE; -- but may need other libraries
|
3 | use IEEE.std_logic_1164.all; -- basic logic types
|
4 | use STD.textio.all; -- basic I/O
|
5 | use IEEE.std_logic_textio.all; -- I/O for logic types
|
6 |
|
7 | entity hello_world is
|
8 | end entity hello_world;
|
9 |
|
10 | architecture test of hello_world is -- where declarations are placed
|
11 | subtype word_32 is std_logic_vector(31 downto 0); -- simple name
|
12 | signal four_32 : word_32 := x"00000AB4"; -- just four in hex
|
13 | signal I : integer := 0;
|
14 |
|
15 | begin
|
16 | my_print : process is -- a process is parallel
|
17 | variable my_line : line; -- type 'line' comes from textio
|
18 | begin
|
19 | L1: for I in 2 to 5 loop
|
20 | write(my_line, string'("Hello World 1")); -- formatting
|
21 | writeline(output, my_line); -- write to "output"
|
22 |
|
23 | write(my_line, string'("four_32 = "));
|
24 | hwrite(my_line, four_32); -- format type std_logic_vector as hex
|
25 |
|
26 | write(my_line, string'(" I= ")); write(my_line, I); -- format 'counter' as integer
|
27 | wait for 10 ns ;
|
28 | write(my_line, string'(" at time ")); write(my_line, now); -- format time
|
29 | writeline(output, my_line); -- write to display
|
30 | end loop L1;
|
31 | wait;
|
32 | end process my_print;
|
33 | end architecture test;
|
Da ich "hwrite" verwende muss ich zum compilieren die IEEE Version 08
verwenden. Mein Aufruf:
Danach funktioniert "elaborate" oder "run" nicht
Fehler: cannot find entity or configuration hello_world
Hat einer ne Idee was ich falsch mache? Ohne "hwrite" und "std=08"
klappt alles.