Statični RAM VHDL koda

Z

zilak

Guest
Hello ...Trebao je VHDL kod za 16 * 16 bita statički RAM da radi sa / bez read buffer i sa / bez particioniranje ...

Hvala Vam unaprijed,
Zilak

 
Dragon Age: Inquisition, jedna z najbardziej oczekiwanych gier cRPG tego roku, debiutuje już za parę dni. Sprawdzamy, czego można spodziewać się po tym tytule.

Read more...
 
Ovo se najčešće obrađuju pomoću specifičnih alata iz FPGA dobavljaču.Razlog je da je provedba specifičnih kad većina kompaktni i učinkovita.Ako koristite Xilinx FPGAs, koristite alat za CoreGen generirajte VHDL modul koji će ovu funkciju.Ako koristite neki drugi dobavljač, traži njihovo toolset za nešto slično ili posjetite njihovu web stranicu.

 
Hi Zilak,
Za Vašu informaciju.
------------- Pseudo Dual Port VHDL Primjer
library IEEE;
koristiti IEEE.std_logic_1164.all;
koristiti IEEE.std_logic_arith.all;
koristiti IEEE.std_logic_unsigned.all;

entitet daul_port_ram je
generičke (data_width: prirodni: = 8;
addr_width: prirodni: = 16);
port (clk_in: in std_logic;
clk_out: in std_logic;
mi: in std_logic;
addr_in: u std_logic_vector (addr_width - 1 downto 0);
addr_out: u std_logic_vector (addr_width - 1 downto 0);
data_in: u std_logic_vector (data_width - 1 downto 0);
data_out: out std_logic_vector (data_width - 1 downto 0)
);
daul_port_ram end;

arhitektura daul_port_ram_arch od daul_port_ram je

tip je mem_type array (2 ** addr_width downto 0) od std_logic_vector (data_width - 1 downto 0);
signalom mem: mem_type;

započeti

mem_write: proces (clk_in)
započeti
ako clk_in'event i clk_in ='1 'onda
if (mi ='1 ') onda
mem (conv_integer (addr_in)) <= data_in;
kraj ako;
kraj ako;
kraju procesa pisati;

mem_read: proces (clk_out)
započeti
ako clk_out'event i clk_out ='1 'onda
data_out <= mem (conv_integer (addr_out));
kraj ako;
kraju procesa pročitati;

daul_port_ram_arch end;

 
priložen je i vhdl Verilog koda od oko 26 različitih tipova ovnova

Ovi kodovi su iz Xilinx XST userguide

To su:<img src="http://images.elektroda.net/99_1233617353_thumb.gif" border="0" alt=""/>Žao nam je, ali morate prijaviti da biste vidjeli u ovom prilogu

 
-------------------------------------------------- --------------------------------
-------------------------------------------------- ------------------------------
- Titre: ovan synthétisable
- Projet:
-------------------------------------------------- -----------------------------
- Fichier: ram_simple.vhd

-------------------------------------------------- -----------------------------
- Opis: RAM avec une seule Adresse MAIS Deux horloges
- Opis conforme a la doc leo_tech.pdf stranici 292
- Površine occupee: 16 funkcija generatori

-------------------------------------------------- -----------------------------
KNJIŽNICA IEEE;
KORIŠTENJE ieee.std_logic_1164.ALL;
KORIŠTENJE ieee.numeric_std.ALL;

Entitet ram_simple IS
Port (
Signalni podaci: U std_logic_vector (7 DOWNTO 0);
Signal adresa: U std_logic_vector (4 DOWNTO 0);
Signal mi inclock, outclock: IN std_logic;
Signal q: OUT std_logic_vector (7 DOWNTO 0));END ram_simple;ARHITEKTONSKA fe2 OF ram_simple IS

TIP JE mem_type Array (31 DOWNTO 0) IZ std_logic_vector (7 DOWNTO 0);
Signal mem: mem_type;
Signal address_int: nepotpisan (4 DOWNTO 0);

BEGIN - ex2
l0: PROCES (inclock, outclock, mi, adresu)

BEGIN - PROCES
If (inclock ='1 'AND inclock'event) ONDA
address_int <= nepotpisan (adresa);
Ako smo mi ='1 'ONDA
mem (To_integer (nepotpisano (adresa))) <= data;
END IF;
END IF;
If (outclock ='1 'AND outclock'event) ONDA
q <= mem (to_integer (address_int));
END IF;

END PROCESS;

END fe2;

 

Welcome to EDABoard.com

Sponsor

Back
Top