implementere en forsinkelse i FPGA

U

utsettelse

Guest
Hei alle,

Hvis jeg absolutt behov for å innføre en forsinkelse for en fysisk krets på en FPGA-brikke, hvordan kan jeg det megetsigende synthesizere usully kaste dalays ut?

forsinkelse (forsinket med teknologi)

 
hei, forsinkelse
Jeg vet ikke om systemet kan innføre en klokke med den periode akkurat den samme som forsinkelsen du vil i så fall, kan u implementere spesifisert forsinkelse kretsen ved å sample signalet skal delayed.Otherwise, er det alltid nytteløst å skrive setninger som "etter" i VHDL eller "#" i Verilog å forsinke et signal eller wire.
Forresten, hvis du velger Altera som FPGA-leverandøren som jeg, en måte som ikke recommened av Altera å gjennomføre forsinkelsen er å bruke komponent eller modul 'LCELL' som er inkludert i Altera's library lpm.

 
For liten forsinkelse (rekkefølge nano sekunder), bruker Gates (Ex: AND, OR eller buffere).

 
de fleste av HDL synthesizer hvis du velger hastighet eller område å syntetisere de slette componet som gjør forsinkelse, hvis du vil lage en forsinkelse dersom den ikke er liten gjør den ved clk (som en disk), og hvis den er liten (ns) gjøre ved komponent som buffere og noen andre ways.how er mye forsinkelsen at du vil gjøre?

 
først vurdere om forsinkelsen er virkelig trengs.Og vurdere igjen ...

dersom forsinkelsen faller i domenet til en av dine anvendt klokker og velg ff, skift register eller mot å implementere forsinkelsen.

hvis du ikke er i stand til å bruke klokke, kan synthetizers hindre at gjenstander blir optimalisert.
F.eks.: Synopsis FPGA Express støtter for "dont_touch"
Sett dette attributtet på en modul / enhet / design og også på celler og forekomster.

Setting this attribute prevents that portion of the design from being optimized, effectively treating it as a black box. egenskap dont_touch av Clk_inv1: etiketten er "true";

 
hvis du har en høy frekvens klokke du kan buffer signalet i en FIFO der du kan stille inn forsinkelsen whiuc du å legge på deg r signal.
Porten og buffer soluction er svært vanskelig å administrere, faktisk hver p & R kan endre forsinkelsen.
ha det.
G.

 
Rute signalet ut og koble det tilbake vil gi ua fast beløp på forsinkelsen.

 
for liten forsinkelse u kan bruke buffere og for lang ventetid u kan bruke disken eller skift register

hilsen
Ashish

 
Se side 6 på Xilinx sin søknad notat XAPP688.Det handler om å bygge forsinkelse element ved hjelp LUTs i FPGA.

 
Hvis du vil vite forsinkelsen av design og vet hvordan en LUT for eksempel innføre en forsinkelse kan du ikke avhengig av syntese resultater, kan du bruke innlegget PAR behavoral modell med standard forsinkelse filen for å få et overslag over antatt forsinkelsen en syntese verktøyet rett og slett ikke vil gi riktig resultat "har jeg ikke bruke fysisk syntese verktøy ennå men jeg antar at det kan gi bedre resultater"
Sist endret av bibo1978 den 21. Jun 2004 13:34, endret 2 ganger totalt

 
En annen teknikk for å innføre forsinkelse "hvis du bruker en avansert FPGA som Xilinx VirtexII proff" kan du introdusere forsinkelsen gjennom døgnet heller rathar enn gjennom signalet er mer fordelaktig fordi du kan akkurat finjustere forsinkelsen som kreves, dette kan gjøres ved hjelp av DCM Jeg tror at dette er den mest trustable løsning.hvis du har et problem i grensesnitt mellom klokken doamins så bør du prøve å sette en asynchrounous FIFO.

Hvis DCM er ikke tilgjengelig "som Virtex" så kan du bruke to klokke refrences idet jeg / PS one forsinket fra hverandre av den nødvendige mengden "prøve en PLL AD41 serien" 3 $ "eller 2 DDS 10 $, som fortsatt vil nødt til å behandle de to klokken domener interface "Asynchronous FIFO er bare den mest hensiktsmessige løsningen vanligvis"

thats all folks

 
Den beste måten er å bruke FIFO og design som en separat komponent og når instantiat det inn designe din instruerer synthesizer til "Ikke Optimaliser" Theis komponenten slik at den forblir som det er å holde tilsvarende antall klokken sykluser du ønsker å utsette.

 

Welcome to EDABoard.com

Sponsor

Back
Top