1

Qsys では、12 個の入力パラレル ポートを使用しています (名前を にpio1しますpio12)。各ポートは 12 ビットです。vhdlこれらのパラレル・ポートは、Quartus 回路図のブロックから値を取得します。回路図bdfでは、nios ii システム シンボルから を確認できるので、これらの を の他のブロックに接続pio1できます。pio12piobdf

私の質問は、これらpio1をベクトル化する方法pio12ですか? Nios システム シンボルから出てくる12pio個すべてのピオを 1 行ずつ表示する代わりに、これらの 12 個のピオすべてをグループ化して、12 個ではなく 1 個だけを表示するにはどうすればよいですか? pio私が見たものから、pio[1..12][1..12] という名前を付けることができます。最初のブラケットは を意味pio1pio12、2 番目のブラケットはビット 1 からビット 12 を意味します。これは、各パラレル ポートに 12 ビットがあるためです。

pio_helper.vhdこのファイルを使用して Qsys に新しいコンポーネントを作成しました。

ファイルは次のpio_helper.vhdlとおりです。

entity pio_helper is 

port(
pio1 : in std_logic_vector(11 downto 0);
pio2 : in std_logic_vector(11 downto 0);
pio3 : in std_logic_vector(11 downto 0);
pio4 : in std_logic_vector(11 downto 0);
pio5 : in std_logic_vector(11 downto 0);
pio6 : in std_logic_vector(11 downto 0);
pio7 : in std_logic_vector(11 downto 0);
pio8 : in std_logic_vector(11 downto 0);
pio9 : in std_logic_vector(11 downto 0);
pio10 : in std_logic_vector(11 downto 0);
pio11 : in std_logic_vector(11 downto 0);
pio12 : in std_logic_vector(11 downto 0);
piomerge : out std_logic_vector(143 downto 0)
);

end pio_helper;       

のアーキテクチャ動作pio_helper

begin    

piomerge(11 downto 0) <= pio1;
piomerge(23 downto 12) <= pio2;
piomerge(35 downto 24) <= pio3;
piomerge(47 downto 36) <= pio4;
piomerge(59 downto 48) <= pio5;
piomerge(71 downto 60) <= pio6;
piomerge(83 downto 72) <= pio7;
piomerge(95 downto 84) <= pio8;
piomerge(107 downto 96) <= pio9;
piomerge(119 downto 108) <= pio10;
piomerge(131 downto 120) <= pio11;
piomerge(143 downto 132) <= pio12;

end behavior;

次のエラーが発生しました。いくつか質問があります。

  1. これは純粋にデータ転送であるため、クロック信号とリセット信号はないと思います
  2. writebyteenable_n12回出てくる(1回だけ許される)のに12回あるpioのに…どう変えればいいの?

警告: avalon_slave_0: 信号 writebyteenable_n が 12 回表示されます (1 回のみが許可されます) エラー: avalon_slave_0: インターフェイスには関連するクロックが必要です エラー: avalon_slave_0: インターフェイスには関連するリセットが必要です エラー: avalon_slave_0: インターフェイスには関連するクロックが必要です。

4

1 に答える 1

1

表示される警告とエラーは、この接続をコンジット エクスポートとして定義していないためです。シグナルは Avalon スレーブ シグナルとして構成されています。

Qsys の [Signals] タブでコンポーネントを編集し、信号をconduit_end として設定し、次のタブで [ダングリング接続を削除] ボタンをクリックします。これにより、警告とエラーに関する問題が解決される場合があります。

ピンのグループ化に関する質問については、それが可能かどうかわかりません。

于 2015-04-09T01:56:11.000 に答える