klokke problem

S

superhet

Guest
problemet er at jeg har skrevet koden for meg design og jeg har utført funksjonell simulering.nå vil jeg målrette en XC2S50 for design mitt.tingen er at jeg har ikke gjort slike ting før.Jeg har Xilinx ISE 6.2 og jeg vet hvordan du kjører den.

my design krever en inngang klokken 25MHz og en del av det krever en klokke av 400Hz.hvordan ville jeg kobler 25MHz klokke til mine FPGA og hvordan skulle jeg få 400Hz klokke?dataarket nevner rundt fire klokke pinner GCK0-GCK3.Hvordan kan jeg bruke dem?og hvordan skulle jeg få en 400Hz klokke fra en 25MHz inngang (dvs en divisjon faktor på 62500 !!!!!)

hva annet trenger jeg å vite om implementering av en design i hardware?

uptil nå dere ville ha innsett av å se mitt tidligere innlegg at im en komplett noob på dette området så vær myk på meg!

 
Vel, hvis du kan bruke et eksternt krystall - bare bruk noe rundt denne frekvensen, og ify ou har en PLL på FPGA, kan du dele det ned.Ellers må du dele den i RTL-kode.

 
siden spartan2 er en nedre enden enhet, i feel u vil ikke b stand til å generere en 400 hz av 25 Mhz bruke det interne clk dll.
så itz bedre å designe en teller med 16 bits presisjon for å generere en divisjon faktor på 62500, hvis ur andre logiske krav blir mindre.
else, hvis u ha en tett koplet design, som kan neppe passe inn til enheten,
så u ikke vil b stand til å passe denne telleren inne i apparatet.
i så fall u koble 400 Hz som ext clk.

 
Renjith kan du gi meg eksempelkode for 16-bits teller?

og en ting til.jeg gikk inn koden min i Xilinx ISE men syntese rapporten forteller meg at det ikke er klokke signal i design mitt.Må jeg bruke noen spesifikke søkeord for klokke signalet.Jeg har prøvd å lese i dokumentasjonen for Xilinx ISE men det ytterligere forvirret meg.kan noen guide meg ett skritt om gangen og fortelle meg hvordan en kodebit implementert på en målenheten med Xilinx ISE?

Jeg vet hvordan du arbeider med Modelsim, men nettopp fordi dette er første gang, im har forvirring med Xilinx ISE.men når im gjennom med all den forvirring syk være oppe og kjøre.

behage hjelpe !!!!!!!

 
Jeg tror det vil være trygt hvis du brukte en tellere til å generere denne 400 Hz klokkehastighet, kan dette gjøres ved cascaded "telle aktivert" tellere, vil hver teller aktivere følgende telleren da teller nå en verdi, kan dette gjøres ved hjelp av 4 tellere, cascaded som følger
to tellere opp til 25 bit
to tellere en teller til 5, og den andre teller til 5,
endelig en pinnen FF krets for å sende ut 400 Hz,
Jeg foretrekker at de små tellere bli den første tellerne denne måten er mer pålitelig

men det avhenger av gatecount at 400 Hz tilbudet, kan du også bruke et bufg til signalet dersom porten teller er stor.naturligvis denne kretsen vil ha en fase forskjell mellom 400 Hz og 25 Mhz

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smil" border="0" />
 
superhet skrev:eek:g en ting til.
jeg gikk inn koden min i Xilinx ISE men syntese rapporten forteller meg at det ikke er klokke signal i design mitt.
Må jeg bruke noen spesifikke søkeord for klokke signalet.
 
superhet skrev:

Renjith kan du gi meg eksempelkode for 16-bits teller?

 
Ehm Renjith kan jeg få noe i Verilog

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />

Jeg har ingen kjennskap til VHDL.

Sparc enn en meget for din bekymring.jeg har koblet testen benken som jeg simuleres i Modelsim.ill gi deg en kort oversikt over hva jeg vil gjøre.hele systemet består av en 4-bits UART ved inngangen, vil en FIR, deretter et Hamming koder og deretter en 7-bits UART på slutten.4-bits UART fungerer på en baud på 2400 og tar 4-bits ord som er gitt til FIR.utgangen av FIR er igjen 4-bits.de filtrerte dataene er gitt til Hamming koderen som koder hver 4-bits ord i en 7-bits ord.så denne 7 bit ord er overført til en baud av 9600.

i dont tenkt å lage en forbruker produkt eller noe sånt.im just doing it for læring.Jeg kom opp med hele ideen etter at jeg fikk en liten intro til Verilog og simulering med modelsim.nå vil jeg utvide min kunnskap.

og en ting til.i kombinerte FIR og Hamming koderen i én modul fordi begge kjøre på 400Hz, mens senderen og mottakeren løpe fra de viktigste 25MHz klokke.og dessuten den 4-bits UART ikke har en sender del og 7-bits UART ikke har en del mottak.Dette ble gjort fordi jeg gjorde ikke vil de skal utføre de bestemte formål.Du spør kanskje at hvorfor gjorde jeg lage et enkelt UART som gjorde både mottak og sending.well thats fordi jeg ønsker å motta 4-bits ord og overføre 7-bits ord.

