본문 바로가기

디지털논리회로

(13)
[Verilog] 전가산기 이번에는 전가산기를 설계 해보겠다. 전가산기는 반가산기 두개가 합쳐진 형태로 반가산기와의 차이점은 두 비트와 carry비트까지 더해 진다는 것이다. 전가산기는 다음과 같은 형태로 그려지며 두개의 반가산기와 or게이트로 이루어져 있다. 진리표는 다음과 같이 그려지며 verilog로 구현할 때 반가산기 두개 module과 or게이트를 이용해서 구현할 수 있다. 전가산기를 설계 하기 앞서 반가산기를 게이트 레벨로 설계 하였다. 이 반가산기 모듈을 만들어 전가산기에서 모듈을 연결 시키도록 한다. 전가산기를 설계한 모습이다. verilog로 디지털 회로를 설계 하면 컴퓨터는 소스코드로 synthesis 과정을 거쳐 gate-level-netlist를 만든다. 이 gate-level-netlists는 디지털 회로를..
[Verilog] 멀티플렉서 디지털 논리회로를 verilog로 설계를 할 때 처음으로 생각해야 할 부분은 바로 이 회로가 순차회로인지 조합회로인지 구별해야 한다. 어떤 회로인지 결정이 되면 어떤 종류의 테이블이 만들어질지 결정 되기 때문이다. 만약 순차회로면 여기표를 만들어야 하고 조합회로면 진리표를 만들어야 한다. 둘 테이블이 동일하게 input값 output값들을 쓰고 하지만 여기표는 현재 상태와 다음상태를 써야 한다는 차이가 있다. 다음에 플립플롭을 설계 할때 확인해 보도록 하겠다. 오늘 설계할 회로는 디지털 논리회로를 초반에 배우면 나오는 멀티플렉서다. 이름은 되게 거창하지만 하는 역할은 input이 들어오면 select 신호에 의해 어떤 input값을 output값으로 내보내야 될지 결정하는 쉽게 생각해서 교차레일 같은 역..
[Verilog] 반가산기 반가산기 논리회로는 두개의 입력을 받아 합(sum)과 올림(carry)를 구하는 조합회로이다. 반가산기의 회로도는 다음과 같이 구성되어 있으며 진리표는 아래와 같다. 반가산기를 Verilog로 설계할 수 있는 툴인 Vivado로 3가지의 HDL 방식을 이용하여 설계 해보았다. 1. 논리 게이트 프리미티브(primitive gate)를 이용한 모델링 2. 연속 할당문을 이용한 모델링 3. 행위수준 모델링 1. 게이트 수준 모델링 Verilog 파일을 half-adder.v 파일과 half-adder-testbench.v를 만든다. 게이트 수준 모델링은 xor와 nand, not게이트로 설계를 하였다. wire c_out_bar는 nand의 출력부분에서 나오는 값으로 not 게이트의 입력값으로 들어간다. t..
순차논리회로 순차논리회로는 현재의 입력값뿐만 아니라 기억소자인 플립플롭에 저장되어 있는 정보에 의해 결정되는 논리회로이다.
조합논리회로 조합 논리회로는 일정시점의 출력값이 일정 시점의 입력값에 의해서만 결정되는 논리회로이다. 조합 논리회로에는 반가산기, 전가산기, 병렬가산기, 반감산기, 전감산기, 디코더, 인코더, 멑리플랙서, 다수결회로, 비교기등이 있다.