full adder 3

Verilog - 4bit full adder testbench

지난번에 마든 4bit_full_adder를 testbench를 돌려서 제대로 돌아가는지 확인하겠습니다.  tb 모듈(tb_4bit_full_adder)을 만들어줍니다.tb 모듈에는 input, output port가 존재하지 않습니다. tb모듈 밖에서 값이 들어오는 것이아니라tb 모듈 내부에서 값을 생성할 것이기 때문입니다.테스트를 위해 지난번 만든 fourbit_full_adder를 인스턴스화해줍니다.인스턴스화한 모듈의 input 부분은 reg를, output 부분은 wire를 선언해서 연결해줍니다.  ※input을 reg로, output을 wire로 선언하는 이유 : 테스트벤치를 작성할 때 저희는 input에 직접 여러 값을 넣어서 바꿔줘야하고 그로 나온 output을 확인할 겁니다.reg는 값을 ..

Verilog 2025.03.16

Verilog - 4bit full adder

지난번에 만든 1bit full adder를 이용해 4bit full adder를 만들어보겠습니다. 구조는 아래와 같습니다.지난번에 만든 1bit full adder와 비교하면x,y 는 An,BnAn,Bn에 대응되고 sum은 SnSn, carry는 CoutCout, cin은 CinCin에 대응 됩니다. 이 full_adder를 인스턴스화 하여 4개를 가져오면 됩니다.지난번 코드에  input, output을 작성해서 코드를 추가했습니다. (노란색 부분) 아래와 같은 모듈을 만든 겁니다full adder를 인스턴스화 해서 4개를 만들어줍니다.위 그림은 인스턴스화 했을때 모듈의 모습입니다.인제 wire를 선언해서 인스턴스화 한 모듈들을 연결해줍니다.(탑모듈 내부안의 '인스턴스화된 모듈'끼리..

Verilog 2025.03.16

Verilog - 1bit Half Adder, Full Adder (인스턴스화)

Half Adder1bit a와 b를 받아서 addsum과 carry 발생 진리표 a     b     |    s      c_______|________0     0     |    0      00     1     |    1      01     0     |    1      01     1     |    0      1 s = a^b  (a xor b)c = a&b (a and b)  코드Full Adder1bit a와 b그리고 cin(carry)를 받아서 addsum과 carry 발생 진리표cin    a     b     |    s      c___________|________0      0     0     |    0      00      0     1     |    1   ..

Verilog 2025.03.09