zdarzenia symulacji wyników pytanie?

X

xiongdh

Guest
////////////////////////////////////////////////// /////
style1:
reg reg_temp1, reg_temp2;
początkowej
zacząć
reg_temp1 <= 1'b0;
reg_temp2 <= 1'b0;
koniec
zawsze @ (posedge zegar)
reg_temp1 <=! reg_temp1;

zawsze @ (posedge zegar
i reg_temp1)
reg_temp2 <=! reg_temp2;
////////////////////////////////////////////////// / / / /////////////////////////////////////////////////// /////
style2:
reg reg_temp1, reg_temp2;
początkowej
zacząć
reg_temp1 <= 1'b0;
reg_temp2 <= 1'b0;
koniec
zawsze @ (posedge zegar)
reg_temp1 <=! reg_temp1;

zawsze @ (posedge zegar)
if (reg_temp1)
reg_temp2 <=! reg_temp2;
////////////////////////////////////////////////// / / / /
z symulacji narzędzie verilog-xl
symulacji wyników to nie to samo.stylu 1. fali dwóch sygnałów jest taka sama.z 2 reg_temp1 stylu 's częstotliwości jest dwa razy w reg_temp2.
Dlaczego tak się stało ????????????

 
To jest wszystko w porządku.Proszę śledzić następujących przypadkach:

W style1:
Pierwszy zawsze powoduje "reg_temp1" włącza gdy "zegar" wzrasta.Drugi zawsze zmysłów wzrasta z reg_temp1 i zegar.Ponieważ przypisania do reg_temp1 wykonuje w delcie czas, więc zawsze warunek będzie prawdą w tym czasie reg_temp1 rised.innymi słowy, wschodu sygnału może być wykryta w tym samym czasie modyfikacji.Jednak wartość tego sygnału nie może.

W style2:
Pierwszy zawsze powoduje "reg_temp1" włącza gdy "zegar" wzrasta.Ale drugi zawsze tylko poczucie wschodu zegar i sprawdzić wartość tych reg_temp1.Nowe wartości w reg_temp1 nie jest ważne w wschodu zegar i poprzednie wartości w reg_temp1 będą rozpatrywane.

Pozdrowienia,
KH

 

Welcome to EDABoard.com

Sponsor

Back
Top