Verilog HDL ile Half Adder (Yarım Toplayıcı) Tasarımı
Yarım Toplayıcı (Half Adder) devresi, en basit toplama devresidir. Bu yazı içerisinde bu yapının tanımı, Logisim uygulamasında gösterimi ve Verilog HDL ile tasarımı gerçekleştirilmiştir.
İki adet bir bitlik sayının toplamını gerçekleştiren bu devre yapısının çıkışında birer tane "Sum (Toplam)" ve "Carry (Elde)" çıktıları alınmaktadır.
Yarım Toplayıcıda "Sum" ve "Carry" çıktılarının değerleri:Sum=~A B + A ~B
Carry=A B
şeklindedir. Dolayısıyla bu devre şeması daha da basitleştirerek Sum ifadesi bir "XOR" kapısı şeklinde de ifade edilebilir.
Verilog HDL ile gerçekleştireceğimiz tasarımda da yine bu yapı üzerinden ilerleyeceğiz. Burada iki dosya üzerinden gerçekleştireceğimiz projede birinci dosyamızda (Design Source) yukarıdaki yapının tasarımını gerçekleştirirken ikinci dosyamız da (Simulation Source) "Test Bench" olacaktır.
Verilog HDL ortamında tasarım kodlarımız aşağıdaki gibidir:
`timescale 1ns / 1ps
module halfAdder(
input A, B,
output Sum, Carry
);
xor (Sum,A,B);
and (Carry, A,B);
endmodule
Simulation Source kısmında test için gerekli kodlarımız da aşağıdaki gibidir:
`timescale 1ns / 1ps
module halfAdder_tb(
);
reg Atb, Btb;
wire Sumtb, Carrytb;
halfAdder uut (
.A(Atb),
.B(Btb),
.Sum(Sumtb),
.Carry(Carrytb)
);
initial begin
Atb = 1'b0;
Btb = 1'b0;
#10
Atb = 1'b0;
Btb = 1'b1;
#10
Atb = 1'b1;
Btb = 1'b0;
#10
Atb = 1'b1;
Btb = 1'b1;
end
endmodule
Kapı düzeyinde Verilog HDL uygulaması nasıl yapılır merak ediyorsanız buradan yazıya ulaşabilirsiniz.
İyi günler, iyi çalışmalar
Hiç yorum yok