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?
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?