реклама на сайте
подробности

 
 
> Схемный редактор Quartus, Схемный редактор "на всю катушку"
Fish
сообщение Aug 21 2005, 09:14
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 7-07-04
Из: Novosibirsk
Пользователь №: 281



Продолжаю строить свой первый проект на 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-миразрядной шиной. Как сделать отвод от какого-нибудь разряда шины?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
vetal
сообщение Aug 21 2005, 12:45
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



В редакторе можно к компоненту №1 подключить цепи q[0]..q[7], а в компоненте №2 подключить шину q[7..0]. Логическое соединение будет и без графического работать, т.к. 2 цепи с одинаковыми именами являются одной. Если все же хотите их соединить графически, то просто сделайте отводы от шины или засуньте их всех в трубу.
Go to the top of the page
 
+Quote Post
Fish
сообщение Aug 21 2005, 15:58
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 7-07-04
Из: Novosibirsk
Пользователь №: 281



Цитата
Если все же хотите их соединить графически, то просто сделайте отводы от шины или засуньте их всех в трубу.

Спасибо, действительно логическое соединение получилось, а вот с запихиванием в трубу возникли проблемы. Нельзя ли поподробнее про трубу?
unsure.gif
Go to the top of the page
 
+Quote Post
vetal
сообщение Aug 21 2005, 16:40
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



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

ЗЫ: Сугубо личное мнение: CPLD не самый лучший выбор для начала, в основном из-за архитектуры PAL*X, которая во многом ограничивает пользователя. Стартовать желательно с flex8k, лучше с flex10k.
Go to the top of the page
 
+Quote Post
sazh
сообщение Aug 21 2005, 17:39
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



1. Имеются два компонента, которые нужно соединить. У одного, например, 8-миразрядный выход выполнен в виде отдельных линий Q7, Q6,..,Q0, а вход второго подразумевает подключение шины in[7..0]. И как их связать? Я сделал компонент-переходник//////
Не надо компонента переходника. Достаточно от каждого компонента в графическом редакторе вывести отрезок цепи (и) или шины и присвоить одинаковые имена. (Отрезок кончается обрывом). Как в Пикаде, соединит по имени цепи. Можно произвести переименование внутри компонента. C помощью библиотечного примитива wire.
Go to the top of the page
 
+Quote Post
Fish
сообщение Aug 22 2005, 03:52
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 7-07-04
Из: Novosibirsk
Пользователь №: 281



Цитата(sazh @ Aug 21 2005, 20:39)
Достаточно от каждого компонента в графическом редакторе вывести отрезок цепи (и) или шины и присвоить одинаковые имена.  (Отрезок кончается обрывом). Как в Пикаде, соединит по имени цепи.
*

А хотел бы обойтись без цепей, болтающихся в воздухе, может это, конечно, эстетство, но мне не нравится. Я избегаю этого и в P-CAD. vetal предлагал засунуть сигналы в трубу для наглядности, но conduit может соединять лишь pins and blocks, blocks and blocks, следовательно туда нельзя подключить symbols pins и nodes
Может моя проблема надуманная? Просто хочется сделать схему максимально читабельной
Go to the top of the page
 
+Quote Post
bve
сообщение Aug 22 2005, 09:57
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 316
Регистрация: 20-02-05
Из: Ленинградская обл.
Пользователь №: 2 765



Существует примитив WIRE - просто переименовывает цепи.
С одной стороны ему даете Qx, с другой подцепляете INy.
Можно цеплять и шину - Q[7..0] -> IN[7..0]
Go to the top of the page
 
+Quote Post
mse
сообщение Sep 10 2005, 07:05
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



мож чего не понял, а что, так не получается?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Fish
сообщение Sep 10 2005, 07:42
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 7-07-04
Из: Novosibirsk
Пользователь №: 281



Цитата(mse @ Sep 10 2005, 10:05)
мож чего не понял, а что, так не получается?
*

Получается, конечно. smile.gif Спасибо всем.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01402 секунд с 7
ELECTRONIX ©2004-2016