Palīdzība ar divām problēmām Verilog (slikta loģika būvniecība)

C

chasef4

Guest
Čau, Es esmu diezgan jauns, lai Verilog un bija cerot, kāds varētu man palīdzēt out.

Es esmu, kam 2 problēmas, es esmu guessing abi ir saistīti ar sliktu loģiku.

1) Turpmāk sniegtajā piemērā es esmu kļūst brīdinājumi, ka "Brīdinājums (10235): Verilog HDL Vienmēr Atzīmēt brīdinājums pie xxx.v (15) Mainīgais lielums" D2 "ir izlasīt iekšpusē Vienmēr Atzīmēt bet ne vienmēr Atzīmēt's Event kontrole . "Es arī saņemt šo kļūdu D1 un gatava, bet ne D3 kas šķiet dīvaini.

2) Kad man simulācija, es noteikti to ievadi 8-bitu bināro numuru ik 10ns.Problēma ir tā, ka D3 un D2 ir tāda pati vērtība kā x_in, un no [0] un no [1], ir vērtība arī laika posmā no 0-10ns, tad pāreja no 10-20ns.Es gribētu sagaidīt šīs vērtības ir XXXXXXXX sākumā, jo tās nedrīkst iegūt vērtības yet.

modulis piemērs (x_in, ārā)

ievade [07:00] x_in;
izejas [11:00] kas [00:01];

reg parakstīts [11:00] no [0:01];

reg [07:00] D1, D2, D3;
reg gatavs = 1'b1;

vienmēr @ (x_in) sākas

D3 = D2, D2 = D1, D1 = x_in;

ja (gatavs)
gatavs = 0;
vēl
gatavs = 1;

z [0] <= (D3 [0] 1 d1) ** 5;
z [1] <= (D2 [0] 1 d1) ** 5;beigas
endmoduleThanks so much!

 
Hi,

Izmēģināt šo vienu.

modulis piemērs (x_in, ārā)

ievade [07:00] x_in;
izejas [11:00] kas [00:01];

reg parakstīts [11:00] no [0:01];

reg [07:00] D1, D2, D3;
reg gatavs = 1'b1;

vienmēr @ (posedge x_in)
sākt
D1 <= x_in;
D2 <= D1;
D3 <= D2;
beigas

vienmēr @ (posedge x_in)
sākt
ja (gatavs)
gatavs <= 0;
vēl
gatavs <= 1;
beigas

vienmēr @ (posedge x_in)
sākt
z [0] <= (D3 [0] 1 d1) ** 5;
z [1] <= (D2 [0] 1 d1) ** 5;
beigas

endmoduleHTH
-
Shitansh Vaghela

 
Liels paldies par palīdzību.Tikai tāpēc, ka es varētu mācīties kaut ko ar šo procesu, es biju cerot, jūs varētu paskaidrot dažas lietas.

1) Ja ir vairāki vienmēr bloķē visu ar valstīm, kas bloķē uzdevumus un nav laika kavēšanās.Kas ir nolemt, ka lietas ir jādara?Vai vienmēr blokus get darīts, lai?Un kas vienmēr blokus, kā jūs zināt, ko saņemsiet darīts kādā secībā?

2) Tā kā ieguldījums ir tikai 8-bitu vērtības, es gribēju moduli palaist katru reizi, kad tas tika nosūtīts jauns baits.Tas ir iemesls, kāpēc es sākotnēji tikko bija x_in kā jutību sarakstu, jo šajā posmā nav pulkstenis ... es domāju, ka x_in izmaiņas izraisītu vienmēr bloku.Kāda posedge nozīmē šajā situācijā?

Paldies vēlreiz!

 
Hi,
1) Nav rīkojums, bet izpildot vienmēr blokus.
2) Manuprāt, nav nepieciešams posedge x_in, tikai vienmēr @ (x_in) ir OK ..

Ilgaz

 

Welcome to EDABoard.com

Sponsor

Back
Top