2026년 3월 2일 월요일

[베릴로그 RTL 예제] 탁구 게임기 -3편: 탁구대의 그래픽 테스트 벤치-

[베릴로그 RTL 예제] 탁구 게임기 -3편: 탁구대의 그래픽 테스트 벤치-

목차:

1. RTL 베릴로그로 "탁구대" 그리기

2. 그래픽 LCD 구동 칩의 시뮬레이션 모델

3. "탁구대"의 그래픽 테스트 벤치

-------------------------------------------------------

3. "탁구대"의 그래픽 테스트 벤치

베릴로그로 기술한 설계의 시뮬레이션의 출력은 디지털 파형으로 기록되곤 한다. 멀티 미디어, 디지털 신호처리 같은 대량의 입출력을 취급하는 설계에서 클럭마다 일일이 확인하여 그 결과를 판단하기는 어렵다. "탁구 게임기"는 작은 규모지만 비디오 신호를 다룬다. 클럭 마다 생성되는 RTL 설계의 화소를 2차원 그래픽 화면에 시현하므로써 효과적으로 비디오 게임기의 동작을 검증 할 수 있다. RTL 베릴로그로 기술한 "탁구대"를 그래픽 LCD를 갖춘 테스트벤치로 시뮬레이션 해보자.

3-1. 핸드 쉐이크

앞서 기술한 RTL "탁구 게임기"는 매 클럭 마다 그래픽 신호(좌표 및 화소값)를 출력한다. 이와는 달리 그래픽 LCD는 좌표를 받아 한 화소를 표시하기 위해 여러 클럭에 걸쳐 순차적으로 동작한다. 핸드쉐이크(hand-shake)는 서로다른 입출력 처리율(throughput)을 가진 두 장치 사이의 정보 전달을 위한 규약이다. 처리율이 낮은 외부 장치가 준비되었을 때 비로서 출력을 낼 수 있는 핸드쉐이크 동작을 디지털 회로로 구현하는 유용한 기법은 유한상태 머신(FSM, Finite State Machine)이다.

그래픽 신호를 출력하는 "탁구 게임기"에 그래픽 LCD의 낮은 처리율을 맞추기 위한 인터페이스 기구를 추가해 주어야 한다. 

RTL 베릴로그은 다음과 같다. 

는 

댓글 없음:

댓글 쓰기