pamäťový modul

V

V

Guest
Som v novom VHDL.
Chcem vedieť, ako napísať pamäťový modul, nemám vôbec potuchy o kódovaní pamäte modul VHDL.
Pamäťový modul, čo chcem povedať je, že sa používa pre uloženie štandardná dĺžka prichádzajúceho signálu, a tiež by mal byť signál v poradí, v priebehu ich ukladanie do pamäte.

mockrát děkuji.

 
Aké pamäte a chcete použiť?A FIFO, posuvný register ...
Čo robí vaše dáta vyzerať?sériové alebo paralelné dáta.
Ako rýchlo sa dáta?

Pozrite sa do príručky z FPGA u predajcu chcú realizovať vaše designu.Tu máte informácie o tom, ako k vydedukování pamäte vo VHDL.

napríklad: Xilinx: http://www.xilinx.com/support/sw_manuals/xilinx7/download/lib.zip

 
ru nástroje, ktoré používate?
šablóny v nástrojmi dá predstavu Abt modelovanie barana alebo rom alebo posuvný register pomocou VHDL.

inak, u plz detail ur požiadavku.
ur vysvetlenie nebolo jasné v podanie obrazu pre ur požiadavku.

 
ktoré chcete napísať model alebo modul?
Normálně RAM / ROM pre digitálne návrhár je
hard-makro, takže si musíte urobiť, je napísať RAM / ROM controller, ak chcete napísať model na testovanie vášho radiče.
ak chcete len test v FPGA, môžete použiť ich IP (LPM_RAM, LPM_ROM, dp_ram ... pre @ ltera)

 
Sa pozrieť na
http://www.opencores.org/browse.cgi/by_category?filter1=&filter2 =

rôzne pamäťové moduly sú implementované tam.

 
Na základe toho, čo ste říkal, tu je odpoveď:

Nižšie je "RAM" a "RAM_TB" napísané v VHDL.Skopírujte ho pochopiť a simulovanej.Dajte mi vedieť, ak ste už otázky.

- ************************************************ *****************
- Ram.vhd
- Zápis dát do pamäte RAM na určitej adrese a čítanie späť
- Rovnaké údaje z rovnakej adresy,
--
- Design Engineer: Tony Andonie
--
- Dátum: 28. jún 2002
- Revízia údajov:
--
- ************************************************ *******************

Knižnica IEEE;
použitie ieee.std_logic_1164.all;
použitie ieee.numeric_std.all;

jednotka ram je

port (

data_in: in unsigned (8 - 1 downto 0); - 8 bitov dát
adresa: pri unsigned (8 - 1 downto 0): = (ostatné =>'0 ') - 8 bitov pridať
my: v std_logic; - napíšte umožniť
data_out: mimo unsigned (8 - 1 downto 0)

);

koniec ram;

architektúra behave RAM je

Typ mem_type je array (2 ** 8 downto 0) unsigned (8 - 1 downto 0);
signálu mem: mem_type;

začať
pamäť: proces (my, adresa, mem, data_in)
začať

if (my ='1 '), potom
mem (to_integer (adresa)) <= data_in - písať
end if;

data_out <= mem (to_integer (adresa)); - čítajte

konci procesu pamäti;
Behave konca;

- ************************************************ *******************
- Ram_tb.vhd
- Tento súbor bude skúškou ram
--
- Design Engineer: Tony Andonie
--
- Dátum začatia:
- Revízia údajov:
--
- ************************************************ *******************

Knižnica IEEE;
použitie ieee.std_logic_1164.all;
použitie ieee.numeric_std.all;

jednotka tb_ram je
koniec tb_ram;

Behave architektúra z tb_ram je

komponenty ram

port (

data_in: in unsigned (8 - 1 downto 0);
adresa: pri unsigned (8 - 1 downto 0);
my: v std_logic;
data_out: mimo unsigned (8 - 1 downto 0)

);

koniec komponent;konštantná doba: time: = 10 ns;

signálu CLK: std_logic;
signálu w_data_in: unsigned (8 - 1 downto 0);
signálu w_address: unsigned (8 - 1 downto 0);
signálu w_we: std_logic;
signálu w_data_out: unsigned (8 - 1 downto 0);

začať

u1: baran prístavu máp (

data_in => w_data_in,
address => w_address,
my => w_we,
data_out => w_data_out

);

