Hodiny Vykonávanie Verilog

A

abdullahkhan5

Guest
Robím projekt, v ktorom pomocou IM vždy blok, v ktorom im pomocou Vždy @ (posedge hodiny), takže ak mám čas, pretože vykonanie tohto budem sa musieť syntetizovať tento kód a vložte ho na FPGA, xc2s200 doska, neviem jeho frekvencia kryštálu jeden. Tiež som potrebné vytvoriť ďalšie prepážky, ktorá sa bude počítať každý druhý, a potom som potrebné, aby sa niektoré testy založené na každú sekundu. Ak niekto môže poskytnúť ukážkový kód a potrebujem na implementáciu tohto modulu, som, že hodiny kód pre podnet, ale aj potrebné realizovať vo svojom kóde ... Vďaka vopred
 
FPGA máte vstavané hodiny zdrojov. Musíte priniesť hodiny na externý pin. Môžete deklarovať to ako prístav PIN v najvyššiu úroveň dizajnu a spustite ho prostredníctvom globálnych hodín vyrovnávacej pamäte. Sieť po vyrovnávacej pamäte by byť označený ako "hodiny" a potom syntezátor preberá od tam. Vstupná frekvencia je závislá na hodiny zdroj pripojený k FPGA. Niektorí FPGA majú vnútorné PLL, dll, alebo DCMS ktoré umožňujú rozsah tejto vstupnej frekvencie smerom nahor alebo nadol v určitých medziach.
 
Ktorá doska máte? Komerčné rada pravdepodobne obsahuje kryštálový oscilátor s frekvenciou v rámčeku hore. Budete tiež musieť vedieť, ktoré FPGA pin pripojí sa na oscilátor. Pozrite sa na doske v užívateľskej príručke. Xc2s200 je Xilinx Spartan-2. Obsahuje niekoľko knižníc DLL, ako je popísané banjo. Tu je jednoduchý modul, vstup 50 MHz, delí sa o 50 miliónov a výstupy jeden impulz za sekundu. Dalo by sa použiť impulz na ovládanie ďalších akcií. To syntetizuje ľahko Xilinx XST (súčasť ISE). XST uznáva hodín Verilog vstup a automaticky vloží potrebné globálne hodiny vyrovnávacej pamäte pre vás.
Code:
 modul hornej (CLK, onehertz), vstup CLK / / syntéza atribútu OBDOBIE CLK "50 MHz" reg [25:0] count = 0; výstup reg onehertz = 0, / / jeden impulz za sekundu Vždy @ (posedge CLK) začať onehertz
 
Vďaka banjo ... som si to, čo ur snaží povedať .... a vďaka echo47 kód bol veľmi nápomocný Naozaj si toho vážim
 
kód funguje, ale ja písal podnet a zmene hodnoty 50 MHz až 2 tak, že po každé dve hodiny okraje je generovaná sec, a týmto spôsobom vytvára im 10 sekúnd. ale problém je, že sa tak potom, čo mnoho viac času ako 20 hrán im, že to bude. Čo je príčinou? Prosím, dajte mi ur email, tak som si u e-mailu kód
 
"50 MHz", v riadku 2 nemá vplyv na počítanie správanie. Je Xilinx ISE syntézu načasovanie obmedzenia, ktoré hovorí, syntetizátoru smerovať design tak to funguje spoľahlivo až 50 MHz. Mali by ste túto hodnotu zmeniť na vaše vstupné frekvenciu hodín. (Toto obmedzenie je zbytočné, pokiaľ ste už uvedené inde v projekte ISE). "50000000", v riadku 7 riadi počítanie správania. Mali by ste túto hodnotu zmeniť v závislosti na požadovanej frekvencii deliacej pomer. Napríklad, ak vaša hodiny 2 MHz a požadovanej výstupnej frekvencie 20 Hz, potom by ste mali zmeniť 50000000 na 2000000/20 (alebo 100000). Bolo by tiež vhodné zmeniť bit šírku "počet" Registrácia zodpovedajúcim spôsobom. Nerozumiem vašej vete o dve hodiny hrany, 10 sekúnd a 20 hodín hrany. Prepáčte. Ak potrebujete pomoc s kódom, je lepšie nahrať tu (snáď ako komprimované prílohy), namiesto e-mailu, aby ostatní ľudia môžu pomôcť aj vám.
 

Welcome to EDABoard.com

Sponsor

Back
Top