FPGA · Verilog

Verilog Dersleri 2 – D-Flip Flop Tasarımı

Merhabalar,

Bugün verilogda D-FF, sayısal tasarımdaki adıyla register tasarlayacağız. Öncelikle kodumuzu inceleyelim.

module d_ff(a,b,clk);

input a;
input clk;

output reg b;

always@(posedge clk) begin
b<=a;
end

endmodule

Bu kodda diğer kodlardan farklı olarak always yapısı bulunmaktadır. Bu yapı parantez içinde bulunan durum gerçekleştiği anda veya parantez içinde bulunan sinyallerde değişiklik olduğu durumlarda içindeki işlemin yapılmasını sağlar.

Bu örneğimizde görülüğü gibi clk işaretinin yükselen kenarında (posedge- positive edge) aşağıdaki işlemlerin yapılmasını sağlar. İşlemimiz a girişinin b çıkışına atanmasıdır. Aslında a D-FF’in girişi, b çıkışı olmaktadır. Always yapılarında dikkat edilmesi gereken, tüm atama yapılan işaretler (örneğin b sinyali) yukarıda tanımlanırken reg ifadesi ile tanımlanmalıdır. Tasarımımızın RTL şematiği aşağıdadır.

d-ff

Böylece ilk ardışıl (sequential) devremizi yapmış bulunuyoruz. Bir sonraki çalışmada always yapısını kullanımıyla ilgili farklı yapılar sunmaya çalışacağım.

İyi çalışmalar

 

FPGA · Verilog

Verilog 1 – AND ve OR Tasarımı

Merhabalar,

Bugün verilogda and ve or kapılarını tasarlayacağız.

AND Kapısı:

module and_kapisi(a,b,c);

input a,b;
output c;

assign c = a & b;

endmodule

Yukarıdaki kodda “and_kapisi” modülünü tanımladık ve giriş-çıkışları belirttik. Buna göre “a” ve “b” giriş (input) işareti, “c” çıkış (output) işareti oldu.

“assign” komutu ile “c” çıkışına “a” ve “b” nin and işlemi sonucu atanır. Verilogda and işlemi “&” ile yapılır. Verilog kodumuzu Xilinx ISE aracıyla sentezlediğimizde RTL Şematiği aşağıdaki gibi olmaktadır.

ve

 

OR Kapısı:

module or_kapisi(a,b,c);

input a,b;
output c;

assign c = a | b;

endmodule

Bu kodda “or_kapisi” modülünü tanımladık ve giriş-çıkışları belirttik. Giriş ve çıkış işaretlerini yukarıda yaptığımız gibi atadık.

“c” çıkışına “a” ve “b” nin or işlemi sonucunu atadık. Verilogda or işlemi “|” (Alt Gr + tire işareti) ile yapılır. Kodumuzu Xilinx ISE aracıyla sentezlediğimizde RTL Şematiği aşağıdaki gibi olmaktadır.

veya

Böylece Verilog HDL dili ile temel seviye çalışması olarak AND ve OR kapılarını gerçekledik.

Bir sonraki çalışmada görüşmek üzere. İyi günler..

Duyuru-Haber · FPGA · Verilog

Verilog

Merhabalar,

Elimden geldiğince Verilog bilgimi örnek çalışmalarla aktarmaya çalışacağım. Aklıma geldikçe bu blogum altında 10 dakika ayırıp birşeyler karalayacağım.

Verilog sayısal devrelerin tasarımında kullanılan donanım tanımlama dilidir. FPGA tasarımlarında, ASIC tasarımlarında kullanılmaktadır. Birçok uluslararası şirket Verilog dilini kullanmaktadır. Syntax olarak, yani yazım biçimi olarak C programlama diline benzemektedir. Fakat C dili bir programlama diliyken Verilog donanım tanımlama dilidir(Hardware Description Language-HDL).

Bundan sonraki yazılarımda temel örneklerle Verilog dilini anlatmaya çalışacağım. Takipte kalın …