Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Xilinx Coregen - FIFO

Reply
Thread Tools

Xilinx Coregen - FIFO

 
 
gvaglia
Guest
Posts: n/a
 
      06-15-2004
Hi all!
I'm using ISE 6.1 and a Spartan3 fpga. Last day I tried to instantiate a
synchronous FIFO using Logicore.
When I use this instance in my design the beavioural simulation works
perfectly while the post-translate (and the others too) simulation
don't. Looking at the RTL schematic I saw that the vector output of the
instantiated fifo weren't connected with the output and with the other
elements in the design. I tried to instantiate other
memories...asynchronous fifo and so on but the problem is always the
same. What can I do?
The instantiated fifo working in a standalone manner (providing all
signal throug a testbench) work fine even in the post-translate.
Can you help me?
Thanks a lot
Guido

Inviato da www.mynewsgate.net
 
Reply With Quote
 
 
 
 
Mike Treseler
Guest
Posts: n/a
 
      06-15-2004
"gvaglia" <> wrote in message news:<>...
> Hi all!
> I'm using ISE 6.1 and a Spartan3 fpga. Last day I tried to instantiate a
> synchronous FIFO using Logicore.
> When I use this instance in my design the beavioural simulation works
> perfectly while the post-translate (and the others too) simulation
> don't. Looking at the RTL schematic I saw that the vector output of the
> instantiated fifo weren't connected with the output and with the other
> elements in the design. I tried to instantiate other
> memories...asynchronous fifo and so on but the problem is always the
> same. What can I do?


You could write your own code.

All you need is a head and tail counter,
and a dual address ram template something like:
------------------------------------
constant mem_size : natural := 2**add_length;
type mem_type is array (mem_size-1 downto 0) of
unsigned (dat_length-1 downto 0);
subtype ptr_type is unsigned(add_length-1 downto 0);
--...
begin
ram_access : process (clk) is
begin
if rising_edge(clk) then
if we = '1' then
mem(to_integer(push_tail_ptr)) <= data_i;
-- raw address
end if;
data_q <= mem(to_integer(pop_head_ptr));
-- mem data after pop low
end if;
end process ram_access;
-- ...
-------------------------------------
Increment the head for a push,
the tail for a pop or both for both.

See:
http://groups.google.com/groups?q=lpm+fifo+edif.org
for some fifo examples.

-- Mike Treseler
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
any body having complete code for a synchronous FIFO or know a link where FIFO codes are available chaitu VHDL 1 05-31-2007 03:31 PM
any body having complete code for a synchronous FIFO or know a link where FIFO codes are available chaitu VHDL 0 05-31-2007 02:28 PM
Xilinx Coregen (FFT): Unconected output pin/no driver Norbert Stuhrmann VHDL 1 03-25-2007 12:18 PM
Xilinx FIFO CoreGen: Datacount goes to zero upon full flag vu_5421 VHDL 0 01-05-2007 08:50 PM
32/16 divider, ASIC(Designware) Vs Xilinx FPGA(Coregen) john.deepu@gmail.com VHDL 4 06-06-2005 03:55 PM



Advertisments