Forth
http://fforum.winglion.ru/

VHDL: вопросы
http://fforum.winglion.ru/viewtopic.php?f=3&t=2705
Страница 1 из 1

Автор:  WingLion [ Чт фев 03, 2011 20:19 ]
Заголовок сообщения:  VHDL: вопросы

Сегодня разбирался с использованием пакетов (не пластиковых!) в VHDL.

На сколько я понял, пакеты в VHDL предназначены для введения новых типов, констант и функций. В пакете невозможно создать кусок схемы, например, объявить регистры или иные части электронной схемы и описать их работу.

Поэтому, первый вопрос: Так ли это?

Пытался сделать части процессора внутри пакета. И не получилось. :(

Автор:  Hishnik [ Чт фев 03, 2011 23:44 ]
Заголовок сообщения:  Re: VHDL: вопросы

WingLion писал(а):
На сколько я понял, пакеты в VHDL предназначены для введения новых типов, констант и функций. В пакете невозможно создать кусок схемы, например, объявить регистры или иные части электронной схемы и описать их работу.

Поэтому, первый вопрос: Так ли это?

Да. VHDL поощряет структуризацию проектов, коллективную работу и повторное использование кода.
WingLion писал(а):
Пытался сделать части процессора внутри пакета. И не получилось.

И не должно, туда можно класть только перечисленное выше - типы, константы, функции, процедуры...

Автор:  WingLion [ Пт фев 04, 2011 07:03 ]
Заголовок сообщения:  Re: VHDL: вопросы

А как сделать нечто вроде пакета с компонентами? Чтобы не вписывать каждый внутрь главного файла проекта?
Типа, процессор в одном файле, параллельный порт в другом, пульт управления ядерной ракетой в третьем... ?? А в главном только их межсоединения.

Автор:  Hishnik [ Пт фев 04, 2011 13:44 ]
Заголовок сообщения:  Re: VHDL: вопросы

WingLion писал(а):
А как сделать нечто вроде пакета с компонентами? Чтобы не вписывать каждый внутрь главного файла проекта?
Типа, процессор в одном файле, параллельный порт в другом, пульт управления ядерной ракетой в третьем... ?? А в главном только их межсоединения.

Так и писать - просто разные компоненты, по одному в файле. Потом для такого неосновного компонента можно запустить пунктик View instantiation template (в разделе Design utilities), и он покажет, что нужно написать в главном файле, чтобы была ссылка на компонент. Будет что-то вроде.

Код:
architecture Myarch of top_level is

-- это мы скопипастили
component pult_upravlenia
port(clk : in std_logic;
       knopka_puska: in std_logic;
       raketa_poshla : out std_logic
      );
end component; -- забыл, добавил в правке, но это все в шаблоне есть

begin

-- Это мы тоже почти скопипастили, надо только назвать экземпляр пульта
-- и заполнить правую часть портов, указав там имена цепей
DD1_glavniy_pult : pult_upravlenia
port map ( clk => system_clock,
               knopka_puska => button1,
               raketa_poshla => led1
             );

DD2_glavniy_pult : pult_upravlenia
port map ( clk => system_clock,
               knopka_puska => button2,
               raketa_poshla => led2
             );

Автор:  WingLion [ Пт фев 04, 2011 18:03 ]
Заголовок сообщения:  Re: VHDL: вопросы

У меня проблемс был не в том, как его подключить, собственно, а в том, что

Цитата:
entity ....

-- и так далее все описание архитектуры


приходилось вписывать в конец основного исходника, а это просто мешает.

ладно, я пошел новый пост постить... просто горит синим пламенем очередная идея...

Автор:  Hishnik [ Пт фев 04, 2011 18:23 ]
Заголовок сообщения:  Re: VHDL: вопросы

WingLion писал(а):
приходилось вписывать в конец основного исходника, а это просто мешает.

Нет, это не надо. В основном исходнике только component и port map для него. А сам компонент в отдельном файле.

Автор:  Hishnik [ Пт фев 04, 2011 18:43 ]
Заголовок сообщения:  Re: VHDL: вопросы

Единственный момент - такой сложный тип может не лечь в стандартные шаблоны. Это важно для Xilinx, у которого есть распределенная память, Altera должна проглотить и так.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/