Verilog Dili yazı dizisi

Başlatan electronious, 23 Ekim 2011, 01:25:24

electronious

Merhaba arkadaşlar,

Yeni başlayanlar için Verilog ile ilgili temel bir döküman yazdım. Bunu ilerleterek yazı dizisine dönüştürmeye düşünüyorum. Tecrübeli arkadaşlardan yazdığım ilk döküman ile ilgili geri dönüşüm alırsam ilerideki yazacağım dökümanların daha kaliteli ve faydalı olacağını düşünüyorum. Tabi Verilog ile ilgilenen ve yazı dizisini takip eden kitleye göre de yazacaklarım ve dizinin uzunluğu belli olacak. Döküman ile ilgili yorumlarınızı bekliyorum.

İndirme Linki

fatihinanc

Elinize sağlık, devamını bekliyoruz.

Ufak bir hatırlatmada bulunayım.
Verilog 2001 tarzı kodlama ile giriş ve çıkışları modül başlarında tanımlanabiliyor.
Normalde bu tarz karışık olmayan uygulamada pek önemi yok ama kodlar arttıkça hangisi sembolün(aslında bunlar net dir) giriş ya da çıkış olduğu kolay tespit edilmeyebiliyor.

Örnek:
Verilog 1995
module ornek1 (x1, x2, x3, f);
input x1, x2, x3;
output f;
and (g, x1, x2);
not (k, x2);
and (h, k, x3);
or (f, g, h);
endmodule


Verilog 2001
module ornek1 (
				input    x1, x2, x3, 
				output  f
			   );
					
and (g, x1, x2);
not (k, x2);
and (h, k, x3);
or (f, g, h);

endmodule


Kaynak : Verilog 2001 Quick Reference Guide
Kolay Gelsin.
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

electronious

Fatih hocam yorumunuz için teşekkür ederim.

Şu anda sadece giriş yaptığım için henüz ayrıntı konulara girmedim. Devamında mümkün olduğunca bu ve benzeri şeylere de gireceğim.

Yorumlarınızı bekliyorum.

electronious

#3
Dökümanımda vakit buldukça güncellemeler yapıyorum. Yeni şeyler ekliyorum. Tahmini olarak 1 hafta içerisinde Verilog Diline Giriş yazımı tamamlamayı düşünüyorum.

Eğer dökümanla ilgili yorumlarınızı yazarsanız, hatalarım varsa uyarırsanız daha iyi dökümanlar oluşturacağımı düşünüyorum.

Eğer Verilog ile ilgilenen insanlar yoksa ve bu dökümanlar kimseye faydalı olmuyorsa yazmayı bırakmayı düşünüyorum.

Geri dönüşler bekliyorum.

Yeni link

fatihinanc

Bence güzel gidiyorsunuz, takip ediyorum...
Fakat çalışmalara talep yok diye ümitsizliğe kapılmamak lazım. Birgün birinin işine muhakkak yarayacaktır ;)

Continuous Assigment'i da tamamladıktan sonra artık Process'lere geçtiğinizde örnek sayısını arttırısanız bence güzel olabilir.
Kodları sentezleyip RTL çıktılarını buraya koyabilirsiniz mesela. Gerçi basit uygulamalarda hemen hemen aynı çıktıyı verecektir ama gözle görünür birşey olması iyidir diye düşünüyorum.

Elinize sağlık.
Bu arada Altera mı Xilinx mi tercih ediyorsunuz ?
Kainat dediğimiz kitap, yazıldığı dil ve harfler öğrenilmedikçe anlaşılamaz.  (Galileo Galilei)

pic365

Bana kalırsa kodları bu kadar kapı seviyesinde yazmanıza gerek yok. Çünkü bu işlemleri her bit için ayrı ayrı yapmak zorunda kalırsınız. Örneğin 4 bitlik iki sinyal için "bitwise and" işlemi yapacak olsak ortaya şöyle iki farklı kod çıkar.

1. örnek:
and (g[0], x1[0], x2[0]);
and (g[1], x1[1], x2[1]);
and (g[2], x1[2], x2[2]);
and (g[3], x1[3], x2[3]);


2. örnek:
assign g = x1 & x2;


Doğal olarak 2. kodu tavsiye ediyorum.  Kolay gelsin. ;)

electronious

Fatih hocam, tavsiyeleriniz için teşekkür ederim. Şematikleri konuları biraz oturttuktan sonra ilave etmeyi düşünüyorum. Daha önce altera kullandım. Şu aralar xilinx kullanıyorum.

Kakalive hocam, size de tavsiyeleriniz için teşekkür ederim. Emeklemeden yürüme öğrenilmez diye düşünüyorum. Zaten yazının başlığına "giriş" ibaresini bu yüzden ekledim. Zamanla vakit elverdikçe bahsettiğiniz konulara da gireceğim. Ama şimdilik emekleme aşamasındaki arkadaşlar için hazırladığım için bu şekilde giriş yapıyorum.