Home > Final > 2025-09-08

2025-09-08
Study System Verilog

VGA(Video Graphics Array)


Cathode Ray Tube

alt text

화면이 나오는 기본적인 원리(브라운관, Cathode Ray Tube) : 편향판(+)에 전압을 인가하여 통과하는 전자를 특정 방향(상/하/좌/우)으로 끌어당겨서 형광물질이 발려진 화면의 원하는 위치에 전자가 도착함

  • Heater : 열을 발생시킴 (전자의 이동도 증가), electronic gun 역할을 함
  • Cathode : 전자가 모임
  • accelerating anode / focusing anode : 전자의 이동을 가속시킴, 전자의 이동 속도에 따른 명암 조절이 가능(밝기)
  • plates for horizontal deflection / plates for vertical deflection : +전압을 인가하여 전자의 이동 경로를 조절
  • 1 픽셀 당 8bit 짜리 R, G, B 묶음

VGA (640x480 size)

alt text

편향판의 오른쪽으로 갈수록 강도가 세짐 = 전류가 세짐
Display Surface 에 왼쪽에서 오른쪽으로 전자가 도착함. 오른쪽에 다다르면 다시 왼쪽으로 돌아가야함. 이때 전류의 세기를 낮춰서 돌아감. 전류의 세기가 스무스하게 떨어지는 구간에는 마진이 필요하게 됨 -> porch

  • porch : 옛날 Tv의 가장자리 부분(가려놓음), 돌아오는 구간(Retrace), 편향판 방전
  • front porch : sync 신호 앞에 있음
  • back porch : sync 신호 뒤에 있음

alt text

Display -> Front Portch -> Sync Pulse -> Back Porch 전원을 주면 신호 무한 반복

alt text
alt text

  • VGA Signal 640x480 들어가면 사이즈 나옴
  • 한 프레임을 찍기 위해800, 525 만큼의 점/시간이 필요함
  • 1초 : 800Pix * 525Line * 60Frame = 25.2MHz =~ 25MHz
Scanline part Pixels Frame part Lines
Visible area 640 Visible area 480
Front porch 16 Front porch 10
Sync pulse 96 Sync pulse 2
Back porch 48 Back porch 33

alt text

포트와 구조는 이런 식으로 display 설계 가능

< Block Diagram >

alt text

  • VGA 에서 sync를 맞추는 신호가 필요함. pixels 같은 경우 640+16 까지 High, 96 까지 Low, 48 까지 High
  • x, y 좌표에 맞는 display를 할 수 있게 해야함 (640 x 840 영역에서만!)
  • pixel clock 을 받아서 영상처리에 대한 모듈을 동작시키는 경우가 많음
  • pixel_counter에서 pclk 에 대해 negedge 일때 처리하는 이유는? 안정적으로 RGB Data를 읽기 위함
  • 추후 ISP 설계시 posedge, regedge를 적절히 분배할 필요가 있음 (Timing 고려)

< Simulation >

alt text

< 파일 >

sources (Class)

sim (Class)

constrs (Class)

HW


< Design Specification >

alt text

< Result >

alt text

< 파일 >

sources (HW)

constrs (HW)