Jeg håper du forstår hva jeg sier.fordi det ser ut for meg som om im bare babling

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />Beklager, men du må logge inn for å vise dette vedlegget

 
Hei Superhet,
Jeg prøvde å syntetisere ur design på ISE7.1 og ved min side syntesen er fin.Det gir også hyppigheten av CLK, clk2, baud_clk.Verktøyet forutsetter 2 Global klokkene ut av 4.Jeg kan gi syntese resultater hvis u ønske.Jeg har ikke utført noen simulering.Du prøver å installere alle oppdateringene.I tillegg kan u bytte til ISE7.1, som web-utgaven kan donloaded fra Xilinx nettsted.

 
Jeg har Xilinx ISE 6.2.01i og jeg får samme resultat som du har.Jeg har også gjort gjennomføringen, sted og ruten og genererte programmeringen filen.bortsett fra jeg dont vil clk2 å bli drevet av en ekstern klokke.jeg vil den skal være drevet av CLK.for at jeg ville trenge en klokke som deler, og jeg trenger det i Verilog.

ill ventet på svar

 
feel_on_on hvis du bare blar noen innlegg ovenfor, vil du finne beskrivelse og koden til prosjektet mitt.

 
clocks generert av indre logikk tellere er ikke akseptabelt i PLD's kan u omgå dette, men det er bruk, vil være svært begrenset thats fordi hver hvis utsagn som for eksempel:
if (generated_clk'event og generated_clk = '1 ')

skal tolke "generated_clk" å være en inngang global klokke pin.

så her er noen poeng å sette i tankene når du utvikler interne styring klokker

1-de vil bli satt bare alene i prosesser senstivity listen.
2-siden de vil bli plassert alene u kan bruke nivået endre på klokken for å synkronisere systemet siden prosesser som starter når en endring av nivå skje.her er hvordan du genererer til 400Hz klokke:

den 25MH klokke har en klokke syklus av 40ns, og 400Hz har en klokke syklus
2500000ns, betyr at hver syklus i 400Hz klokke inneholder
2500000ns/40ns = 62500 syklus av 25MH, slik at u ville lage en teller til 16 bits
som har et maksimalt antall 65536 teller, og foreta en prosess øke
counter henhold til 25MH klokken og sjekker om den nådde 62500 teller eller ikke om det gjorde det slår signalet representerer 400Hz hvis det ikke
opphold som det er,

lykke til.

MERK: Det er DLL blokker i SPARTAN 2 som gir OGSÅ FREKVENS DIVIDER men de er ARBEID LIMITID OG WONT IN UR CASE, prøv å se på dem senere.

 
kanne u si meg diffrence mellom sperren $ flip flop? ...

 
Ja, en flip flop er kanten utløst mens en låsen utløses på nivå og ikke på kanten (stigende eller fallende)http://www.allaboutcircuits.com/vol_6/chpt_7/5.html

 
superhet skrev:

i dont vil clk2 å bli drevet av en ekstern klokke.
jeg vil den skal være drevet av CLK.
for at jeg ville trenge en klokke som deler, og jeg trenger det i Verilog.ill ventet på svar
 
Her er en annen måte.Jeg unngår bruk tilbakestille det er mulig.Dette fungerer i Modelsim og XST.Dette kan forenkles hvis du ikke bryr deg om 50% duty cycle.

Code:

modul topp (clk, clkout);

parameter divider = 25000000 / 400 / / må være et likt antall

input clk;

reg [15:0] count = 0;

output reg clkout = 0;alltid @ (posedge clk) begin

count <= count == (divider / 2 - 1)?
0: count 1;

clkout <= clkout (count == 0);

slutt

endmodule
 
først av alt, echo47, modelsim gir meg en feil at det venter ',' nær "=".men allikevel det var det enkleste koden jeg så i løpet av denne jakten etter de beste klokken dele kode.

SPARC fungerer klokken divider purrrrfect!

jeg har koblet den Verilog koder for både modelsim simulering og Xilinx og en liten presentasjon av prosjektet.Jeg håper dere liker det.og kan du gi dine kommentarer
Beklager, men du må logge inn for å vise dette vedlegget

 
Modelsim feil?Hmmm - Jeg har brukt denne funksjonen i årevis.Det kan ikke være lovlig Verilog, men det sikkert er en fin forlengelse levert av Modelsim og XST.Jeg kjører Modelsim SE 6.0d og ISE 6.3i og ISE 7.1i.

 
im benytter ModelSim 5.4A

men jeg har sett denne praksisen i boken «Verilog HDL-Guide to Digital Design & Synthesis".Jeg liker det på denne måten også, men kanskje det fordi jeg bruker en eldre versjon av modelsim, jeg bli det feil.

 

Welcome to EDABoard.com

Sponsor

Back
Top