我試圖用兩個開關來選擇我想讓LED閃爍的頻率。我的Verilog代碼如下:Verilog:試圖在多個頻率下使用時鐘分頻器在系列中閃爍LED燈
`timescale 1ns/1ps
module clk_divider(
input clk,
input rst,
input [1:0] sw,
output led
);
reg n;
[email protected](sw[0],sw[1])
n = (27 - sw);
wire [n-1:0] din;
wire [n-1:0] clkdiv;
dff dff_inst0 (
.clk(clk),
.rst(rst),
.D(din[0]),
.Q(clkdiv[0])
);
genvar i;
generate
for (i = 1; i < n; i=i+1)
begin : dff_gen_label
dff dff_inst (
.clk(clkdiv[i-1]),
.rst(rst),
.D(din[i]),
.Q(clkdiv[i])
);
end
endgenerate;
assign din = ~clkdiv;
assign led = clkdiv[n-1];
endmodule
當我檢查語法,它說,「N不是恆定的。」我怎樣才能避免這個錯誤?對我來說,它似乎應該起作用。任何幫助,將不勝感激!!!
最簡單的方法是創建綁定到選擇器的多個「時鐘」。然後選擇器將確定哪個時鐘爲led供電。 – N8TRO