Forsinkelse tellere i tre prosessen stat maskiner

T

thecolororange

Guest
Jeg prøver å endre eksisterende kode for å forbedre timingen og kvaliteten på koden generelt.En av måtene Jeg prøver å gjøre dette på er å skifte fra å bruke en enkelt prosess for et apparat for å dele det inn i 3 prosesser (stat forhånd utgang, statusendring).

Jeg har problemer med en del av koden, skjønt.I flere stater er det forsinkelser genereres ved hjelp av en enkel counter, som følgende:

Code:når READ_2 =>

hvis wait_ctr = 2 deretter

wait_ctr <= 0;

sram_clk <='1 ';

ram_action <= READ_DATA;

access_state <= READ_3;

ellers

wait_ctr <= wait_ctr 1;

end if;

 
Du må gjøre signaler (etter behov) som:
Beregnigner counter aktivere,
Beregnigner counter verdi,
counter incerment aktivere,
etc. ..
Disse signalene snakk fra anysrnconouse prosessen til syncronouse (stat forhånd) en.

Du kan også sette conter i sin egen prosess.

Generere delayes bruker tellere er god praksis som dealy verdier er så lett å chage (mye bedre deretter skifte regsiters eller ekstra stater for store dealys).Jeg pleier å ha møte i sin egen prosess og bruke overflyt / underflow flagg å utløse tilstanden endring (denne måten trenger du ikke en logikk kjeden å sammenligne counter verdi).

 
@ pev: Takk, det
er det jeg var ute etter.

Jeg gjetter det ville være bedre å flytte hver forsinkelse (det er ca 3 forskjellige forsinkelser jeg trenger å generere) i egne prosesser,
i stedet for å ordne alle 3 i en enkelt prosess?

 

Welcome to EDABoard.com

Sponsor

Back
Top