0

ブレイクアウト ゲームの FPGA 実装のプロジェクトに取り組んでいます。このゲームでは、ボールとパドルを使ってレンガを壊さなければなりません。一部のレンガは、ボールとの複数回の接触で壊れる場合があります。このために、整数配列を使用して、特定のレンガを壊すのに必要なヒット数を表しています。たとえば、(2,0,1,2) は、2 回のヒットで壊れる必要があるレンガ、その後に壊れたレンガ、1 回のヒットで壊れる必要があるレンガなどを表します。

また、コーディングはすべて VHDL で行いましたが、結果を VGA 画面に出力するために Verilog を使用しています。

VHDL では、パッケージ内の整数配列の型を次のように宣言しました。

package mytypes_pkg is
    type int_array is array (0 to 39) of integer;
end mytypes_pkg;

次に、ボール モーション制御ファイルに work.mytypes_pkg.all をインポートし、次のようにします。

brickout:out int_array;

ゲーム内のすべてのレンガの現在の状態が含まれています。この配列は、すべての VGA ディスプレイの生成が行われる Verilog ファイルに渡される必要があります。そこで、やってみました

input [39:0]    bricki;

しかし、それは私にエラーを与えます

「エンティティのポート「brickout」と「mainc」のコンポーネントの異なるタイプ」

このエラーを修正し、やりたいことを実行するにはどうすればよいですか? bricki も int_array 型であることを Verilog に伝える方法はありますか? また、Verilog にも work.mytypes_pkg.all をインポートする必要がありますか?

4

1 に答える 1