!FreeHDLでtextio VHDLのtextioを使ったシミュレーションをFreeHDLでやってみた. ieee.std_logic_textioがないみたいなので,std.textioで頑張る. # つまりhreadが使えない. たとえば, library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; library std; use std.textio.all; entity test is end test; architecture Behavior of test is signal a : std_logic_vector(7 downto 0); signal clk : std_logic; file src : text open read_mode is "in_file_name"; begin process begin for i in 1 to 10 loop clk <= '0'; wait for 50 ns; clk <= '1'; wait for 50 ns; end loop; wait; end process; process variable l : line; variable var_a : bit_vector(7 downto 0); begin wait until CLK'event and CLK = '1'; readline(src, l); -- 1行読む read(l, var_a); -- デリミタ(空白)までを切り出して変数に代入 a <= to_stdlogicvector(var_a); -- std_logic_vectorに変換して代入 end process; end Behavior; 書き出すファイルが欲しければ, file dest : text open write_mode is "out_file_name"; とかして定義して, write(l, string'("test")); writeline(dest, l); とすれば,書き出せる.標準出力に書き出したいときは, destの代わりにoutputと書くとよい...みたい. readlineで読んだデータは空白で分割されて, readの記述順に従って変数に格納される. 実行時に開きたいファイルがあれば,実行中にデータを書き足しても ちゃんと読んでくれるよう.便利〜♪