Перейти к содержанию
    

Помогите подключить SRAM блок в ActiveHDL (APA075)

1. не понимаю как я смогу писать в память, если WE,RE установлены на in:

(если установить на out, то компилятор ругается)

 

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

entity diagnostic is
port (  --Global ports
  --On-chip SRAM interface
  Data1 : in std_logic_vector(15 downto 0);
  Aclr1 : in std_logic;
  WE1 : in std_logic;
  RE1 : in std_logic;
  WClock1 : in std_logic;
  RClock1 : in std_logic;
  WAddress1 : in std_logic_vector (4 downto 0);
  RAddress1 : in std_logic_vector (4 downto 0);
  Q1 : out std_logic_vector (15 downto 0)
     );
end diagnostic;

architecture behave of diagnostic is

----LANGUAGE SPECIFIC COMPONENTS-------------------------------
    component ram
 port (Data : in std_logic_vector (15 downto 0);
     Aclr : in std_logic;
     WE : in std_logic;
     RE : in std_logic;
     WClock : in std_logic;
     RClock : in std_logic;
     WAddress : in std_logic_vector (4 downto 0);
     RAddress : in std_logic_vector (4 downto 0);
     Q : out std_logic_vector (15 downto 0));
    end component;

begin
 R_32_16: ram
    port map (Data => Data1,
 Aclr => Aclr1,
 WE => WE1,
 WAddress => WAddress1,
 RE => RE1,
 RAddress => RAddress1,
 WClock => WClock1,
 RClock => RClock1,
 Q => Q1);
end diagnostic;

 

 

2. Если поставить вместо ram - RAM256x9SAP, то

компилятор пишет <There is no default binding for component "RAM256x9SAP">,

хотя библиотеки подключены

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1.

не понимаю как я смогу писать в память, если WE,RE установлены на in

а собственно что не так?

we - write enable - разрешить запись

re -read enable - разрешить чтение

это внешние управляющие сигналы они вроде и должны быть в in.

 

2.

Если поставить вместо ram - RAM256x9SAP, то

компилятор пишет <There is no default binding for component "RAM256x9SAP">

 

Ну если у вас в проекте нет entity с наименованием RAM256x9SAP, правильно он ругается .

 

Кстати говоря если diagnostic это тестбенч то не совсем понятно почему необходимые сигналы описаны как порты, обычно они описываются в интерфейсной части архитектуры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1.

не понимаю как я смогу писать в память, если WE,RE установлены на in

а собственно что не так?

we - write enable - разрешить запись

re -read enable - разрешить чтение

это внешние управляющие сигналы они вроде и  должны быть в in.

А мне нужно этой памятью из своей entity управлять - из diagnostic. Как ее правильно описать

 

2.

Если поставить вместо ram - RAM256x9SAP, то

компилятор пишет <There is no default binding for component "RAM256x9SAP">

 

Ну если у вас в проекте нет entity с наименованием RAM256x9SAP, правильно он ругается .

 

Кстати  говоря если diagnostic это тестбенч то не совсем понятно почему  необходимые сигналы описаны  как порты, обычно они описываются в интерфейсной части архитектуры.

 

Это не тестбенч, просто устройство такое.

 

По поводу "entity с наименованием RAM256x9SAP" там же вроде есть в библиотеке apa.vhd - там все описано, или мне нужно как-то эту entity в своем src файле упоминать?

 

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А мне нужно этой памятью из своей entity управлять - из diagnostic. Как ее правильно описать

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

entity diagnostic is
port (  
-- здесь описывайте только те сигналы которые вам нужны в топлевел -- сущностях 

    );
end diagnostic;

architecture behave of diagnostic is

signal   Data1 :  std_logic_vector(15 downto 0);
signal  Aclr1 :  std_logic;
signal   WE1 :  std_logic;
signal   RE1 : std_logic;
signal  WClock1 : std_logic;
signal   RClock1 : std_logic;
signal  WAddress1 : std_logic_vector (4 downto 0);
signal   RAddress1 : std_logic_vector (4 downto 0);
signal   Q1 :  std_logic_vector (15 downto 0);

----LANGUAGE SPECIFIC COMPONENTS-------------------------------
component ram
port (Data : in std_logic_vector (15 downto 0);
 Aclr : in std_logic;
 WE : in std_logic;
 RE : in std_logic;
 WClock : in std_logic;
 RClock : in std_logic;
 WAddress : in std_logic_vector (4 downto 0);
 RAddress : in std_logic_vector (4 downto 0);
 Q : out std_logic_vector (15 downto 0));
end component;

begin
R_32_16: ram
port map (Data => Data1,
Aclr => Aclr1,
WE => WE1,
WAddress => WAddress1,
RE => RE1,
RAddress => RAddress1,
WClock => WClock1,
RClock => RClock1,
Q => Q1);
end diagnostic;

По поводу "entity с наименованием RAM256x9SAP" там же вроде есть в библиотеке apa.vhd - там все описано, или мне нужно как-то эту entity в своем src файле упоминать?

в какой библиотеке? в альдековских нет (насколькоя знаю).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А мне нужно этой памятью из своей entity управлять - из diagnostic. Как ее правильно описать?

По поводу "entity с наименованием RAM256x9SAP" там же вроде есть в библиотеке apa.vhd - там все описано, или мне нужно как-то эту entity в своем src файле упоминать?

в какой библиотеке? в альдековских нет (насколькоя знаю).

 

Я указывал при установке ActiveHDL какие библиотеки устанавливать. С ActiveHDL поставляются библиотеки всех производителей ПЛИС. Я нажимаю на панели инструментов иконку library и появляется список, в котором синим цветом много библиотек, среди них apa (Actel) - Comment: POST P&R timing simulation library for Actel Designer. Может надо как-то эту библиотеку подключить к своему проекту?

 

 

Объясните, пожалуйста, как мне в своем проекте управлять памятью. Пробовал много комбинаций - на все то компилятор ругается, то Synplify - пишет: "cannot find map for port RE,WE ...", "port q is unconnected"

 

:wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...