Pasākumu pasūtīšanu b / w bloķēšanas un ne-bloķēšanu uzdevumi

V

vijay82

Guest
Kāda būs rīkojuma izpildes (un kāpēc) no šādiem diviem Verilog paziņojumiem ...

1.piešķirt x = <some kods ietver asinhronā signals>;

2.vienmēr @ (posedge CLK)
ja (x == 1'b1)
y <= 1'b1;

(Y ir 0 pirms posedge)

... Pieņemot, ka x ir piešķirts līdz 1, tajā pašā laikā, CLK gatavojas 1?(Un, kā rezultātā pasūtīšanu, y būs nu paliek 0 vai kļūst 1)

Tāpat būs kārtībā izmaiņas dažādu simulatoros?

Viens izskaidrojums, kas atbilst uzvedību ar manu simulatora (ModelSim), ir tas, ka tajā pašā laikā šķēle, bloķēt pārskati ir visaugstākā prioritāte ir aktīvajā rindā, tāpēc x būs 1 pirmkārt, kritiens nosacījums tiks veikti, lai būtu patiesība, un pēc tam y kritiens būs jaunu vērtību 1.Tas viss simulatoru pasaulē ..
Ja tu domā par to, kā tā tiks sintezēt, x būs izejas daudzkombināciju mākonis nonākšana d ievadi kritiens.Tādējādi tā būs jāatbilst setup laiks kritiens, kas tas nav, ņemot vērā, man ir noteikti x, lai kļūtu 1 vienlaicīgi ar pulksteni augošo malas.Tādējādi pie pieaug malas, x joprojām ir 0 (0 apmierina setup laikā) un y saglabā savu veco vērtību 0.

Kāds ir pareizs domu gaitu?Vai ir vēl kāda?

 
Jautājums nav saistīts ar bloķēšanas pret ne-bloķēšanu paziņojumi manuprāt.

order of continuous assignment among each other or related to procedural blocks.

Vispār, nav noteikts izpildes
rīkojumu nepārtrauktu uzdevumu starpā viena otru vai ir saistīti ar procesuālo blokiem.Izpildes rīkojums attiecas tikai uz iekšējo procesuālo blokiem.

Tā arī nav skaidrs, ja Jums ir kas attiecas uz funkcionālo (RTL) vai laiku (gatelevel) simulācija.Minētajām uzstādīšanas laiku būtu tikai jāpiemēro laika simulāciju, bet nekā tas būtu bezjēdzīgi teikt divi notikumi ir notiek vienlaicīgi.Viņi faktiski nav reālā sistēmā.

 
FVM rakstīja:

Jautājums nav saistīts ar bloķēšanas pret ne-bloķēšanu paziņojumi manuprāt.
order of continuous assignment among each other or related to procedural blocks.
Vispār, nav noteikts izpildes
rīkojumu nepārtrauktu uzdevumu starpā viena otru vai ir saistīti ar procesuālo blokiem.
Izpildes rīkojums attiecas tikai uz iekšējo procesuālo blokiem.
 
Labi, funkcionālajā simulācijas, varat apgalvot x un CLK vienlaicīgi.Mana izpratne par Verilog noteikumu, ka
"izpildes rīkojumu", attiecīgi y stāvoklis nav specfied, tāpēc var būt dažādas ar dažādām imitatori vai
pat dažādās simulāciju reisi.Praksē ModelSim būs īpašu vērtēšanas metodi imitācijas
rezultātus, bet jums nevajadzētu paļauties uz to.

Starp citu, nav ne-bloķēšanas uzdevumu jūsu kodu.

 

Welcome to EDABoard.com

Sponsor

Back
Top