2024.11.21 수업날
< 4BIT_ADDER >
4BIT_ADDER schematic
ONE_CHIP에 핀 배선하기 편하라고 입력값을 아래와 같이 해줬는데
A값: VING, VINE, VINC, VINA(최하위 비트)
B 값: VINH, VINF, VIND, VINB(최하위 비트)
이렇게 봐야한다.
4BIT_ADDER symbol
4BIT_ADDER simulation
예를 들어 아래의 표시된 부분에서 결과가 잘 나타나는지 확인해본다.
1 0 0 1(H F D B)
0 0 0 1(G E C A)
둘을 더하면 1 0 1 0(S3 S2 S1 S0)의 결과값이 나오며, Carry는 0이다.
시뮬레이션 회로를 보면 이해하기 쉽다.
VING, VINE, VINC, VINA(최하위 비트)는 펄스값으로 80n, 40n, 20n, 10n으로 값을 주었고
VINH, VINF, VIND, VINB(최하위 비트)는 1,0,0,1 값으로 고정하였다.
4BIT_ADDER layout
가로: 37.54u, 세로: 8.86u
< 4BIT_ADDER_SUBTRACTOR >
S가 0일때 --> 덧셈
2XOR에 하나의 입력값이 0이면, 다른 입력값의 값을 그대로 출력한다.
S가 1일때 --> 뺄셈
2XOR에 하나의 입력값이 1이면, 다른 입력값의 값을 반대로 출력한다.
4BIT_ADDER_SUBTRACTOR schematic
4BIT_ADDER_SUBTRACTOR symbol
4BIT_ADDER_SUBTRACTOR simulation
SIGN = 0일 때: 덧셈
예를 들어 아래의 표시된 부분에서 결과가 잘 나타나는지 확인해본다.
1 0 0 1(H F D B)
0 0 0 1(G E C A)
둘을 더하면 1 0 1 0(S3 S2 S1 S0)의 결과값이 나오며, Carry는 0이다.
SIGN = 1일 때: 뺄셈
VINH, VINF, VIND, VINB(최하위 비트) 에서
VING, VINE, VINC, VINA(최하위 비트)에서 빼는 결과값이다.
즉, VING, VINE, VINC, VINA(최하위 비트) <-- 이 부분을 2의 보수 취하는 것이다.
예를 들어 아래의 표시된 부분에서 결과가 잘 나타나는지 확인해본다.
1 0 0 1(H F D B)
0 0 0 1(G E C A)
0 0 0 1(G E C A)를 2의 보수로 하면 1111이 되므로 1001과 더하면 1 0 0 0(S3 S2 S1 S0) 의 결과값이 나오며, Carry는 1이다.
4BIT_ADDER_SUBTRACTOR layout
가로: 53.77u, 세로: 9.11u
4BIT_ADDER, 4BIT_ADDER_SUBTRACTOR 끝!