Я кодер VHDL и не много кодировал с Verilog. Я просматриваю чужой код и наткнулся на это:
always@(posedge asix_clk_bufg or negedge pll_asix_locked)
begin
if (~pll_asix_locked)
asix_rst <= 0;
else if (timer[5]) // 355us between asix_clk and asix_rst (min is 200us)
asix_rst <= 1;
end
Я не уверен, согласен ли я с приведенным выше кодом! Разве это не возможный сценарий защелки? Я вижу, что он ждет, пока pll заблокируется, а затем выведет систему из перезагрузки, но правильно ли это закодировано?
Мне не нравится комбинировать последовательный и комбинаторный код вместе, но каково значение «asix_rst», когда timer[5] = 0?!?
Спасибо, --Руди
asix_rst
? - person osgx   schedule 12.03.2014