почему clk_o2 здесь x?
Я пытался отложить начало, но это не сработало. Я новичок в Verilog, и это была проблема с обучением.
Я получаю x на clk_o2, если меняю его на отрицательном фронте
1 ответ
Решение
Я думаю, вы имеете в виду последний всегда блок в модуле clkdivisor. Проблема в том, что ваш тестовый стендnegedge clk
в момент времени 0, потому что он кодирует от X до 0. Это создает гонку с initial
блок пытается присвоить clockout2 значение 0.
Избавиться от гонки можно с помощью блокирующего задания. начальный start clockout1 = 0; clockout2 = 0; конец
Ваш код, конечно же, невозможно синтезировать. Есть и другие способы исправить это, но мы точно не знаем, что делать.