RAM és ROM Mind RAM, mind ROM beépíthető ASIC vagy FPGA/EPLD tervbe Mind RAM, mind ROM beépíthető ASIC vagy FPGA/EPLD tervbe A következőkben a szükséges.

Slides:



Advertisements
Hasonló előadás
Az integrált áramkörök (IC-k) tervezése
Advertisements

Szerkezeti leírás Összetevők és beültetésük Összetevők és beültetésük Általános kiosztás (generic map) Általános kiosztás (generic map) Generate parancs.
FelültöltésVHDL Felültöltés (Overloading) n Áttekintés n Példák.
Tervezési példák és ötletek Összeadók Összeadók Vektor szorzás Vektor szorzás Erőforrás megosztás Erőforrás megosztás Összehasonlítók (comparators) Összehasonlítók.
Típusváltás (Type Conversion) n Áttekintés n Példák.
Digitális rendszerek II.
Szimmetriák szerepe a szilárdtestfizikában
Kauzális modellek Randall Munroe.
A TUDOMÁNYOS KUTATÁS MÓDSZERTANA
2.1Jelátalakítás - kódolás
Az úttervezési előírások változásai
Profitmaximalizálás  = TR – TC
A járműfenntartás valószínűségi alapjai
Végeselemes modellezés matematikai alapjai
A magas baleseti kockázatú útszakaszok rangsorolása
Szerkezetek Dinamikája
BMEGEENATMH Hőátadás.
VÁLLALATI Pénzügyek 2 – MM
Hőtan BMEGEENATMH 4. Gázkörfolyamatok.
Szerkezetek Dinamikája
Összeállította: Polák József
A TUDOMÁNYOS KUTATÁS MÓDSZERTANA
Melanóma Hakkel Tamás PPKE-ITK
Az új közbeszerzési szabályozás – jó és rossz gyakorlatok
Boros Sándor, Batta Gyula
Kalandozások az álomkutatás területén
TANKERÜLETI (JÁRÁSI) SZAKÉRTŐI BIZOTTSÁG
Járványügyi teendők meningococcus betegség esetén
Poszt transzlációs módosulások
Vitaminok.
A sebész fő ellensége: a vérzés
Pharmanex ® Bone Formula
Data Mining Machine Learning a gyakorlatban - eszközök és technikák
MOSZKVA ZENE: KALINKA –HELMUT LOTTI AUTOMATA.
Bőrimpedancia A bőr fajlagos ellenállásának és kapacitásának meghatározása Impedancia (Z): Ohmos ellenállást, frekvenciafüggő elemeket (kondenzátort, tekercset)
Végeselemes modellezés matematikai alapjai
Összefoglalás.
Az energiarendszerek jellemzői, hatékonysága
Outlier detektálás nagyméretű adathalmazokon
További MapReduce szemelvények: gráfproblémák
Ráhagyások, Mérés, adatgyűjtés
Járműcsarnokok technológiai méretezése
Grafikai művészet Victor Vasarely Maurits Cornelis Escher.
VÁLLALATI PÉNZÜGYEK I. Dr. Tóth Tamás.
RÉSZEKRE BONTOTT SOKASÁG VIZSGÁLATA
Konferencia A BIZTONSÁGOS ISKOLÁÉRT Jó kezdeményezések
Vizuális adatanalízis
VÁLLALATI FINANSZÍROZÁSI FORRÁSOK
Érzékelők és beavatkozók Széchenyi István Egyetem
Grosz Imre docens: Munkaállomások
Eötvös Loránd Tudományegyetem Meteorológiai Tanszék
Hogyan működik a társadalom?
Egyéb furcsa esetek.
8. Szabály: A játék kezdete és újraindítása
Készítette: Géczi József
Adatbázisok 5. előadás Tikk Domonkos.
Stabilizotóp-geokémia IV
MINTAVÉTEL, LEÍRÓ STATISZTIKA
ELTE IK tavaszi félév Valasek Gábor
Kelényi Imre HWSW Free! – WWDC 2017 Kelényi Imre
Agrár-környezetgazdálkodás
T:Puhatestűek Mollusca
1 A víz világnapja 1 H2O.
Joghatóság alóli mentesség
Adatbázisok 8. előadás Tikk Domonkos.
Egyenletes mozgás.
proton (+) és elektron (-)
Energia(termelés) és környezet BMEGEENAEK7 és BMEGEENAKM1
Végeselemes modellezés matematikai alapjai
9. Üstököskutatás Németh Zoltán
Előadás másolata:

