0
FSMの場合、クロックサイクルごとに現在の状態を出力したいとします。私はどうしたらいいのですか?私はどんなデータ型が必要でしょうか?vhdlで波形の文字列を印刷することは可能ですか
FSMの場合、クロックサイクルごとに現在の状態を出力したいとします。私はどうしたらいいのですか?私はどんなデータ型が必要でしょうか?vhdlで波形の文字列を印刷することは可能ですか
はい。 ModelSimはstring
と表示され、非常に便利です。
architecture sim of tb is
signal info : string(1 to 20);
function string_fill(msg : string; len : natural) return string is
variable res_v : string(1 to len);
begin
res_v := (others => ' '); -- Fill with spaces to blank all for a start
res_v(1 to msg'length) := msg;
return res_v;
end function;
begin
process is
begin
info <= string_fill("Hello VHDL", info'length);
wait for 100 ns;
info <= string_fill("Hi Bren", info'length);
wait for 100 ns;
info <= string_fill("end of sim", info'length);
wait for 100 ns;
wait;
end process;
end architecture;
:
注意を文字列操作は、VHDLで少しトリッキーなことができますが、あなただけの上で、その後、簡単なデバッグ出力のためのいくつかを必要とする場合は、その下の簡単な例それをするかもしれない。
どのツールを使用していますか? – Qiu
@Qiu Quartusを使用する – Bren
状態が列挙型の値である場合は、それらを記号的に表示する必要があります。 (あなたの状態の型宣言はどのように見えますか?) – user1155120