Erdem Paylaşımcı üye Katılım 14 Ocak 2013 Mesajlar 713 Puanları 106 22 Eyl 2020 #1 Verilog donanım tasarımında kullanılan bir donanım tanımlama dili. Linux altında kurulumun nasıl yapılacağını hızlıca izah etmeye çalışacağım. Ubuntu'da Icarus Verilog derleyicisini aşağıdaki komutla kuruyoruz. $ sudo apt install iverilog Herhangi bir metin düzenleyici ile counter.v isimli bir kütük oluşturalım. Kod: module counter(out, clk, reset); parameter WIDTH = 8; output [WIDTH-1 : 0] out; input clk, reset; reg [WIDTH-1 : 0] out; wire clk, reset; always @(posedge clk) out <= out + 1; always @reset if (reset) assign out = 0; else deassign out; endmodule // counter Bir tane de benzetim yapmak için counter_tb.v isimli bir kütük oluşturalım. Kod: module test; /* Make a reset that pulses once. */ reg reset = 0; initial begin $dumpfile("test.vcd"); $dumpvars(0,test); # 17 reset = 1; # 11 reset = 0; # 29 reset = 1; # 5 reset =0; # 513 $finish; end /* Make a regular pulsing clock. */ reg clk = 0; always #1 clk = !clk; wire [7:0] value; counter c1 (value, clk, reset); initial $monitor("At time %t, value = %h (%0d)", $time, value, value); endmodule // test Kodu derleyelim. iverilog -o dsn counter_tb.v counter.v Şimdi de çalıştıralım. vvp dsn Oluşturulan dalga şekline bakmak için gtkwave test.vcd & komutunu verelim. Gtkwave yazılımında sol üst köşede test ve c1'e tıklayalım. Sonra sinyalleri sürükle bırak yöntemiyle zaman çizelgesine taşıyalım. İlk açıldığı zaman tüm işaretlerin renginin aynı renkte olduğunu göreceksiniz. Ayrıca işaretler onaltılık sayı sisteminde gösteriliyor. Bunu değiştirmek için bir işaretin üzerine gelip veri biçemi ("Data Format") ve renk biçemi ("Color Format") seçeneklerini değiştirebilirsiniz.
Verilog donanım tasarımında kullanılan bir donanım tanımlama dili. Linux altında kurulumun nasıl yapılacağını hızlıca izah etmeye çalışacağım. Ubuntu'da Icarus Verilog derleyicisini aşağıdaki komutla kuruyoruz. $ sudo apt install iverilog Herhangi bir metin düzenleyici ile counter.v isimli bir kütük oluşturalım. Kod: module counter(out, clk, reset); parameter WIDTH = 8; output [WIDTH-1 : 0] out; input clk, reset; reg [WIDTH-1 : 0] out; wire clk, reset; always @(posedge clk) out <= out + 1; always @reset if (reset) assign out = 0; else deassign out; endmodule // counter Bir tane de benzetim yapmak için counter_tb.v isimli bir kütük oluşturalım. Kod: module test; /* Make a reset that pulses once. */ reg reset = 0; initial begin $dumpfile("test.vcd"); $dumpvars(0,test); # 17 reset = 1; # 11 reset = 0; # 29 reset = 1; # 5 reset =0; # 513 $finish; end /* Make a regular pulsing clock. */ reg clk = 0; always #1 clk = !clk; wire [7:0] value; counter c1 (value, clk, reset); initial $monitor("At time %t, value = %h (%0d)", $time, value, value); endmodule // test Kodu derleyelim. iverilog -o dsn counter_tb.v counter.v Şimdi de çalıştıralım. vvp dsn Oluşturulan dalga şekline bakmak için gtkwave test.vcd & komutunu verelim. Gtkwave yazılımında sol üst köşede test ve c1'e tıklayalım. Sonra sinyalleri sürükle bırak yöntemiyle zaman çizelgesine taşıyalım. İlk açıldığı zaman tüm işaretlerin renginin aynı renkte olduğunu göreceksiniz. Ayrıca işaretler onaltılık sayı sisteminde gösteriliyor. Bunu değiştirmek için bir işaretin üzerine gelip veri biçemi ("Data Format") ve renk biçemi ("Color Format") seçeneklerini değiştirebilirsiniz.
Konu Sah Erdem Paylaşımcı üye Katılım 14 Ocak 2013 Mesajlar 713 Puanları 106 27 Eyl 2020 #2 System Verilog için Eda Playground'u kullanabilirsiniz. Kod: module merhaba; initial begin $display("Merhaba Kontrol Kalemi!"); end endmodule https://www.edaplayground.com/x/8RZt
System Verilog için Eda Playground'u kullanabilirsiniz. Kod: module merhaba; initial begin $display("Merhaba Kontrol Kalemi!"); end endmodule https://www.edaplayground.com/x/8RZt
Konu Sah Erdem Paylaşımcı üye Katılım 14 Ocak 2013 Mesajlar 713 Puanları 106 29 Eyl 2020 #3 System Verilog, 2005'de Verilog donanım dilinin ve buna ek olarak deney tezgahının yeniden yazılmış biçimi. ModelSim, Mentor Graphics'in geliştirmiş olduğu ticari bir donanım tanımlama dili benzetim yazılımı. Üniversiteler indirimli olarak bu yazılımı satın alabiliyor. 10.000 satırla sınırlı ücretsiz sürümü ise Xilink WebPack ile indirilebiliyor. Bu Xilink WebPack'i indirmeyi düşündüm ama sadece yazılım 60 GB'a yakındı hatırladığım kadarıyla. O kadar disk alanı olmadığı için vazgeçtim. İşte Eda Playground bu noktada oldukça işe yarıyor. Tarayıcı penceresinden System Verilog dilini öğrenebilir, benzetimini yapabilirsiniz. Örnek olarak bir VE DEĞİL kapısının benzetimini burada görebilirsiniz. https://www.edaplayground.com/w/x/3sG
System Verilog, 2005'de Verilog donanım dilinin ve buna ek olarak deney tezgahının yeniden yazılmış biçimi. ModelSim, Mentor Graphics'in geliştirmiş olduğu ticari bir donanım tanımlama dili benzetim yazılımı. Üniversiteler indirimli olarak bu yazılımı satın alabiliyor. 10.000 satırla sınırlı ücretsiz sürümü ise Xilink WebPack ile indirilebiliyor. Bu Xilink WebPack'i indirmeyi düşündüm ama sadece yazılım 60 GB'a yakındı hatırladığım kadarıyla. O kadar disk alanı olmadığı için vazgeçtim. İşte Eda Playground bu noktada oldukça işe yarıyor. Tarayıcı penceresinden System Verilog dilini öğrenebilir, benzetimini yapabilirsiniz. Örnek olarak bir VE DEĞİL kapısının benzetimini burada görebilirsiniz. https://www.edaplayground.com/w/x/3sG