Fpga 如何在systemverilog中创建二维数组并稍后调用此数组中的元素?

Fpga 如何在systemverilog中创建二维数组并稍后调用此数组中的元素?,fpga,vga,Fpga,Vga,我正在写一个在FPGA上的Verilog系统的小游戏,我想通过VGA显示一些小图片。我的图片大小是35px 20px。我使用Matlab将图片转换为三个单独的数组(R、G和B值)。我不知道如何在System Verilog中创建类似的数组,然后在以后调用其中的元素。下面是我当前的代码,我在其中制作了白点和红点。我想用上面提到的图片替换这些点。谢谢 begin:RGB_Display if (missile_On == 1'b1)

我正在写一个在FPGA上的Verilog系统的小游戏,我想通过VGA显示一些小图片。我的图片大小是35px 20px。我使用Matlab将图片转换为三个单独的数组(R、G和B值)。我不知道如何在System Verilog中创建类似的数组,然后在以后调用其中的元素。下面是我当前的代码,我在其中制作了白点和红点。我想用上面提到的图片替换这些点。谢谢

begin:RGB_Display                   
      if (missile_On == 1'b1)         
      begin 
            Red = 8'h00;
        Green = 8'hff;
        Blue = 8'h3f;
    end  
      else if (ourMissileOn == 1'b1)
      begin
            Red = 8'hff;
        Green = 8'hff;
        Blue = 8'h00;
    end 
    else if ((ball_on == 1'b1)) 
    begin 
        Red = 8'hff;
        Green = 8'hff;
        Blue = 8'hff;
    end  
        else if ((enemyAppear == 1'b1)) 
    begin 
        Red = 8'hff;
        Green = 8'h00;
        Blue = 8'h2f;
    end  
    else 
    begin 
        Red = 8'h3f; 
        Green = 8'h00;
        Blue = 8'h3f; //- DrawX[9:3];
    end      
end 

您可以将颜色信息存储在24位寄存器中

24'hRRGGBB,(RR-红色,GG-绿色,BB-蓝色)-一个像素

35px 20px=700px,700*3字节=2100字节

前35*3=105字节的内存是图像的第一行

第二个35*3=105字节的内存是第二行图像


您可以使用FPGA块RAM。

您可以将颜色信息存储在24位寄存器中

24'hRRGGBB,(RR-红色,GG-绿色,BB-蓝色)-一个像素

35px 20px=700px,700*3字节=2100字节

前35*3=105字节的内存是图像的第一行

第二个35*3=105字节的内存是第二行图像

您可以使用FPGA块RAM