Spartan3 blockRAM kerdes

hoyuka hoyuka at c2.hu
Mon Feb 13 12:17:22 CET 2006


Hali,

Ok, akkor a FPGA-s platform fuggetlenseg ugyben kiterek a szorzora:
Ha en Verilog-ban leirok egy szorzast, pl:

assign res=a*b;

akkor, ha jol tudom a szintezis/implementacio fel fogja hasznalni azon
szorzok egyiket, amik hardveresen implementalva vannak az FPGA-ban, nem
fogja az altalanos logikat hasznalni erre.

Ha ezt a szorzoval meg lehet csinalni, akkor RAM-al miert nem?

blockRAM:

Aszinkron kiolvasasu RAM-ot szerettem volna, akkor ezek szerint a blockRAM
nem jo erre.
Egyebkent Spartan3 FPGA-ban CPU cache-t hogyan szoktak megvalositani?
Hasznalnak erre blockRAM-ot?

udv.
hoyuka

Zoltán Radó said:
> Nem fogja block rammal megcsinálni. Nem csinálhatja, hiszen te azt
> mondtad neki, hogy ez egy regiszter tömb. Tehát megcsinálja
> regiszterekkel. Ahhoz, hogy block ramot használjon, ahhoz a
> Beregnyei Balázs által már megírt megoldást kell követni.
>
> Nem tudom, hogy a verilogban a <= vagy a = vonatkozik regiszterre, de
> csak az fog mûködni. A másiknak nincs értelme. (nagyon speciális
> kivételtõl eltekintve, de nem hinném, hogy bárki használná)
>
> A distributed ram végülis egyszerûsítve egy D regisztermezõ, amelynek
> a kimeneteit muxon keresztül kiválasztod, a címzésnek megfelelõen.
> Tehát a kiolvasás aszinkron. Magyarul a kiolvasás órajel nélkül is
> lehetséges, csak vigyázni kell a hazardokra...
>
> A Block ramnál az órajel hatására íródik be a címzés. Ezután jelenik
> majd meg az adat a kimeneten az adatlapnak megfelelõen. (3-4-5 ns
> általában ha jól emlékszem)
>
>
>
>
> megírhatsz programból egy soros portot alacsony szinten lábakat
> rángatva vagy használhatod a proci mellé integrált soros port
> kontrollert is. Az elsõ esetben sem csinálja meg a fordító, hogy
> autómatikusan használatba veszi az integrált kontrollert. Ez FPGA-nál
> sincs másképp.
>
> Erre utaltam a linux esetében is. Ott úgy hívják a megoldást, driver,
> amit az adott eszközhöz be kell fordítani a programba (vagy betölteni,
> de a párhuzam miatt ezzel ne foglalkozzunk).
>
> Tehát -én legalábbis- platformfüggetlenség alatt azt értem, hogy a
> speciális perifériák kivételével lefordítható a kód változtatás
> nélkül. A block ram speciális perifériának számit. Ez egy olyan dolog,
> amit el kell fogadni.
>
> Zoli
>
>
>
>> Hali!
>
>> Koszi a leveledet, igazandibol dataArray[addr]=iData; helyett
>> dataArray[addr]<=iData; -t szerettem volna irni, csak elneztem. Lehet,
>> hogyha megcsinalom ezt a modositast, akkor blockRAM-al fogja a fordito
>> megvalositani.
>
>> Platformfuggetlenseg:
>> Azert ilyen bizonyos keretek kozott van.
>> Pl. a gcc leforditja ugyanazt a kodot PowerPC-re es AMD Athlon-ra is,
>> ugy,
>> hogy figyel az adott target architekturalis sajatossagaira.
>
>> udv.
>> hoyuka
>
>
>
>
> -----------------------------------
>  Szponzorunk: http://tonerbolt.hu/
>


-- 
http://hoyuka.myip.hu
-------------------------------------
Tele van a postaládája?  C2MAIL 100 MB e-mail tárhely ingyen! 
http://mail.c2.hu




More information about the Elektro mailing list