Jeg ønsker at anvende en clock DLL for at sætte clock-hastigheden (en af de indbyggede) op til det dobbelte (100MHz), men skal anvende samme clock på en ekstern enhed (A/D-converter). Hvordan ligger jeg denne clock ud, og stadig anvender de indbyggede clock-net? Er det GCLK-pins der skal bruges? Så vidt jeg kan læse er GCLK-pins kun specielle for clock-inputs!
som ethvert andet signal i FPGA'en du router det til en IO, at det er en clock betyder ikke noget.
Men en ADC der sampler så hurtigt er følsom overfor jitter, så det er måske ikke den optimale løsning at bruge en DLL til at generere clocken...
GCLK pin er normale pins der er forberedt til at bruges som clk input. De har dedikerede forbindelser til clockbuffers og DLL'er, det ka' være en fordel i nogle tilfælde.
Hvis man vil ka' man bruge hvilken som helst IO som clock input.
Jeg håber ikke jeg kommer til at "fumle" for meget... hehe.. Ej, jeg skal bruge Spartan3'en til et bachelor-projekt, men et CPLD kit
- hehe, tja, hvorfor ikke få det gratis med!
Endnu en gang mange tak for tippet - det er ikke lige sådan til at finde på xilinx's egen hjemmeside - synes ikke det er nævnt på nogle af "kit"-siderne direkte!
Men fortæl endelig hvis du sidder og fumler med noget som lyder spændende! Det er jo altid sjovt at høre hvad folk laver og udveksle lidt erfaringer. Det virker heller ikke som om, der er så meget gang i VHDL/FPGA/CPLD udvikling herinde :-)
Kan der ikke risikere at komme et større delay! Så vidt jeg har forstået er clock-nettene i FPGA'en specielle forbindelser som er specielle, idet der ikke opstår noget skew/delay på clock-signalet rundt i kredsen. Ved at lede det gennem en tilfældig I/O-pin vil der vel kunne komme et delay, idet det højst sandsynligt vil ledes igennem en logisk komponent!
Det global global clock net drives af en global clock buffer, så der er ingen skew/delay. Input til en clock buffer kan kommer fra hvad som helst.
Der er selvfølgeligt et delay mellem clock signal på en pin og outputtet fra clock bufferen, det vil der altid være uanset hvilken pin clocken sidder på, det betyder blot at clocken inde i FPGAen kommer lidt senere end uden for kredsen, men der er ikke noget inde i kredsen der bliver clocket af clocken udenfor så den ved ikke bedre.
I visse tilfælde med synkrone interfaces kan det være nødvending at de to clocke er ens, men så skal man bruge en dll til at kompensere for det delay der er fra pin til clockbuffer, der findes appnotes om hvordan det gøres.
det er Delay Locked Loop, dvs. der er en delayline hvor clocken så kan tages ud på forskellige "tappe" en controller står hele tiden og vælger hvilken tap der passer. men ligesom på en stige kan man ikke stå mellem to trin, men man kan stå lidt tid på det ene trin og så lidt tid på det andet trin osv.
svjh er der ~100ps mellem tappene i spartan3, så clock perioden kan ændre blive 100ps kortere eller længere fra clock cycle til clock cycle
Om det er kritisk ved jeg ikke, jeg har ikke checket ud hvor mange bit opløsning du mister ved 100ps jitter, det kommer an på hvad du sampler.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.