verilog-계산기(calculator)A+자료 코드및 레포트
- 최초 등록일
- 2019.08.24
- 최종 저작일
- 2019.05
압축파일
- 가격 9,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
modelsim 을 이용한 계산기만들기 프로젝트입니다.
자세히 결과가 설명되어있고 코드설명 또한 되어있습니다.
계산기에 필요한 덧셈기, 뺄셈기, 곱셈기,나누기, 셀렉션, 인에이블 코드까지 포함하였습니다.
Spec : Adder, Subtractor, Multiplier, Divider 기능
Simulation 결과는 1,0 또는 7-Segment 출력
Timescale 은 1ns/10ps 통일
Verilog Tool 은 Model Sim 사용
Selection Signal 2개를 추가하여 ‘11’ 일 경우 adder 동작, ‘10’일 경우 subtractor
‘01’ 일 경우 Multiplier 동작, ‘00’ 일 경우 Divider 기능 구현
Enable Signal 하나를 추가하여 ‘1’ 일 경우 Normal Operation , ‘0’ 일 경우 Power Down mode 구현
확인사항 : 1. Time scale
2. adder, subtractor, Multiplier, Divider 동작
3. Selection 동작
4. Enable 동작
5. 7-Segment 출력
목차
1. 시뮬레이션 결과
2. Subtractor 동작 Simulation확인 (98-74)
3. Multiplier 동작 Simulation확인 및 설명 (입력은 십진수 98 x 74) Verilog 코드
4. Divider 동작 (96/4) 시뮬레이션 결과
5. Selection 동작 Simulation확인 및 설명
6. Enable 동작 Simulation확인 및 설명
7.1 2진수 출력을 7-Segment 로 변환하여 10진수 숫자로 표시 되도록 Simulation
7.2 뺄셈기 7segment 시뮬레이션 결과
본문내용
1.시뮬레이션 분석 및 설명
(출력을 16bit로 사용하여 스크린샷을 했을 시 일반 화면 크기를 넘어가는 점이 생겼으며, 10진수의 계산 값이 정확한지 보여드리고자 10진수 시뮬레이션결과도 첨부하였습니다.)
이번 시뮬레이션 목표는 adder로 74+98을 계산하는 것이 목표입니다.
8bit의 입력 yun, jae를 쉽게 확인하기 위해 output을 16bit 으로 사용하였습니다.
우선 시뮬레이션 결과처럼 입력yun에 74를 입력하였습니다.
74를 bit의 2진수로 표현하면 01001010 이 되고 jae의 98을8bit의 2진수로 표현하면 01100010이됩니다. (시뮬레이션 값과 동일)
코드입력에 첫번쨰로 `timescale 1ns/10ps으로 원하고 자하는 spec의 타임스케일값을 입력하였으며 그 결과 시뮬레이션과 같이 100000ps까지 동작하였습니다. (그 이후의 시간에서도 run을 하시 동작 가능)
게다가 8bit의 두 입력 값이 들어갔을 시 더하기로 작동하기 위해 Regs3 = Regs1 + Regs2 이라는 논리게이트 케이스 구문을 사용하였습니다.
참고 자료
없음