Erdem
Paylaşımcı üye
- Katılım
- 14 Ocak 2013
- Mesajlar
- 713
- Puanları
- 106
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.
Bir tane de benzetim yapmak için counter_tb.v isimli bir kütük oluşturalım.
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.
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.