obsluha pameti - VHDL
Milan
milger na pobox.sk
Čtvrtek Červen 16 08:34:52 CEST 2011
ad2 je realizovatelne napr. tak, ze kriticke signaly na SRAM /napr.WR/ budu
riesene v samostatnom procese a vy si vyberiete ci budu synchronizovane
nabeznou alebo dobeznou hranou hodin a ziskate moznost signal definovanym
sposobom posunut. Ale pozor oneskorenie routovania kombinacnej logiky daneho
signalu /to akoze to z coho je ten WR vytvarany napr. CNT="00"/ musi byt
mensie ako 1/2 pouzitych hodin /ked teda pouzijem inu hranu hodin nez ma
CNT/. U synchronneho navrhu na rovnakych hodinach mate toho casu na
oneskorenie 2x viac. Este treba povedat, ze je to pomerne jednoduche, pokial
samotne klopaky maju moznost pouzit negovane hodiny /netusim ci aj 95144/,
ak nie, musite to riesit vy a je tam dalsi problem ktory este znizuje
dovolene oneskorenie t.j. 2ks hodin navzajom posunutych + jitter. Bohuzial
95144 nema moznost ich nafazovat ako FPGA.
ad3 nerozumiem, chcelo by to priklad, pozrieme a poradime ak budeme
vediet...Myslene to bolo tak, aby vsetky dolezite riadiace signaly na SRAM
/WR, CE.../ boli generovane v procesoch synchronizovanych rovnako /rovnakou
hranou rovnakych hodin/. A aby sa podla moznosti vyuzil klopak v IO bunke
/ak ho 95144 ma, to neviem/, lebo jeho oneskorenie signalu na pin je
minimalne.
--otazka tedy na zkusene ohledne 95144 je, jde udelat process
synchronizovany
na obe hrany stejnych hodin? nebo mam udelat propojku na dalsi pin a pouzit
jako dalsi hodiny? (piny zatim jsou)
No to netusim ale skuste miesto:
if EXCLK'Event and EXCLK='0' then
napisat:
if EXCLK'Event then
a budete poznat odpoved. Pre 2ks hodin sa zopakujem "je tam dalsi problem
ktory este znizuje dovolene oneskorenie t.j. 2ks hodin navzajom posunutych +
jitter. Bohuzial 95144 nema moznost ich nafazovat ako FPGA."
Mozno najjednoduchsia cesta pre Vas su 2x vacsie vstupne hodiny a kompletne
synchronny navrh. Samozrejme na routovanie kombinacnej logiky zostane 1/2
casu...
Je vidiet ze rady typu "bolo treba pouzit FPGA" maju svoje opodstatnenie ale
treba vychadzat z toho ze DPS ma osadene CPLD.
Aspon je tu utecha ze take pouzitie "ad1" je u CPLD o trochu menej
problematicke...
Milan
----- Original Message -----
From: <hw na itherm.cz>
To: "HW-news" <hw-list na list.hw.cz>
Sent: Wednesday, June 15, 2011 8:35 PM
Subject: Re: obsluha pameti - VHDL
Moc diky za rozbor a vas cas
potvrdil jste mi vice mene to s cim jsem na zacatku pocital.
36x2 (u me je aktualne 40x2) takze design je na hrane.
ad 1. tato varianta je vice mene ted. pri pohledu na VHDL je tam neco co by
nemelo chodit, ale diky zpozdeni uvnitr CPLD to funguje (WE je aktivni v 0,
ale ja jej mam v 1) to ze to chodi jsem vice mene vymeril a vypozoroval. ale
krajne se mi to nelibi.
ad 2. tady je vec kterou bohuzel neumim, kdyz to napisu na obe hrany hodin,
tak dostavam ruzne chyby a nevim jestli je to vec ISE, 95144, nebo meho
zapisu. ale presne chapu co myslite (tedy doufam) - udelat druhy proces
ktery bude delat synchroni rizeni te SRAM a ziskat tak krok 12,5Mhz,
pripadne
ad 3. tady opet konci me schopnosti ve VHDL, kdyz to nadefinuji v ramci
procesu tak dostanu chybu ohledne synchorniho designu od ISE :-(
otazka tedy na zkusene ohledne 95144 je, jde udelat process synchronizovany
na obe hrany stejnych hodin? nebo mam udelat propojku na dalsi pin a pouzit
jako dalsi hodiny? (piny zatim jsou)
Pavel
----- Original Message -----
From: "Milan" <milger na pobox.sk>
To: "HW-news" <hw-list na list.hw.cz>
Sent: Wednesday, June 15, 2011 1:43 PM
Subject: Re: obsluha pameti - VHDL
Takze takto ,
Teoreticke zadanie a rozbor:
idete na hodinach 50MHz, tocite to na 2b.citaci takze to opakujete12.5MHz
potrebujete 36*2MHz, takze na2b.citaci to pojde 18MHz
10ns SRAM potrebujete min. (15ns+prechodove javy na datovej zbernici)*2 coz
mi realne vychadza 40ns, t.j 4 operacie za 40ns
Teoreticky zaver:
Je to realizovatelne! Otazka je, ci na danom HW? Nepozname cely navrh...
Teoreticke rady:
1/ Ak je potrebne vyposuvat oneskorenia, u CPLD sa to da aj asynchronne.
Napr. vystupny signal pretiahnete cez hradlo s log. funkciou ktora nic
nemeni iba vnasa oneskorenie, tak aby to syntetizator nedokazal
optimalizovat /napr. OR so vstupnym signalom v L/. Ale je to narocny sposob
a vysledok sa bude po kazdom preroutovani menit.
2/ Pracujete na 25ns hodinach, lepsie bude byt co najrychlejsi /2x 4x
rychlejsi/ a jednotlive signaly nacasovat presnejsie /2x 4x.../. Nemusite
hned prekladat oscilator, mozno bude stacit pracovat s oboma hranami hodin a
budete 2x presnejsi /i ked neviem ci to CPLD 95144 umoznuje/. Ono je rozdiel
nieco nastavovat s krokom 25ns alebo 12.5ns...
3/ Vsetky signaly na SRAM riesit synchronne. Priamy vystup z klopneho obvodu
/neviem ako CPLD 95144 ,ale su obvody ktore maju rychly klopak priamo v IO
bunke/. Tohto by som sa vyvaroval /okrem bodu1/ :
-- iRAM_WR <= not vgaCTCH(0);
-- RAM_OE <= not iRAM_WR;
Teoreticky dodatok:
Nemyslim ze sa tu najde niekto kto to lepsie napise a odladi miesto Vas. Ale
su tu ludia co Vas aspon nasmeruju....
Milan
----- Original Message -----
From: <hw na itherm.cz>
To: "HW-news" <hw-list na list.hw.cz>
Sent: Wednesday, June 15, 2011 12:00 PM
Subject: Re: obsluha pameti - VHDL
rozumite tomu dobre a jak rikam na 640x480 pixel clock 25MHz to beha
otazka zni, jit do rychlejsi SRAMky, nebo by sla ta obsluha udelat nejak
chytrej? (myslim postup pri prevodu vektoru na rastry)
druha mozna zasadnejsi jak korektne pristupovat k tech signalum pro SRAM,
tzn jak to mam se mi to vubec nelibi, ale neumim to lip napsat :-(
Pavel
----- Original Message -----
From: Milan
To: HW-news
Sent: Wednesday, June 15, 2011 11:42 AM
Subject: Re: obsluha pameti - VHDL
Ak je ta SRAM 10ns, tak na dane operacie potrebujete min. (15ns+prechodove
javy na datovej zbernici)*2 coz mi realne vychadza 40ns > 36MHz???
Ale mozno niecomu nerozumiem a mozem sa aj mylit...
Milan
----- Original Message -----
From: Milan
To: HW-news
Sent: Wednesday, June 15, 2011 11:27 AM
Subject: Re: obsluha pameti - VHDL
Nie celkom rozumiem, 4 operacie /4cykly/ s SRAM rychlostou 36MHz? Aka je ta
SRAM rychla?
Mozno by bol dobry zdrojak...
Milan
----- Original Message -----
From: hw na itherm.cz
To: Hw-list na list.hw.cz
Sent: Wednesday, June 15, 2011 10:45 AM
Subject: obsluha pameti - VHDL
kdyz je tady takovy klid, tak mi snad nekdo pomuze pri boji s CPLD, VHDL,
SRAMkou.
resim zarizeni ktere prevadi vektorovy obraz na klasicky VGA. (vstupem je
X,Y, jas, vystup VGA)
v zarizeni je CPLD 95144, ram AS7C34098A, rychle AD prevodniky., oscilator
na 50MHz pripadne 80MHz
podarilo se mi nejak odladit zdrojak pro generovani 640x480 pri 60Hz
chtel bych se ale presunout na 800x600 pri 56Hz
to co mi nejde je jak ciste vyresit rizeni te SRAM aby se vse stihalo a
stihala to i SRAM
delaji se totiz 2x2 veci:
- cte se z ram pro VGA
- maze se snimek kam se bude priste kreslit (tyto dve operace se dalaji na
stejne adrese, jen v hornich/dolnich 8 bitech)
- cte se obsah na adrese podle AD
- zapisuje se podle AD (cteni je nutne z duvodu toho ze pro pixel se pouziva
vzdy jen polovina byte)
640x480 ma pixelclock 25MHz, 800x600 ma uz pixelclock 36MHz
neporadi nekdo jak obsluhovat tu SRAM? zdrojak ve VHDL muzu klidne prilozit
Pavel
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list