Ejemplos mínimos probados en GHDL 0.33
Lee 4 líneas de entrada desde la entrada estándar, y escupe cada una de ellas de vuelta a la salida estándar:
library std;
use std.textio.all;
library ieee;
use ieee.std_logic_1164.all;
entity tmp_tb is
end;
architecture behav of tmp_tb is
begin
process
variable my_line : line;
begin
for i in 3 downto 0 loop
readline(input, my_line);
writeline(output, my_line);
end loop;
wait;
end process;
end;
Lee 4 enteros de stdin y escríbelos en una señal. Esto se puede observar en un archivo de onda generado. Usos: enlace
architecture behav of tmp_tb is
constant clk_period : time := 1 ns;
signal my_integer : integer;
begin
process
variable my_line : line;
variable my_integer_var : integer;
begin
for i in 3 downto 0 loop
readline(input, my_line);
read(my_line, my_integer_var);
my_integer <= my_integer_var;
wait for clk_period / 2;
end loop;
wait;
end process;
end;
Un montón de ejemplos de escritura estándar en GitHub:
Escriba un entero como hexadecimal en stdout: enlace