Video RAM: čtení a psaní?

J

J90

Guest
Ahoj,

Jsem navrhování VGA generátoru signálu.Jsem skutečně přilepená do designu RAM interface.RAM by měla obsahovat údaje, které musí být kladen na obrazovce generátoru signálu.

Signální generátor vyžaduje (měl by to?) Trvalý přístup k paměti RAM, to proto, že obrazovka je neustále obnovován.V důsledku toho adresovou sběrnici této ram je neustále poháněn generátoru signálu.
Takže, pokud moje složka neustále přístup k paměti RAM, vedení adresovou sběrnici obsazeno, jak je má zapisovat data do RAM, že?Hledáte na internetu snaží najít nějaké příklady mám toto:

Kód:

subjektu vga80x40 je

port (

......

TEXT_A: z std_logic_vector (11 downto 0); - text buffer

TEXT_D: v std_logic_vector (07 downto 0);

......

);

konec vga80x40;
 
Má váš systém funguje tímto způsobem?
Signální generátor průběžně zapisuje data do RAM.And zároveň jsou data čtena z RAM do zobrazení na VGA.Is to, co chcete?
Pokud je toto váš požadavek, pak stačí použít duální port RAM.You můžete psát a číst RAM na jiné adrese, a zároveň pomocí dual port RAM.If používáte Xilinx FPGA pak hlavní generátor mít IP jádra k dispozici RAM .

- Vipin
http://vhdlguru.blogspot.com/

 
Ano vipinlal, to je ono!

Ale co když jednou budu potřebovat větší prostor a rozhodnete se přejít na externí DDR RAM?Existuje nějaký způsob, jak získat stejné chování od takové RAM?Nebo bych měl hledat nějaké jiné zvláštní RAM?

Děkuji

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Úsměv" border="0" />
 
Vám by pak třeba spustit RAM na vhodné taktovací frekvence.budete muset být schopni buffer malé bloky dat na FPGA, pak proveďte přístupů do paměti na DDR.

Budete muset naplánovat přístupů do paměti tak, že kombinovaná čtení / zápis pásma bylo možné.SRAM by být tak velké, že údaje by mohly být dostatečně chráněný, aby vzala v úvahu nejhorší doba obrátky, a měla být pravděpodobně alespoň 1k prvky velké.To je proto, že DDR zapotřebí značné výkonu trestu při psaní a čtení různých řádky ve stejné bance.

 
Vzhledem k tomu musíte psát 80 * 40 pixelů na jedné obrazovce, neznamená, že musíte k ukládání všech z nich v paměti na jediném time.What můžete udělat, je uložit do obchodu 2 řady pixels.This bude trvat jen 2 * 40 bytů paměti.
Nyní napište pixelů (první řádek) v prvním řádku na začátku a pak psát 2. řádek pixelů ve druhém row.Once první řadě je kompletně napsán, můžete začít číst od it.By spuštění čtení 2. řádek, 3. řádek z generátoru signálu může být napsán v první řadě.

Takže, první řada jde do prvního řádku v paměti.
2. řádek jde do druhého řádku v paměti.
3. řadu chodí do první řady v paměti.
4. jde do druhého.
a 5. chodí do první a tak dále ...

Přečtěte si paměti pomocí demultiplexer.
1. řada je přečíst na první time.Then 2. řádek je read.Then první řadě je přečíst again.Then opět druhý řádek.

Tím se sníží množství paměti, které potřebujete, a nebudete potřebovat extra DDR memory.I doufám didnt zmást moc.

- Vipin
http://vhdlguru.blogspot.com/

 
Díky vám oběma za vaše rady, jsou to cenné

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Úsměv" border="0" />obměňovat, vnitřní buffer myšlenka zní prostě dobře.

vipinlal Nemyslím si, že jsem to 100% rovné.Pro to, co jsem pochopil, říkáte používat dvojí ukládání do vyrovnávací paměti Technika k dosažení souběžné čtení a psaní.K dosažení tohoto potřeboval bych se dostat 2 samostatné DDR RAM čipy, by ne?

 

Welcome to EDABoard.com

Sponsor

Back
Top