2016-12-06 20 views
0

시스템 Verilog에서 FPGA로 약간의 게임을 작성 중이며 VGA 디스플레이를 통해 작은 그림을 보여주고 싶습니다. 내 사진 크기는 35px x 20px입니다. Matlab을 사용하여 그림을 3 개의 개별 배열 (R, G 및 B 값)로 변환했습니다. System Verilog에서 유사한 배열을 만든 다음 나중에 요소를 호출 할 수있는 방법을 모르겠습니다. 아래는 현재 흰 점과 빨간 점을 작성한 코드입니다. 나는이 점들을 위에서 언급 한 그림으로 대체하고 싶다. 감사!systemverilog에서 2 차원 배열을 만들고이 배열의 요소를 나중에 호출하는 방법은 무엇입니까?

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'hRRGGBB, 24 비트 레지스터에서 색상 정보를 저장할 수 있습니다 (RR - 빨강, GG - 녹색, BB - 블루) - 하나 개의 픽셀

35px X 20 픽셀 = 700 픽셀 , 700 * 3 바이트 = 2100 바이트

처음 35 * 3 = 메모리의 105 바이트는 이미지의 첫 번째 행입니다.

두 번째 35 * 3 = 105 바이트의 메모리는 이미지의 두 번째 행입니다.

....

FPGA 블록 RAM을 사용할 수 있습니다.