이번에는 전가산기를 설계 해보겠다.
전가산기는 반가산기 두개가 합쳐진 형태로 반가산기와의 차이점은 두 비트와 carry비트까지 더해 진다는 것이다.
전가산기는 다음과 같은 형태로 그려지며
두개의 반가산기와 or게이트로 이루어져 있다.
진리표는 다음과 같이 그려지며 verilog로 구현할 때 반가산기 두개 module과 or게이트를 이용해서 구현할 수 있다.
전가산기를 설계 하기 앞서 반가산기를 게이트 레벨로 설계 하였다. 이 반가산기 모듈을 만들어 전가산기에서 모듈을 연결 시키도록 한다.
전가산기를 설계한 모습이다.
verilog로 디지털 회로를 설계 하면 컴퓨터는 소스코드로 synthesis 과정을 거쳐 gate-level-netlist를 만든다. 이 gate-level-netlists는 디지털 회로를 게이트 단위로 이루어진 것을 말한다. synthesis 과정은 우리가 설계한 verilog 코드로 게이트 단위로 만드는데 이때 설계자가 verilog 코드를 최대한 gate 레벨로 설계를 한다면 synthesis의 정밀성이 높아질 것이다.
중요한 testbench 모듈
시뮬레이션 결과이다. 시뮬레이션과 진리표를 비교해보면 원하는 값이 나오는 것을 알 수 있다.
'디지털논리회로' 카테고리의 다른 글
[Verilog] JK flipflop (0) | 2020.03.27 |
---|---|
[Verilog] 8bit 가산기 (0) | 2020.03.27 |
[Verilog] 멀티플렉서 (0) | 2020.03.26 |
[Verilog] 반가산기 (0) | 2020.01.08 |
순차논리회로 (0) | 2020.01.08 |