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/ |