[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
У меня есть некий дезайн , описанный на верилоге там есть два регистра :
always @(negedge res or posedge scl) if(res==0) cl_out = 0; else cl_out = cl^inv;
always @(negedge res or posedge scl) if(res==0) cl_old = 0; else cl_old = cl_out;
То есть это два D-триггера один получает снаружи, а второй от первого.
Таким образом получается по перепаду сигнала scl данные защёлкиваются в регистр cl_out в регистр cl_old защёлкивается предидущее значение cl_out. После синтеза в "железе" так и происходит , а в симуляторе одно и тоже (новое) значение защёлкивается в оба регистра.
То есть поведение такое:
always @(negedge res or posedge scl) if(res==0)
begin cl_out = 0; cl_old = 0; end
else
begin
cl_out = cl^inv;
cl_old = cl_out;
end
ПОЖАЛУЙСТА ПОМОГИТЕ!!!
E-mail: info@telesys.ru