Req: Synthesisable broj za FIFO

A

arunragavan

Guest
Pa momci ..trebam synthesisable VHDL kod za FIFO ..asinkroni FIFO.Može bilo tko pomoć mene sa koda kao i objasniti osnovne workin za asyn FIFO jedinica.

 
arunragavan wrote:

Pa momci ..
trebam synthesisable VHDL kod za FIFO ..
asinkroni FIFO.
Može bilo tko pomoć mene sa koda kao i objasniti osnovne workin za asyn FIFO jedinica.
 
čista VHDL kod za FIFO bez architectrural dependecies ...

synthesizable i simulatable kodove za FIFO

sa ticati se,

 
Bok,
Ovdje je FIFO kod duge natrag JA skidač podataka kod uart iz tog .....
Uzdanica ovaj pomoć!

Šifra:

library IEEE;

korištenje ieee.std_logic_1164.all;

korištenje ieee.std_logic_unsigned.all;entitet dp_ram je

generic (

WIDTH: prirodni: = 8; - podaci širina

ADDR_WIDTH: prirodni: = 8 - adresa širina

);

port (

RST: in std_logic; - nanovo naoštriti

rd_clk: in std_logic; - pročitajte sat

wr_clk: in std_logic; - pisati satdata_in: u std_logic_vector (WIDTH-1 downto 0); - unos podataka

data_out: out std_logic_vector (WIDTH-1 downto 0); - izlazni podacird_addr: u std_logic_vector (ADDR_WIDTH-1 downto 0); - čitanje adresa

wr_addr: u std_logic_vector (ADDR_WIDTH-1 downto 0); - pisati adresard_en: in std_logic; - omogućiti čitanje

wr_en: in std_logic - pisati omogućiti

);

kraj entitet dp_ram;arhitektura mem od dp_ram je

tip register_array je polje (prirodni raspon <>) od std_logic_vector (WIDTH-1 downto 0);signalom mem: register_array (0 do (2 ** ADDR_WIDTH-1));započeti

- čitanje iz memorije

čitanje: proces (rst, rd_clk, rd_en, rd_addr) je

započeti

if (rst = '1 '), tada

data_out <= (drugi => '0 ');

drugo - ako rising_edge (rd_clk) tada

- Ako je (rd_en = '1 '), tada

data_out <= mem (conv_integer (rd_addr));

- Ostalo

- Data_out <= mem (conv_integer (rd_addr));

- Data_out <= (drugi => 'Z');

- End if;

end if;

end process čitanje;pisati: proces (rst, wr_clk) je

započeti

if (rst = '1 '), tada

for i in 0 do (2 ** ADDR_WIDTH-1) petlja

mem (i) <= (drugi => '0 ');

end loop;

elsif rising_edge (wr_clk) tada

if (wr_en = '1 '), tada

mem (conv_integer (wr_addr)) <= data_in;

end if;

end if;

end process pisati;end architecture mem;
 
zahvalnost kicoš ..Sam bio u mogućnosti sinteze ga ..što wud biti osnovna razlika n arhitekturi ovog FIFO našto ja korist to n asyn komunikacijske sheme.našto ja potreba oba podataka i signala (instructuctions - kao što su zahtjev i ack) biti passwed kroz FIFO za komunikaciju započeti.

sa ticati se,

 
Bok,
Žao mi kod predviđeno je za sinkroni FIFO.Za
asynch FIFO se odnose na primjenu Xilinx bilješke na link ispod ...
http://www.xilinx.com/xlnx/xweb/xil_publications_display.jsp?sGlobalNavPick=&sSecondaryNavPick=&category=-1209897&iLanguageID=1Dodano nakon 28 minuta:Bok,
Od Xilinx xapp258.pdf stranice i xzpp258.zip preuzimanje datoteka!

 

Welcome to EDABoard.com

Sponsor

Back
Top