ブレイクアウト ゲームの 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 をインポートする必要がありますか?