Son Yazılar

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.


Bu yazıyı incelediğiniz için teşekkürler

 İyi günler, iyi çalışmalar

Hiç yorum yok