Здравствуйте, товарищи! Хочу сделать генератор хелловорлдный. Оказалось, нужно проинициализировать некоторые переменные без сигнала сброса. Делал таким образом: 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-й вариант)? А если нет, то как можно провести инициализацию без сигнала сброса?
Заранее благодарен за помощь!
|