Я пытаюсь создать код Verilog, способный к синтезу, который может обнаруживать «х» или недопустимые входы. В принципе, x
не может синтезировать, поэтому я избегаю x
. Я пытаюсь читать входы на каждом такте и если это 0
или 1
, то я загружаю новый регистр. Вот код;Synthesis-able 'X' или некорректная система обнаружения входных данных в Verilog
[email protected](posedge clk)
begin
if(in & gate_check == 0 | in & gate_check == 1)
begin
load_input_8 <= {in,load_input_8[8:1]};
end
end
Итак, я загрузка новых входов в load_input_8
регистр, после проверки достоверности входных данных. Кстати, gate_check
имеет значение 1, то есть `gate_check = 1.
Но это только хранить значение 1
в load_input_8
. Нет 0
хранится в load_input_8
. И схема также имеет странное поведение при загрузке входов. Вот картина симуляции; спасибо.
Только 'in = 1' может удовлетворить ваши условия if. –
@ Лале, спасибо. Проблема решена. –