2016-11-17 3 views
0

FSMの場合、クロックサイクルごとに現在の状態を出力したいとします。私はどうしたらいいのですか?私はどんなデータ型が必要でしょうか?vhdlで波形の文字列を印刷することは可能ですか

+0

どのツールを使用していますか? – Qiu

+0

@Qiu Quartusを使用する – Bren

+1

状態が列挙型の値である場合は、それらを記号的に表示する必要があります。 (あなたの状態の型宣言はどのように見えますか?) – user1155120

答えて

0

はい。 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; 

enter image description here

注意を文字列操作は、VHDLで少しトリッキーなことができますが、あなただけの上で、その後、簡単なデバッグ出力のためのいくつかを必要とする場合は、その下の簡単な例それをするかもしれない。

関連する問題