Я новичок в Verilog и только что получил TinyFGPA Bx. Я запустил некоторый пример кода и поэтому получил светодиоды и кнопки, работающие на разных портах и управляющие светодиодами с помощью кнопок. В настоящее время я хочу подключить 8 светодиодов к моей хлебопечке и подключиться через контакты с 1 по 8. Можно ли создать массив типа {PIN_1, PIN_2 и т. Д.}}, А затем в цикле for назначить контакты для включения и выключения? на основе какого-то результата от блока всегда? Я вставил свой код ниже, над которым я работаю. Это набор примеров кода, плюс я пытаюсь понять, смогу ли я запустить массив.
module Button_Toggle_LED
(input CLK,
input PIN_11,
output PIN_1, PIN_2, PIN_3, PIN_4, PIN_5, PIN_6, PIN_7, PIN_8
);
reg r_LED_1 = 1'b0;
reg r_Switch_1 = 1'b0;
wire [7:0] pinArray [7:0] = {PIN_1, PIN_2, PIN_3, PIN_4, PIN_5, PIN_6, PIN_7, PIN_8};
wire w_Switch_1;
genvar i;
// Instantiate Debounce Module
Debounce_Switch Debounce_Inst
(.i_Clk(CLK),
.i_Switch(PIN_11),
.o_Switch(w_Switch_1));
// Purpose: Toggle LED output when w_Switch_1 is released.
always @(posedge CLK)
begin
r_Switch_1 <= w_Switch_1; // Creates a Register
// This conditional expression looks for a falling edge on w_Switch_1.
// Here, the current value (i_Switch_1) is low, but the previous value
// (r_Switch_1) is high. This means that we found a falling edge.
if (w_Switch_1 == 1'b0 && r_Switch_1 == 1'b1)
begin
r_LED_1 <= ~r_LED_1; // Toggle LED output
end
end
for(i = 0; i <= 8; i = i + 1) begin
assign pinArray[i] = r_LED_1;
end
endmodule
Моя текущая ошибка ниже
Button_Toggle_LED.v:9: ERROR: Invalid array access.
scons: *** [hardware.blif] Error 1
Я имел дело сошибки по одной и подозреваю, что это внесло другие ошибки в код, поскольку я не уверен, что я делаю. Заранее благодарим за любую помощь!
Дэвид