전공지식정리/디지털시스템설계 23

VHDL13. 영상회로

1. 영상회로 1.1 영상회로의 일반적 검증 1.1.1 카메라 - 카메라 동기 신호 생성부 - 파일 입력문으로 영상 파일 입력 1.1.2 디스플레이 - 디스플레이 장치 동기 신호 생성부 - 파일 출력문으로 영상 생성 - image viewer를 이용한 각 프레임별 검증 1.1.3 영상 처리부 - 일반적인 고급 디지털 회로 설계 기법 사용 - FIFO, RAM, ROM, SDRAM 등의 메모리 인터페이스 필요 영상 회로의 일반적인 검증 환경 1.2 Clock generator module(클럭 신호 생성부) VHDL 1.3 동기패턴 일반적인 동기 신호 패턴 동기 신호 패턴 정보의 VHDL 구현 1.3.1 수평 동기 신호 1.3.1.1 수평 카운터 신호 생성 수평 카운터 신호 생성 1.3.1.2 수평 동기 ..

VHDL12. 주파수 분주기, 시계용 카운터, 디지털 시계 회로,

1. frequency divider(=주파수 분주) ; 입력 클럭을 이용하여 이보다 낮은 클럭을 생성하는 것. - 디지털 로직으로 구현 가능 - 주파수 체배기(frequency multiplier)의 경우는 PLL과 같은 아날로그 방식을 이용해야 함 1.1 종류 2^N 분주기 ; 일반화된 형태로 설계 가능, 예) 2, 4, 8, 16, 32, 64 분주기 2N 분주기 ;각 분주비 별로 설계 가능, 예) 6, 10, 60, 100 분주기 N 분주기 ; N이 홀수일 경우에는 duty비 50%로는 디지털 방식으로 설계 불가능 1.2 VHDL 구현 (N만 바뀐 것을 유심히 보자) - 2분주 회로 2분주 회로 2분주 회로 - 3분주 회로 3분주 회로 3분주 회로 - 16 분주 회로 16분주 회로 - 2^N 분..

VHDL11. 메모리 인터페이스 회로 설계(ROM,RAM,SDRAM)

1. ROM(Read Only Memory) 1.1 기본 ROM - 내용이 변화되지 않는 규칙들을 저장해 놓고 읽어내는 용도로만 사용 - 입력 : 어드레스 - 출력 : 해당 어드레스에 저장되어 있는 데이터 1.1.1 VHDL 구현 1.1.2 testbench 1.1.3 simulation 2. Sine ROM sin ROM, cos ROM 2.1 Sine ROM의 설계 조건 - 0.2도 이상의 각도 분해능(degree 기준) - 0.002 이상의 사인 크기 분해능 2.2 어드레스, 데이터 버스의 크기 - 구현에 필요한 어드레스 크기 => 360/0.2 = 1800 => 주기 특성을 고려한 최적화 시, 90/0.2 = 450 - 구현에 필요한 데이터의 폭 => 2/0.002 = 1000 => 주기 특성을 ..

VHDL10. buffer, state machine, ALU

1. buffer 설계 (buffer, tri-state buffer) 1.1 buffer ; 출력 신호의 Fan out(팬아웃)을 증가시키는 용도. buffer 사용 예 1.2 tristate buffer ; 기본 buffer에 HIGH-Z 상태가 추가되었다. HIGH-Z : 임피던스가 엄청 높은 상태 ~ OPEN상태 1.2.1 VHDL 로직 구현 1.2.2 test bench of tri-state buffer 1.2.3 simulation 1.3 IO buffer(입출력 버퍼) 1.3.1 VHDL 로직 구현 1.3.2 test bench 위의 tb_tribuf에 component만 추가해주고 din => i로 매칭하면 된다. 1.3.3 simulation 1.4 bus(버스)의 공유 1.4.3 si..

VHDL9. 기법(논리합성, 설계)

1. VHDL을 이용한 시스템 구현과정 ; 디지털 회로 설계 프로세스라고 생각하면 된다. => 코딩 전 단계에서 여기표 -> 상태도 작성을 통해 로직을 짠다. => 이것을 VHDL로 옮기는 것이다. 시스템 구현 Process 2. 코딩기법 2.1 좋은 코딩 2.1.1. 코드 첫부분에 관련 정보를 담은 해더를 사용. 2.1.2. IEEE 등 개발 환경에서 제공하는 다양한 패키지 활용. 2.1.3. 모든 RTL 코드는 한파일에 하나의 entity 서술. -> 파일명과 entity명을 일치시킬것. -> entity명은 설계 구조가 파악 되도록 할 것. -> 테스트 벤치는 tb_entity_name으로 구분하게 할 것. 2.1.4. in,out port signal(입출력 포트 신호)의 명명 규칙 - >std_..

