我正在为 Breakout Game 的 FPGA 实现项目工作。在这个游戏中,我们必须使用球和桨来打破砖块。一些砖块可能会在与球多次接触时破裂。为此,我使用一个整数数组来表示打破特定砖块所需的命中数。例如 (2,0,1,2) 表示一个砖块需要 2 次击打才能被破坏,然后是一个破碎的砖块,然后是一个需要单次击打才能被破坏的砖块等。
此外,我已经用 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;
其中包含游戏中所有砖块的当前状态。这个数组必须传递给我的 Verilog 文件,所有的 VGA 显示生成都必须在该文件中进行。在那里,我试过了
input [39:0] bricki;
但它给了我错误
“'mainc' 的实体和组件上的端口 'brickout' 的不同类型”
我该如何纠正这个错误并做我想做的事?有没有办法告诉 Verilog 砖也是 int_array 类型的?我还需要在 Verilog 中导入 work.mytypes_pkg.all 吗?