Hi Jason,
You can also use Precision (2005 and later) to infer synchronous memory. The
code below is what I used on my core although I am not sure this is the
approved template.
-- Actel Synchronous Memory
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
entity ssram is
port(
clk : in std_logic;
din128 : in std_logic_vector (127 downto 0);
addr : in std_logic_vector (3 downto 0);
we : in std_logic;
dout128 : out std_logic_vector (127 downto 0)
);
end ssram ;
architecture rtl of ssram is
type mem_type is array (15 downto 0) of std_logic_vector(127 downto 0) ;
signal mem : mem_type;
begin
singleport : process (clk)
begin
if (clk'event and clk = '1') then
if (we = '1') then
mem(conv_integer(addr)) <= din128;
else
dout128 <= mem(conv_integer(addr));
end if ;
end if;
end process singleport;
end architecture rtl;
Regards,
Hans.
www.ht-lab.com
"Jason Zheng" <
[email protected]> wrote in message
news:d43ojt$on9$
[email protected]..
> Is there an easy to use Actel's internal ram without going to coregen? I'm
> concerned about compatibility issues if I have to use coregen.
>
> thanks in advance.