🎛️ Verilog’da parameter
Kullanımı#
Parameter yapısı, modülleri konfigüre edilebilir ve yeniden kullanılabilir hale getiren derleme zamanı sabitleridir.
✅ Modül İçinde Tanımlama:#
module counter #(parameter WIDTH = 8) (
input clk,
output [WIDTH-1:0] out
);
✅ Örnekleme Sırasında Değerini Geçersiz Kılma (Override):#
counter #(.WIDTH(16)) u_counter (
.clk(clk),
.out(data)
);
🔒 Local Parameters (Yerel Parametreler)#
localparam
, modül örneklenirken değiştirilemeyen sabitler tanımlamak için kullanılır.
module timer;
localparam TIMEOUT_CYCLES = 100;
endmodule
Genellikle diğer parametrelerden türetilmiş sabit değerler ya da modül içinde sabit kalması gereken değerler için kullanılır.
Önemli Noktalar:
- Parametreler değişken değildir — çalışma zamanında değiştirilemezler.
- Genellikle veri genişliği, adres boyutu gibi değerleri ayarlamak için kullanılırlar.
module tb_parameter_demo;
wire clk;
wire [15:0] data;
counter #(.WIDTH(16)) u_counter (
.clk(clk),
.out(data)
);
endmodule
module counter #(parameter WIDTH = 8) (
input clk,
output [WIDTH-1:0] out
);
assign out = {WIDTH{1'b0}}; // Dummy constant output for demo
endmodule