Má použitie v balení VHDL (Xilinx) znížiť používanie brány?

X

xtcx

Guest
Ahoj všetci, mám program, ktorý trvá oveľa vráta 400K brán Spartan 3. Obmedzenie pomer je teraz 103%. Použil som rozsah celých čísel a hodil ju na nejaký 82%. Ale ja som v núdzi znižovanie oveľa viac pre doplnenie niektorých komponentov. Mám veľa nadbytočných závierky za LCD char, I2C. Takže keď použijem balíčky pre LCD obrazovky, takže to môžem poslať hodnoty, keď som napríklad, že funkcie tak by som mohol znížiť zamestnanie Gates? ... Jednoducho povedané, ak hovorím, že balíček pre napr lcd_char (lcd_data (1 ), RS, SK), lcd_char (lcd_data (2), RS, SK), rovnako tak za zhruba 10 krát poslať zobraziť 10 znakov, bude konzumovať asi 10x veľkosť balenia (gate )?.... Keď hovorím, že pakages niekoľkokrát, to, že používajú viac brány? ... Prosím, pomôžte ... tiež sa deklarovať viacerých poliach konzumujú viac Gates?. Nie je nejaký iný spôsob, ako znížiť spotrebu bráne?. možno som použiť viac if-else. Vďaka vopred
 
žiadne spojenie. kódu je probebly nie je efektívna dostatok, alebo syntetizátoru je zlá.
 
No spojenie?.
Vďaka, ale čo tým chcete povedať? ... Balenie prispieť k zníženiu brány, alebo nie je v žiadnom prípade?. Ak nie, potom som si vymyslieť nejaký iný spôsob kódovania. Ak máte. Ešte raz vďaka
 
Nie ste volanie balíčky ste len volanie funkcie definované v balíčku znižovaní pole určite znižuje využitie brán len snaží, aby váš kód efektívnejšie ... ako je syntetizovaný každú časť kódu a použiť ďalšie príkazy, ktoré používajú menej priestoru, musíte vedieť, čo každého z nich bude syntetizovať, aby skôr, ako napísať kód, ktorý stačí mať predstavu, ako to napísať efektívnejšie od začiatku, že je všetko:)
 
Dobrý deň,
lcd_char (lcd_data (1), RS, SK), lcd_char (lcd_data (2), RS, SK)
Zaujímalo by ma, ako previesť, že poradie na synthesisable HDL kódu. Je jasné, že musíte vykonať dva výstupné operácie v poradí, každá z nich trvá niekoľko taktov (vlastne Mnoho hodinových cyklov, príčina displej rozhranie je pomalý v porovnaní s hodinami FPGA). V synthesisable kód, ani oneskorenie uzávierky, ani hodiny synchrónne procesy vo funkcii. To môže byť vykonané len nejaký sekvencer alebo stavu stroja. Ak áno, môžete napr vyrovnávacej pamäte všetkých výstupných príkazov v FIFO a aby sekvenceru zapísať na displej, počúvať vhodné načasovanie. Druhou možnosťou je využitie procesorového jadra pri návrhu a poveriť ho vykonať zobrazenie I / O. Okrem toho by organizácie funguje v balíčku nič nemení na zdroj počítať, ak je kód funkčný ekvivalent. S pozdravom, Frank
 
lcd_char (lcd_data (1), RS, SK), lcd_char (lcd_data (2), RS, SK). Zaujímalo by ma, ako previesť, že poradie na synthesisable HDL kódu
Tie sú definované ako postupy balíčkov. . Napríklad. Som ju definovať tento proces (clk_lcd) začať ak rising_edge (clk_lcd), potom CNT lcd_char (lcd_init, RS, SK, flag_set), - (= lcd_int initalizing dátových bitov) if (flag_set = '1 '), potom CNT
 
Dobrý deň, vidím, že používate sekvencer v procese, malo by to byť OK, ale celkovo stále nechápem, celkovej štruktúre vášho návrhu, ako by kód ukazuje byť použitý v konaní a ak si ich od clk_lcd?
Podprogram vždy kombinačný obvod V hardware Podmienky, podprogram volanie je podobné ako modul konkretizáciu, okrem toho, že volanie podprogramu sa stáva súčasťou bežného obvodu. Modul inštancie dodáva úrovne hierarchie k designu. Syntetizoval podprogram je vždy kombinačný obvod. (Použite procesu vytvárania sekvenčných obvodov.) Z Synopsa VHDL referenčná príručka
Na rozdiel od otázky, ako VHDL kompilátor dovolí postaviť, musí existovať spôsob, ako naplánovať LCD prístupov postupne. Môjho názoru, nie je možné v synthesisable VHDL týmto spôsobom, to by mohla pracovať v simulácii (obvykle s meškanie pokynov v konaní alebo funkciu). S pozdravom, Frank
 
Ako by sa ukázali byť použitý kód v konaní a ak si ich od clk_lcd?
Súhlasím s vami. Je mi ľúto, že som nespomenul jasne. To nebolo balíček VHDL. Bolo modulu VHDL. Nezmienil som sa o balíček, ktorý here.The funkciu voláte v rámci hodín bude pracovať iba s resp na to. Ako vidíte, nie je to syntetizovatelné vo VHDL týmto spôsobom. Vnútri procesu, ja používam clk_lcd ktorý je považovaný za zdroj hodín pre všetky príkazy, ktoré mi sú pod rising_edge. Takže funkcia "lcd_char" a "lcd_init" sa používa v týchto hodinách bude fungovať na tejto frekvencii len ...
 
Odpoveď na vašu otázku znie: nie. Nie, ak použitie tohto predifined jadra od jadra generátora, budete mať lepšie využitie zdrojov potom, ak ste napísali kód sami. E
 
[Quote = nxtech] odpoveď na vašu otázku znie: nie. Nie, ak použitie tohto predifined jadra od jadra generátora, budete mať lepšie využitie zdrojov potom, ak ste napísali kód sami. E [/quote] Súhlasím s tým, keď .. Ale ja vždy zaujímalo, prečo je to efektívnejšie, ako tá naša ..... Aj kódy generované z generátora Xilinx systémový nástroj pre Simulink MATLAB pod zdá byť efektívnejšie využitie prostriedkov v bráne ..
 
Jej účinnejšie, pretože napísať kód so špecifickými logiku a place and route požiadavky, ktoré budú použité. Jeho, ako by boli ručne mapovanie kódu. Ak ste oboznámení s kódovaním assembleri pre mikrokontroléry, potom by ste mali pochopiť. Môžeme to urobiť sami, ale je to časovo náročné. E
 

Welcome to EDABoard.com

Sponsor

Back
Top