CLK <= nie je CLK po dobu / 2;

podnety: proces
začať
w_data_in <= "00000000";
w_address <= "00000010";
w_we <='1 ';

čakať na obdobie;
čakať;
konci procesu podnety;

Behave konca;

 
Ďakujem vám všetkým ~

Chcem sa spýtať andonie
čo sa rozumie nasledovné vyhlásenie:

Typ mem_type je array (2 ** 8 downto 0) unsigned (8 - 1 downto 0);
signálu mem: mem_type;

mem (to_integer (adresa)) <= data_in - písať

Fakt vďaka za vašu láskavou pomoc.

 
VVykonajte nasledovné:

1) Vezmite nižšie aktualizované vzory "ram.vhd" a "ram_tb.vhd" zostaviť a simulovať pomocou Modelsim

2) typ mem_type je array (2 ** 8 downto 0) unsigned (7 downto 0);
signálu mem: mem_type;

a) (2 ** 8 downto 0) znamená, že 2 ^ 8, ktorá je hlboká 256 ram
b) (7 downto 0) znamená, že RAM je 8 bitov širokú
c) mem_type znamená, že ste sa vyhlasuje pamäte3) pam (to_integer (adresa)) <= data_in;
to znamená, že budete písať data_in na určitej adrese a že adresa je len celej čísiel."Pozri testbench" pre podrobnosti.ak máte otázky furthur pokojne zavolajte mi po 7:00
hod na (619) 206-6183

Veľa šťastia

- ************************************************ ******************
- Spoločnosť: N / A
- Projekt: baran
- Názov súboru: ram.vhd
- Engineer: Tony Andonie
--
- Dátum začatia: 8. apríla 2005
- Revízia Termín:
--
- Popis: zápis dát na ram na určitej adrese a čítanie späť
- Rovnaké údaje z rovnakej adresy,
--
- ************************************************ *******************Knižnica IEEE;
použitie ieee.std_logic_1164.all;
použitie ieee.numeric_std.all;

jednotka ram je
port (

data_in: in unsigned (7 downto 0);
adresa: pri unsigned (7 downto 0);
my: v std_logic;
data_out: mimo unsigned (7 downto 0)
);
koniec ram;

architektúra behv RAM je

Typ mem_type je array (2 ** 8 downto 0) unsigned (7 downto 0);
signálu mem: mem_type;

začať

pamäť: proces (my, adresa, mem, data_in)
začať

if (my ='1 '), potom
mem (to_integer (adresa)) <= data_in - písať
end if;

data_out <= mem (to_integer (adresa)); - čítajte

konci procesu pamäti;koniec behv;- ************************************************ *****************
- Spoločnosť: N / A
- Projekt: baran
- Názov súboru: ram.vhd
- Engineer: Tony Andonie
--
- Dátum začatia: 8. apríla 2005
- Revízia Termín:
--
- Popis: baran testbench
--
--
- ************************************************ ********************

Knižnica IEEE;
použitie ieee.std_logic_1164.all;
použitie ieee.numeric_std.all;

jednotka ram_tb je
koniec ram_tb;

architektúra behv z ram_tb je

komponenty ram
port (
data_in: in unsigned (7 downto 0);
adresa: pri unsigned (7 downto 0);
my: v std_logic;
data_out: mimo unsigned (7 downto 0)
);
koniec komponent;signálu w_data_in: unsigned (7 downto 0): = (ostatné =>'0 ');
signálu w_address: unsigned (7 downto 0): = (ostatné =>'0 ');
signálu w_we: std_logic: ='0 ';
signálu w_data_out: unsigned (7 downto 0): = (ostatné =>'0 ');

začať

u1_ram: baran prístavu máp (

data_in => w_data_in,
address => w_address,
my => w_we,
data_out => w_data_out
);

hlavná: proces
začať- ************************************************ ******************
- Napísať na ram
--
- ************************************************ ******************

- Prvý cyklus
čakať na 10 ns;
w_address <= "11000011";
čakať na 10 ns;
w_we <='0 ';
w_data_in <= "11111111";
čakať na 10 ns;
w_we <='1 ';
čakať na 4000 ns;
čakať;

Hlavným cieľom procesu;

koniec behv;

 

Welcome to EDABoard.com

Sponsor

Back
Top