VHDL8. 순차회로

순차회로부터, clock signal에 synchronize 되야하는 특징이 있다. clock에 초점을 맞춰서 이번 포스트를 유심히 보자. 1.1 D F/F 설계 D F/F의 회로, 진리표 1.1.1 VHDL 로직 서술 D F/F의 VHDL로직, clk = '1'을 감지할 때만, process문이 제대로 돌아간다. 1.1.2 testbench testbench of D F/F testbench of D F/F, loop문을 이용해서, clk를 생성한다. 1.1.3 simulation 1.2. D F/F with reset ; D F/F에 reset을 달았다. 회로도, 진리표 of D F/F with reset 1.2.1 VHDL 로직 서술 1.2.2 testbench testbench of D F/F w..

VHDL7. 조합회로

1. test bench : VHDL로 서술한 하드웨어의 로직을 검증하기 위한 환경 - 패턴발생기,오실로스코프,멀티미터 -> 테스트벤치 - VHDL 환경안에서 검증할 수 있는 방법이다. - 로직은 하드웨어 구현을 염두해 둬야 하지만, 테스트 벤치는 자유롭다. - 단, 모든 경우의 수(예외 없는)를 포함해야 한다. -> 로직 설계 : 반드시 논리 합성이 가능한 코드로 설계 -> 테스트 벤치 구성 : 논리 합성 가능 여부와는 무관 => VHDL 문법에서는 테스트 벤치 구성을 목적으로 하는 다양한 문법 구조 제공 1.1 검증 프로세스 파형생성 -> 회로인가 -> 회로 출력값이 기대값과 일치하는 지 검증. 1.2 테스트벤치 이용 예제 프로세스 ; 로직설계 => 테스트벤치 작성 => 시뮬레이션 및 검증. ex) ..

VHDL6. 해석 및 정교화, 표현식

1. 설계부터 시뮬레이션까지의 진행 과정 .1. VHDL 설계 : 설계 파일(design file) 생성 .2. VHDL 해석(analysis) : 중간 양식 생성 - 소프트웨어 언어의 컴파일 과정 - 문법적인 오류 탐색 및 디버깅 정보 제공 .3. 정교화 단계(elaboration phase) - 계층별로 설계된 모든 엔티티와 아키텍처들의 연결 작업 수행 - 주요 객체들에 대한 저장 공간 할당, 상수와 변수에 대한 초기값 할당 - 제네릭 값, 생성문의 변수들이 모두 초기화 .4. 초기화 단계(initialization phase) - 신호들에 대한 초기값 할당 - 프로세스를 한 번 실행시킨 후 시뮬레이션 타임을 0으로 설정 .5. 시뮬레이션 단계(simulation phase) 설계부터 시뮬레이션 까지..

VHDL5. 고급문법(구조 내부의 detail)

1. declaration( = 선언) ; designator(지정어)를 named entity에 연결시키는 작업. 1.1 designator ; identifier(식별어) + operator symbol(연산자 기호) + character literal(문자 리터럴)를 총칭하는 말. 1.2 named entity(=네임드엔티티) ; declaration 정의하는 개별 entity ex) entity, architecture, 구성, procedure, function, package, 형, 특수형, 신호, 상수, 변수, 파일, component, literal, 그룹 등등.. 1.3 ex) 실제적인 선언 예 실제적인 선언의 예 1.4 type declaration(= 형 선언) bnf와 예 type ..

VHDL4.부프로그램(Sub program) ,패키지

1. Subprogram(= 부프로그램) ; function(함수) & procedure(프로시저)의 총칭 -> 별도의 모듈, 특정 값 계산. -> 반복 동작을 표현. 2. Subprogram 구조 2.1 Declaration(선언) ; 호출방법 정의 2.2 Body (본체) ; 동작내용 서술 3. 함수/프로시저 3.1 function -> 'in' mode(형식 매개변수) -> 리턴값 사용 -> 호출은 하나의 표현식(expression)을 구성. -> 특정 값을 계산/동작을 표현 3.2 Procedure -> in/ inout/ out mode(형식 매개변수) -> return값 X => 형식 매개변수의 out모드. -> 호출은 statement를 구성 -> 특정 값의 계산이나 동작을 표현. 4. Su..