[VerilogHDL] CLA를 이용한 16bit 산술논리장치(ALU) 설계
- 최초 등록일
- 2015.08.02
- 최종 저작일
- 2013.05
- 6페이지/
한컴오피스
- 가격 3,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
Verilog 를 이용하여 4bit CAL를 4개 연결하여 만든 16bit 고속가산기(ALU) 리포트입니다.
개념설계 및 구현과정 전체 코드가 포함되어 있으며.
설계 레벨에 따른 시뮬레이션 속도도 간략히 비교해놨습니다.
곱셈, 덧셈, 뺄셈, 나눗셈까지 모두 구현해놨기 때문에 비교적 고가에 올려놨습니다.
그만한 가치가 있는 리포트라고 자부할수 있습니다.
미리보기로 확인 가능하시겠지만 절대 대충 작성한 리포트가 아닙니다.
최대한 깔끔하게 만드려 노력했고 모든 이미지는 자체 제작하여 사용하였습니다.
목차
1. 설계개요
2. 개념설계
3. 회로구현
4. CLA를 이용한 16bit ALU 코드Test bench 코드 및 Timing Simulation 결과
5. 상위레벨과 하위레벨의 16bit Carry Look ahead Adder간의 지연시간 비교
6. 지연시간 비교
본문내용
■ 설계개요
▪ 고속가산기를 활용하여 8가지 연산(덧셈, 뺄셈, +1증가, -1감소, 보수, 논리곱, 논리합, 전달)을 수행하는 산술논리장치;ALU(Arithmetic Logic Unit)를 제작한다.
▪ 모든 모듈은 Quartus II를 이용 게이트 레벨로 설계한다.
▪ RTA Simulation을 통해 연산의 지연 시간을 측정한다.
■ 개념설계
▪ 산술논리장치(ALU)는 입력신호 A, B는 다수의 논리회로와 멀티플렉서(Multiplexer, MUX)를 결합한 회로로 멀티플렉서의 Control Signal인 S0, S1, M의 값에 따라 다음 표와 같은 연산을 수행, 출력한다.
▪ 고속가산기(Carry Lookahead Adder, CLA)는 가수와 피가수의 덧셈에 의해 부분합(sum)을 구하는 동신에 전 자리의 올림수(carry)계산을 독립으로 하고, 부분합과 올림수를 더해서 가산속도를 향상시키는 방식으로 예견을 하는 자리수가 클수록 실행 속도가 빨라지지만 회로의 구조가 커지는 단점이 있다.
- 올림수(carry)의 값을 미리 계산하기 위해 Generate Signal과 Propagation Signal을 정의해야한다.
․ Carry Generate : Ai와 Bi가 모두 1인 경우 → Gi = Ai · Bi
․ Carry Propagate : 이전 단계의 carry 와 Ai 혹은 Bi 중의 하나가 1인 경우 → Pi = Ai ⊕ Bi
Ci+1 = Ai · Bi + (A ⊕ Bi) · Ci = Gi + Pi · Ci
․ 각 비트의 Carry out
C1 = G0 +P0 · C0
C2 = G1 +GO · P1+P0 · P1 · C0
C3 = G2 +G1 · P2+G0 · P1 · P2 +P0 · P1 · P2 · C0
C4 = G3 +G2 · P3+G1 · P2 · P3 +G0 · P1 · P2 · P3 + P0 · P1 · P2 · P3 · C0 ....
참고 자료
없음