fpga bcdconverter
- 최초 등록일
- 2021.05.05
- 최종 저작일
- 2020.09
- 20페이지/ MS 워드
- 가격 2,000원
소개글
"fpga bcdconverter"에 대한 내용입니다.
목차
1. HOMEWORK1. ENCODER
1) Verilog Code / 주석
2) RTL Map
3) Synthesis Report
4) Test Bench Code
5) Simulation Result
6) DISCUSSION
2. HOMEWORK2. BINARY TO BCD CONVERTER
1) Verilog Code / 주석
2) RTL Map
3) Synthesis Report
4) Test Bench Code
5) Simulation Result
6) DISCUSSION
3. HOMEWORK3. BINARY TO 7SEGMENT DECODER
1) Verilog Code / 주석
2) RTL Map
3) Synthesis Report
4) Test Bench Code
5) Simulation Result
6) DISCUSSION
본문내용
DISCUSSION
. - Verilog Coding을 시작하기 전 작성한 Block Diagram
- 작성한 Verilog Module에 대한 설명
이 모듈은 8to3인코더로 8bit입력을 하면 3비트의 출력이 나오게 된다. 진리표에 있는 8 가지의 각각다른 입력에 의해서 8개의 각각 다른 출력이 나오게 되고 입력의 최상위 비트는 enable bit로 이 bit가 1일때만 인코더가 동작하게 하고 enable bit 가 0일때는 unknown 신호가 출력되게 한다. 진리표에 없는 입력에 대해서도 마찬가지로 unknown신호가 출력되게 한다.
- 작성한 Code가 어떤 동작을 하는지? 왜 그런 동작을 하는지?
우선 입력이 8bit이므로 8bit로 선언해주고 출력은 3비트 이므로 3비트로 선언해준다. 여기서 always구문을 사용하기 위해서 data를 reg타입으로 설정해준다.
If(!a[7])을 통해 최상위 비트(enable bit)가 0이다면 unknown신호가 출력되게 하였고 최상위 비트가 1이면 case문으로 들어가 입력에 대한 출력값이 나오게 된다. Default : 를 통해 진리표에 없는 입력값이 a에 입력 되었을때 출력에unknown 신호가 들어가게 설정하였다.
- 작성한 Test Bench Code가 어떤 동작을 하는지?
입력을 8bit크기의 a, 출력을 3bit 크기의 data로 설정하였고
우선 초기상태부터 30ns까지 a의 최상위비트(enable bit)를 0으로 설정하였고
40ns부터 110ns까지는 진리표의 모든 경우의 수를 simulate하기 위해서 값을 바꿔가며 설정하였고
120ns에는 진리표에 없는 입력값을 입력하여 unknown신호가 나오는지 확인하기 위해 설정하였다.
- Simulation 파형이 왜 그렇게 나온것인지?
우선 0ns일 때 enable bit가 0이므로 unknown신호가 나오게되었고 10,20,30 ns도 마찬가지로 enable bit 가 0이므로 unknown신호가 나오게되었다.
참고 자료
없음