私はいくつかの古いものを通って試験を準備しています。カスタムタイプをポート宣言で使用できますか?
同期FSMを実装する合成可能な動作可能なVHDLコードを図... に書き込みます。FSMには、要求と呼ばれる1つの入力があり、値(r1、r2、r3)を持つ列挙型です。 ...私はこのコードを書きたくなる
:
entity fsm is
port (clk : in std_logic;
request : in my_enum_type
);
end fsm;
そしてどこかにあります(私は試してみました
type my_enum_type is (r1, r2, r3);
をどこかにポート宣言とアーキテクチャ宣言の直後)。
しかし、私はそれを働かせるようには見えません。 カスタムタイプをそのような入力または出力として使用できますか?
これは完全に機能します!質問:そのトップレベルとピンのもの...私はどのように変換しますか?ちょうどif? if(request = r1)then pin1 <= '1' ...それは本当に私にとっては問題ではありませんが、私は知ってうれしいです。 – evading
Commonパッケージの "有用なツール"の詳細レベルを埋める...あなたのラッパーはエンティティ(SLVポートを持つpost_synthネットリスト)と 'slv_enum <= to_slv(my_enum);のようなシグナル割り当てを含んでいます –
注意 - '' pos''と '' val''属性とnumeric_std.unsignedの観点から、それらの "有用なツール"(enum)を書くことができるので、 'to_enum'の本体は' return my_enum_type'val (署名なし); ' –