VHDL

VHDL 의 표현방법

전자자연인 2021. 6. 8. 21:26
반응형

●자료흐름적 모델링 (Dataflow Modeling)

1. 일반적으로 프로세스문(process statement)을 사용하지 않으며

   boolen 식이나 논리식(AND,OR)으로 하드웨어 동작 표현

   -> 논리식이 복잡해지는 경우 정확한 표현을 찾기 어려움

 

2. 간단한 로직의 표현에 많이 사용

  -> ex) when~else 구문, with ~select ~when 구문

 

3. 데이터흐름을 나타내듯이 시스템의 기능을 나타냄

4. VHDL구문 중에서 주로 동시 신호 할당 문으로 기술

 

●동작적 모델링(Behavioral Modeling) 

 1. Functional or Algorithm Descriptopn

 2. 입력상태에 대한 출력 결과만을 고려한 기술 방법

 3. 시스템이 내부적으로 어떠한 하드웨어적인 구조를 가지는 지에 상관없고,

    오로지 진리표 등으로 표현된 것을 기능적 또한 수학적인 알고리즘을 사용하여 시스템의 동작을 기술

 4. 입력변수가 많아지면 진리표의 경우의 수 증가 -> 코드 길이 증가

   -> ex) process - if ~ then ~else(elsif) 구문, case ~ when 구문

 5. process 나 subprogram 내에서 사용됨

 6. 정의된 순서 및 절차에 따라 하드웨어의 동작 표현

 7. 차례대로 수행되는 문장

 8 . process문(병렬문) 내에서, wait , signal 할당문 , assert문, exit문, if문, loop문, next문 등 사용

 

●구조적 모델링(Structural Modeling)

1. 하드웨어의 동작을 상호 연결된 컴퍼넌트(component)로 표현하는 방법

2. 가장 하드웨어적인 표현에 가까움

3. 주로 계층적 설계에 사용 - 하위에서 설계한 설계 entity가 상위단계 에서 하나의 component로 사용,

 하위 단게에서 검증된 설계 entity를 상위 단계에서 이용함으로써 대형 설계를 쉽게 할 수 있는 방법을 제공

4. 컴포넌트의 연결관계는 port map이라는 예약어를 이용하여 이루어짐

 -> component, port map

 

 

 

■ process문

1. 기본적으로 동시처리인 VHDL에서 순차적 처리 가능하게 해주는 문법

2. 감지리스트에 들어가는 신호는 process 내에서 선언불가

3. 서로간에 병행적으로 수행되는 하드웨어 시스템 모듈을 구분

4. 모듈의 내부는 순차적이로 이루어지므로 sequential문을 사용

5. process문 자체는 병렬문으로 여러 개의 process문이 있으면 이들은 서로 병행적으로 수행

6. 하나의 process문 내부는 하나씩 수행되는 순차(sequential)문으로 표현

▲ process문의 sensitivity list

1. 보통 모든 input signal 들을 senstivity list에 포함

2. senstivity list내의 signal 중에서 적어도 하나의 값이 변화해야 process문이 시작

3. D-FF 형태의 process인 경우 reset과 clock만 input signal에 포함

4. Output sinal이 senstivity list에 포함되는 경우에는 무한루프 발생 가능있음.

반응형