Я новичок в Verilog, поэтому этот вопрос может быть довольно глупым.
Что я пытаюсь: у меня есть компонент, который имеет clk, 8-битный вход и 8-битный выход.Что он должен сделать, это:
Если событие часов имеет отрицательный фронт, он должен установить выходной сигнал равным 0 Если событие часов имеет положительный фронт, он должен установить выход на любой вход в этот моменткрайнее событие.Во время высокой фазы тактовых импульсов выход НЕ должен изменяться, независимо от изменений на входе.
Что я пробовал до сих пор:
always @(negedge clk)
_ledOut <= 0;
always @(posedge clk)
_ledOut[RowSize-1:0] <= ledIn[RowSize-1:0];
Это говорит о том, что он не можетразрешить несколько константных драйверов для net _ledOut.
Однако, если объединить это в всегда @ (negedge clk, posedge clk), я не могу проверить оба условия.
Так что япопытался создать только один всегда @ (clk) блок, а затем использовал оператор if:
always @(clk) begin
if(clk == 0)
_ledOut <= 0;
else if(clk == 1)
_ledOut[RowSize-1:0] <= ledIn[RowSize-1:0];
end
Но это не просто включило событие clk.Во время высокой фазы часов он связывает _ledOut со ledIn, так что изменения в ledIn также влияют на _ledOut.Что я здесь не так делаю?
С уважением, Майкл