Здравствуйте, товарищи!
Хочу сделать генератор хелловорлдный. Оказалось, нужно проинициализировать некоторые переменные без сигнала сброса. Делал таким образом:
input clc;
output reg outclc;
reg is_init;
always @(clc)
begin
if(is_init!=1)
begin
is_init =1;
//разная всякая инициализация
end
else
begin
//ну например,
outclc<=clc;
end
end
Синтезатор не кричал, в моделсиме красные полоски (не работает, как нужно)
Рассуждаю так: вначале is_init инеет несинтезируемое значение Х, чему в жизни отвечает "не знаю". Нельзя сказать, что (is_init!=1) истина или ложь.
Но я переписал так:
input clc;
output reg outclc;
reg is_init;
always @(clc)
begin
if(is_init==1)
begin
//ну например,
outclc<=clc;
end
else
begin
is_init =1;
//разная всякая инициализация
end
end
и на всех 4-х временных моделированиях моделсим выдавал то, чего мне было надо. Но ведь предидущие рассуждения отрицают возможность того, что можно сказать is_init==1 истина или ложь.
Подскажите , пожалуйста, это вообще синтезируемо (2-й вариант)? А если нет, то как можно провести инициализацию без сигнала сброса?
Заранее благодарен за помощь!