RAM és ROM Mind RAM, mind ROM beépíthető ASIC vagy FPGA/EPLD tervbe Mind RAM, mind ROM beépíthető ASIC vagy FPGA/EPLD tervbe A következőkben a szükséges VHDL leírás megtervezéséről lesz szó A következőkben a szükséges VHDL leírás megtervezéséről lesz szó Két mód van ROM meghatározására a VHDL-ben: Két mód van ROM meghatározására a VHDL-ben:  Tömb állandó használata  Technológiára jellemző ROM beültetése

ROM meghatározása tömb állandóval I. Ezzel a módszerrel a ROM meghatározása akkor terület-hatékony, ha a ROM viszonylag kicsi Ezzel a módszerrel a ROM meghatározása akkor terület-hatékony, ha a ROM viszonylag kicsi Ha a ROM nagy, akkor a terület alapköltsége sokkal nagyobb, mint egy technológiára jellemző ROM beültetésénél Ha a ROM nagy, akkor a terület alapköltsége sokkal nagyobb, mint egy technológiára jellemző ROM beültetésénél A tömb állandóval való ROM bejelentést érdemes a csomagba helyezni, mert így újrafelhasználhatóvá válik A tömb állandóval való ROM bejelentést érdemes a csomagba helyezni, mert így újrafelhasználhatóvá válik Példa egy 4x8 bites ROM-ra: Példa egy 4x8 bites ROM-ra: Library ieee; use ieee.std_logic_1164.ALL; Package rom is constant rom_width:integer:=8; constant rom_length:integer:=4; constant rom_width:integer:=8; constant rom_length:integer:=4; subtype rom_word is std_logic_vector (rom_width-1 downto 0); subtype rom_word is std_logic_vector (rom_width-1 downto 0); type rom_table is array (0 to rom_length-1) of rom_word; type rom_table is array (0 to rom_length-1) of rom_word; constant rom: rom_table:= rom_table’(“ ”, “ ”, constant rom: rom_table:= rom_table’(“ ”, “ ”, “ “,” ”); “ “,” ”); end;

ROM meghatározása tömb állandóval II. Az előbb meghatározott ROM alkalmazása: Az előbb meghatározott ROM alkalmazása: Library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use work.rom.all; Entity romcir is port(addr:in std_logic_vector(1 downto 0); q:out rom_word); port(addr:in std_logic_vector(1 downto 0); q:out rom_word);end; Architecture dtf of romcir is begin q<=rom(conv_integer(addr));-- Adatot olvas a ROM tömb addr nevű címéről q<=rom(conv_integer(addr));-- Adatot olvas a ROM tömb addr nevű címéről end;

ROM meghatározása tömb állandóval III. A szintézis során kombinációs logikai hálózattal fog létrejönni a ROM, mivel a felhasznált ROM mező címét előzetesen nem lehet kiszámítani. A szintézis során kombinációs logikai hálózattal fog létrejönni a ROM, mivel a felhasznált ROM mező címét előzetesen nem lehet kiszámítani. Ha a cím számítható, akkor az előző példabeli kimeneti q jel állandó, így a szintézis során nem kombinációs hálózattal jön létre a ROM, hanem az adott ROM mezőhöz tartozó egyes biteket közvetlenül VCC-re vagy földre kötik. Ha a cím számítható, akkor az előző példabeli kimeneti q jel állandó, így a szintézis során nem kombinációs hálózattal jön létre a ROM, hanem az adott ROM mezőhöz tartozó egyes biteket közvetlenül VCC-re vagy földre kötik. A kiszámolható ROM cím egy példája: A kiszámolható ROM cím egy példája: Architecture bnc of waveform is begin q<=rom(2);-- Adatot olvas a ROM tömb 2-es címéről q<=rom(2);-- Adatot olvas a ROM tömb 2-es címéről end;

