MAX+plus II error:Can't interpret indexed name

A

Aliki

Guest
Hi all, I am trying to implement a simple sram in VHDL in MAX+plus II and I
get a message error:"Can't interpret indexed name", the line with the
errors is on stars...Generally there is a problem with Max plus, I can't
complile any memory when I use conv_integer or the conversion below....Can
anyone help?????


library ieee ;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;


entity sram is
port(chip_enable : in bit;
output_enable : in bit;
address : in bit_vector (3 downto 0);
data : out std_logic_vector (3 downto 0));
end sram;

architecture behaviour of sram is
constant sram_size : Integer := 15;
type sram_mem is array (0 to sram_size) of std_logic_vector (0 to
3);
signal memory : sram_mem;

begin
get_data : process(address)
begin
if (chip_enable = '0' and output_enable = '0') then
-- get data from selected address
*********data <= memory(address);**************This is the line with
the error*************
else
data <= (others => 'Z');
end if;
end process;
end behaviour;
 
Aliki wrote:

Hi all, I am trying to implement a simple sram in VHDL in MAX+plus II and
Consider using quartus.
Related threads:
http://groups.google.com/groups?q=vhdl+dpram512x1
http://groups.google.com/groups?q=vhdl+ram_32k

-- Mike Treseler
 
Try changing the line to:

data <= memory(conv_integer(address));

The index must be an integer and you've declared the address as a bit
vector.


On Tue, 24 Aug 2004 08:37:46 -0400, "Aliki" <aliki@> wrote:

Hi all, I am trying to implement a simple sram in VHDL in MAX+plus II and I
get a message error:"Can't interpret indexed name", the line with the
errors is on stars...Generally there is a problem with Max plus, I can't
complile any memory when I use conv_integer or the conversion below....Can
anyone help?????


library ieee ;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;


entity sram is
port(chip_enable : in bit;
output_enable : in bit;
address : in bit_vector (3 downto 0);
data : out std_logic_vector (3 downto 0));
end sram;

architecture behaviour of sram is
constant sram_size : Integer := 15;
type sram_mem is array (0 to sram_size) of std_logic_vector (0 to
3);
signal memory : sram_mem;

begin
get_data : process(address)
begin
if (chip_enable = '0' and output_enable = '0') then
-- get data from selected address
*********data <= memory(address);**************This is the line with
the error*************
else
data <= (others => 'Z');
end if;
end process;
end behaviour;
 

Welcome to EDABoard.com

Sponsor

Back
Top