Hardware Reference
In-Depth Information
a)Ablaufbeschreibung b)synthesef¨ahigeBeschreibung
Init:for...loop
...
Endlosschleife
desProzesses
waitfortP;
endloop;
Startzyklus:for...loop
waitfortP;
ifI='1'then
Anfangswertzuweisungen;
...
elsifaktiveTaktflankethen
BerechnungsschrittemitFall-
unterscheidungennachSchleife
endloop;
loop
undSchleifenz¨ahlerwert
Normalzyklus:for...loop
...
endif;
waitfortP;
waitonT,I;
Warteliste
endloop;
endloop;
Abb. 5.10. Kontrollflussumformung in einen synthesefähigen Abtastprozess
zusätzliche Hardware erforderlich ist. Der Datentyp für den Pipeline-Zustand
erweitert sich zu
-- erweiterter Datentyp für den Pipeline-Zustand
type tPipeline is record
cAdr, xAdr: tAdr;
cDat, xDat: tDaten;
Prod, Akku: tAkku; (1)
Zustand: tZustand;
end record ;
) WEB-Projekt:P5.2/FIR2_pack.vhdl
( (1) - breiterer Bitvektortyp als »tDaten«, um Wertebereichsüberläufe zu ver-
meiden, vgl. Abschnitt 5.2.5).
Die Übergangsfunktion sei durch eine Prozedur beschrieben, die bei jeder
aktiven Taktflanke aufgerufen wird:
-- Übergangsfunktion des gesamten FIR-Filters
procedure PipeStep(x: tDat; cROM: tMem; signal xRAM: inout tMem;
signal pp: inout tPipeline) is
begin
case pp.Zustand is
when XX => null ;
when Init =>
pp.cAdr <= pp.cAdr+ "1" ;
pp.xAdr <= pp.xAdr- "1" ;
write(xRAM, pp.xAdr, x);
if pp.cAdr=to_tUnsigned(M-1, tAdr'length) then
pp.Zustand <= Startzyklus; end if ;
when others =>
-- Operationen im Start- und Nomalzyklus
...
end case ;
end procedure ;
cAdr
1 ...M 1
xAdr
M 1M 2... 1
W(x 0 )W(x 1 )...W(x M−2 )
xRAM
)
WEB-Projekt:P5.2/FIR2_pack.vhdl
 
Search WWH ::




Custom Search