Technológiára jellemző ROM beültetése Nagyobb ROM-ok esetén célszerű Nagyobb ROM-ok esetén célszerű Előny: Előny:  jobb területkihasználtságú (hiszen az adott technológiára optimalizált) Hátrányok: Hátrányok:  a VHDL kód technológia függővé válik  gondot jelent a szimuláció, ha nincs VHDL modell a ROM-ra ilyenkor esetleg egy kevert módú (VHDL- és kapu-szintű) szimulátort lehet alkalmazni ilyenkor esetleg egy kevert módú (VHDL- és kapu-szintű) szimulátort lehet alkalmazni

RAM Két lehetőség van RAM feladatkör megvalósítására Két lehetőség van RAM feladatkör megvalósítására  regiszterek használata  RAM beültetése

RAM létrehozása regiszterekkel A regiszterek nagyon kis RAM-okhoz használhatók A regiszterek nagyon kis RAM-okhoz használhatók Nagyobb RAM-ok esetén a területi alapköltség túl nagy Nagyobb RAM-ok esetén a területi alapköltség túl nagy A következő példa egy órajeles folyamat használatával modellezi a regisztereket: A következő példa egy órajeles folyamat használatával modellezi a regisztereket: process(clk,resetn) begin if resetn=‘0’ then if resetn=‘0’ then q ‘0’); q ‘0’); elsif clk’event and clk=‘1’ then elsif clk’event and clk=‘1’ then if wr=‘1’ then if wr=‘1’ then q<=data; q<=data; end if; end if; end process;

RAM létrehozása beültetéssel Nem lehetséges jó szintézis eredményt elérni RAM beültetése nélkül Nem lehetséges jó szintézis eredményt elérni RAM beültetése nélkül Hátrány (hasonlóan a ROM-hoz): Hátrány (hasonlóan a ROM-hoz):  a VHDL kód technológia függővé válik  a szimulációval gondok lehetnek Megoldás: viselkedési szintű szintézis Megoldás: viselkedési szintű szintézis  a RAM-ot egy írható-olvasható tömbbel helyettesítik  a viselkedési szintézis eszköz mindig az aktuális cél-technológiának megfelelő RAM-ot használja A RAM beültetéséhez a generate parancs alkalmazható, pl: A RAM beültetéséhez a generate parancs alkalmazható, pl: architecture rtl of RAM4 is component RAM4x1 port(d,a0,a1,we: in std_logic; q:out std_logic); end component; -- A következő sor csak a szimulációhoz szükséges for U1:RAM4x1 use entity work.RAM4x1(rtl); begin for i in 0 to 3 generate for i in 0 to 3 generate RAM_b: RAM4x1 port map (d_in(i),a0,a1,write,d_out(i)); RAM_b: RAM4x1 port map (d_in(i),a0,a1,write,d_out(i)); end generate; end generate; end;

Példa Meg kell tervezni egy c1 összetevőt, amely beültet egy 4x8 bites RAM-ot Meg kell tervezni egy c1 összetevőt, amely beültet egy 4x8 bites RAM-ot A könyvtár csak a következő RAM-ot tartalmazza: A könyvtár csak a következő RAM-ot tartalmazza: entity RAM4x1 is port( d,a0,a1,we:instd_logic; port( d,a0,a1,we:instd_logic; q:outstd_logic); q:outstd_logic); end;

Megoldás library ieee; use ieee.std_logic_1164.all; entity c1 is port( write,a0,a1:instd_logic; port( write,a0,a1:instd_logic; d_in:instd_logic_vector(7 downto 0); d_in:instd_logic_vector(7 downto 0); d_out:outstd_logic_vector(7 downto 0)); end; architecture rtl of RAM4 is component RAM4x1 port(d,a0,a1,we: in std_logic; q: out std_logic); end component; -- A következő sor csak a szimulációhoz szükséges for U1:RAM4x1 use entity work.RAM4x1(rtl); begin for i in 0 to 7 generate for i in 0 to 7 generate RAM_block: RAM4x1 port map(d_in(i),a0,a1,write,d_out(i)); RAM_block: RAM4x1 port map(d_in(i),a0,a1,write,d_out(i)); end generate; end generate; end;