У меня были проблемы с простым вычислением этого простого кода.
module diode(switch,led);
output led;
input switch;
reg led;
always@*
begin
led=1'b0;
end
endmodule
Логика заключается в следующем: нажмите кнопку, светодиод включится?
Теперь проблема, с которой я сталкиваюсь, - это всегда блок.Он должен работать так, чтобы при смене переключателя (кнопка, которую я нажимаю) светодиод включался?Но светодиод включается автоматически все время, входя в этот блок Always, даже если я ничего не нажимаю?Единственный способ «решить» это, если я добавлю операторы if / else в блоке Always, чтобы светодиод имел значение по умолчанию (если он не включен).
Мой главный вопрос: почему светодиод получает значение 1'b0 (его включение), когда я даже не нажимаю какие-либо кнопки на своей плате FPGA?
Я пытался дать базузначение для светодиода в начале и даже с этим кодом:
module diode(switch,led);
output led;
input switch;
reg led=1'b0;
always@*
begin
led = 1'b1;
end
endmodule
светодиод всегда выключен из-за того, что написано в блоке Always.В чем подвох, что я не получаю здесь?Почему так себя ведет?
Любая помощь будет оценена.Спасибо!