2016-12-06 20 views
0

我在System Verilog的FPGA上寫了一個小遊戲,我想通過VGA顯示器顯示一些小圖片。我的圖片尺寸是35px X 20px。我通過使用Matlab將圖片轉換成三個單獨的數組(R,G和B值)。我不知道如何在System Verilog中創建類似的數組,然後再調用它們中的元素。下面是我現在的代碼,我已經做了白點和紅點。我想用上面提到的圖片替換這些點。謝謝!如何在systemverilog中創建2-D數組並稍後調用此數組中的元素?

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 

回答

0

可以在24位寄存器的顏色信息存儲爲

24'hRRGGBB,(RR - 紅,GG - 綠色,BB - 藍) - 一個像素

35px X 20像素= 700像素,700 * 3字節= 2100字節

首先35 * 3 = 105字節的內存是第一行圖像。

第二個35 * 3 = 105字節的內存是第二行圖像。

....

您可以使用FPGA Block RAM。

相關問題