Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Схемный редактор Quartus
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Среды разработки - обсуждаем САПРы
Fish
Продолжаю строить свой первый проект на CPLD smile3009.gif
Изначально было принято решение делать первый проект в графике, потому как появление микросхемы ПЛИС в проекте не планировалось и времени на изучение языков HDL соершенно нет sad.gif
Библиотечных компонентов вполне хватает для реализации и все вроде ясно, но схема разрослась... Пока удавалось обходиться без шин и всяких труб, но, видимо, пришло время применить всю мощь схемного редактора. Возникли вопросы по применению всех видов соединений. Из Quartus handbook и встроенного tutorial'а внятных ответов не получил sad.gif Вопросы следующие:
1. Имеются два компонента, которые нужно соединить. У одного, например, 8-миразрядный выход выполнен в виде отдельных линий Q7, Q6,..,Q0, а вход второго подразумевает подключение шины in[7..0]. И как их связать? Я сделал компонент-переходник
Код
SUBDESIGN to_bus8
(
   in0 : INPUT;
   in1 : INPUT;
   in2 : INPUT;
   in3 : INPUT;
   in4 : INPUT;
   in5 : INPUT;
   in6 : INPUT;
   in7 : INPUT;
   out[7..0] : OUTPUT;
)
BEGIN
   out[0] = in0;
   out[1] = in1;
   out[2] = in2;
   out[3] = in3;
   out[4] = in4;
   out[5] = in5;
   out[6] = in6;
   out[7] = in7;
END;

но, как мне кажется, это кривое решение и можно обойтись без всяких переходников.
2. Например, 2 элемента связаны 8-миразрядной шиной. Как сделать отвод от какого-нибудь разряда шины?
vetal
В редакторе можно к компоненту №1 подключить цепи q[0]..q[7], а в компоненте №2 подключить шину q[7..0]. Логическое соединение будет и без графического работать, т.к. 2 цепи с одинаковыми именами являются одной. Если все же хотите их соединить графически, то просто сделайте отводы от шины или засуньте их всех в трубу.
Fish
Цитата
Если все же хотите их соединить графически, то просто сделайте отводы от шины или засуньте их всех в трубу.

Спасибо, действительно логическое соединение получилось, а вот с запихиванием в трубу возникли проблемы. Нельзя ли поподробнее про трубу?
unsure.gif
vetal
В разделе Help->Tutorial, Design Entry->Секция показан пример использования трубы, он же filtref.bdf.
Графику последнее время не использую вообще, по этому подробнее сказать не могу. Разве, что просто соединяете, и все. На входе и выходе у цепи обязательно должны быть имена.
Во многих случаях графическое соединение цепей сильно усложняет прочтение схемы.

ЗЫ: Сугубо личное мнение: CPLD не самый лучший выбор для начала, в основном из-за архитектуры PAL*X, которая во многом ограничивает пользователя. Стартовать желательно с flex8k, лучше с flex10k.
sazh
1. Имеются два компонента, которые нужно соединить. У одного, например, 8-миразрядный выход выполнен в виде отдельных линий Q7, Q6,..,Q0, а вход второго подразумевает подключение шины in[7..0]. И как их связать? Я сделал компонент-переходник//////
Не надо компонента переходника. Достаточно от каждого компонента в графическом редакторе вывести отрезок цепи (и) или шины и присвоить одинаковые имена. (Отрезок кончается обрывом). Как в Пикаде, соединит по имени цепи. Можно произвести переименование внутри компонента. C помощью библиотечного примитива wire.
Fish
Цитата(sazh @ Aug 21 2005, 20:39)
Достаточно от каждого компонента в графическом редакторе вывести отрезок цепи (и) или шины и присвоить одинаковые имена.  (Отрезок кончается обрывом). Как в Пикаде, соединит по имени цепи.
*

А хотел бы обойтись без цепей, болтающихся в воздухе, может это, конечно, эстетство, но мне не нравится. Я избегаю этого и в P-CAD. vetal предлагал засунуть сигналы в трубу для наглядности, но conduit может соединять лишь pins and blocks, blocks and blocks, следовательно туда нельзя подключить symbols pins и nodes
Может моя проблема надуманная? Просто хочется сделать схему максимально читабельной
bve
Существует примитив WIRE - просто переименовывает цепи.
С одной стороны ему даете Qx, с другой подцепляете INy.
Можно цеплять и шину - Q[7..0] -> IN[7..0]
mse
мож чего не понял, а что, так не получается?
Fish
Цитата(mse @ Sep 10 2005, 10:05)
мож чего не понял, а что, так не получается?
*

Получается, конечно. smile.gif Спасибо всем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.