evgforum 0 16 июля, 2005 Опубликовано 16 июля, 2005 · Жалоба 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">, хотя библиотеки подключены Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cosmobot 0 16 июля, 2005 Опубликовано 16 июля, 2005 · Жалоба 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 это тестбенч то не совсем понятно почему необходимые сигналы описаны как порты, обычно они описываются в интерфейсной части архитектуры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgforum 0 16 июля, 2005 Опубликовано 16 июля, 2005 · Жалоба 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 это тестбенч то не совсем понятно почему необходимые сигналы описаны как порты, обычно они описываются в интерфейсной части архитектуры. <{POST_SNAPBACK}> Это не тестбенч, просто устройство такое. По поводу "entity с наименованием RAM256x9SAP" там же вроде есть в библиотеке apa.vhd - там все описано, или мне нужно как-то эту entity в своем src файле упоминать? Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cosmobot 0 16 июля, 2005 Опубликовано 16 июля, 2005 · Жалоба А мне нужно этой памятью из своей 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 файле упоминать? в какой библиотеке? в альдековских нет (насколькоя знаю). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgforum 0 16 июля, 2005 Опубликовано 16 июля, 2005 · Жалоба А мне нужно этой памятью из своей entity управлять - из diagnostic. Как ее правильно описать? По поводу "entity с наименованием RAM256x9SAP" там же вроде есть в библиотеке apa.vhd - там все описано, или мне нужно как-то эту entity в своем src файле упоминать? в какой библиотеке? в альдековских нет (насколькоя знаю). <{POST_SNAPBACK}> Я указывал при установке 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" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться