Dream/전공과목 (전전)

[디지털시스템] Function을 이용한 설계 - n-bit vector의 2의 보수 형태를 출력하는 코드

IOAH 2020. 9. 13. 02:36

1. Purpose

VHDL Coding에서의 function과 procedure의 정의와 기능 및 선언 방법을 익히고 이를 이용하여 다양한 설계를 해봄으로써 두 기능의 차이점을 파악하고 주어진 설계를 통해 VHDL 코딩에 대한 심도 있는 이해를 하도록 한다.

 

2. Source code

 

주어진 과제는 n-bit vector의 2의 보수를 출력하는 코드를 function을 이용하여 설계하는 과제였다. 여기서 Signal들은 unsigned type이 아니므로 + operator를 사용할 수 없다. 따라서 fulladder를 설계하여 위 2의 보수를 구하는 문제를 해결하였다.

 

3. Test Bench

 

 

Test bench에서 iee library와 std_logic_1164 및 numeric_std 패키지를 사용한다. 그 후 entity와 architecture을 먼저 선언한 후 component HW3_1을 통해 in_vector와 out_vector1,2,3을 각각 선언한다. 그 다음 시그널들의 초기값을 설정해준 다음 port map을 통해 coponent와 signal들을 연결하고 in_vector 값에 문제에서 주어진 대로 다양한 값을 대입해줌으로써 Test bench 설계를 완성한다.

 

4. Wave form