ALU 8bit 설계 베릴로그
- 최초 등록일
- 2021.04.09
- 최종 저작일
- 2018.04
- 36페이지/ MS 워드
- 가격 2,500원
목차
1. 소스코드
2. 소스코드설명
본문내용
mode값에 따라서 다양한 행위를 함. 덧셈, 뺄셈, INC연산을 할 땐 오버플로우를 검출 해야하므로 저번 실험에 사용했던 8bit adder/subtractor 실험에 사용했던 코드를 다시 사용하도록함.(그림 ㄱ,ㄴ참고) mode값에 상관없이 일단 모든 연산을 모두 수행하고 mode값에 따라 알맞은 값만 result값에 대입하는 기법으로 설계.
테스트밴치 소스코드 설명
mode == 0 일 때 오버플로우가 일어난 경우와 일어나지 않는 경우를 분리해서 검증. 양수는 sign bit을 0으로 두고 평범한 이진수를 사용했으며 음수는 sign bit을 1로 두고 2의보수 형식으로 취함.
mode == 1 일 때 오버플로우가 일어난 경우와 일어나지 않는 경우를 분리해서 검증. 양수는 sign bit을 0으로 두고 평범한 이진수를 사용했으며 음수는 sign bit을 1로 두고 2의보수 형식으로 취함.
mode == 2 일 때 signed 8비트로 표현할 수 있는 범위는 -128~+127까지임. INC연산은 127 + 1 을 제외하고 나머지 경우는 오버플로우가 안되어야 올바름. 따라서 오버플로우가 난 경우와 나지 않는 경우 그리고 결과값이 0이 되는 경우도 따져봐서 zero값이 1로 나오는지 확인.
mode == 3 일 때 A & B 연산은 2의보수를 사용하지 않으며 오버플로우와 관련 없으며 and연산이 올바르게 수행되는지와 결과값이 0나오고 zero 값이 1로 나오는 것 까지 확인.
mode == 4 일 때 barrel shift 연산이며 2의보수를 사용하지 않으며오버플로우와 관련없음. 입력값 shift 값에 따라 몇 번 shift 할 건지 결정됨. shift연산 되면서 빈자리는 0으로 채워짐. 결과값을 0나오고 zero가 1 나오는지까지 확인.
참고 자료
없음