Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: разводка ножек ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
paskal
Имеется большой проект. В составе 32-битный проц, различные микросхемы, и все заведено на циклон-2. Естественно в схеме полным полно широких шин. Инженер, который пишет библиотеки на PCADе раскидал пользовательские выводы как попало. Т.е. банки идут не подряд, а вперемешку.
Интересует вопрос: одну шину можно развести на схеме тоже вперемешку с разными банками, или это может привести к проблемам (разные задержки на разных разрядах, или плохо будет разводится ПЛИС)?
barabek
Цитата(paskal @ Oct 10 2008, 05:48) *
Имеется большой проект. В составе 32-битный проц, различные микросхемы, и все заведено на циклон-2. Естественно в схеме полным полно широких шин. Инженер, который пишет библиотеки на PCADе раскидал пользовательские выводы как попало. Т.е. банки идут не подряд, а вперемешку.
Интересует вопрос: одну шину можно развести на схеме тоже вперемешку с разными банками, или это может привести к проблемам (разные задержки на разных разрядах, или плохо будет разводится ПЛИС)?


Посмотрите в документации на циклон, в ней для каждого банка IO написаны отдельные временные характеристики, не говоря уже о том что вводятся еще и понятия Column IO и RowIO - времена их отличаются. Некоторые настройки для Column и Row отличаются. Для скоростных шин (типа DDR) прямо рекомендовано садить на один банк по возможности. Плюс к этому возможно добавление задержки внутри, но это как получится.
DmitryR
Цитата(paskal @ Oct 9 2008, 22:48) *
Инженер, который пишет библиотеки на PCADе раскидал пользовательские выводы как попало.

Не знаю даже, смеяться или плакать. Вобщем, если плату еще не сделали - надо переделать. Делается так примерно: инженер по FPGA пишет, какие шины на какие группы выводов надо назначать, в идеале сам рисует этот кусок схемы, инженер по PCB при разводке делает свопирование ножек. Иначе я не понимаю, как можно достичь успеха - там же есть ножки однонаправленные, есть те, у которых нет триггера в пэде, я уж не говорю и том, что тактовую частоту надо вводить и выводить с пониманием.
Владимир
Цитата
paskal @ Oct 9 2008, 22:48)
Инженер, который пишет библиотеки на PCADе раскидал пользовательские выводы как попало.

Не знаю даже, смеяться или плакать.

Похоже сценарий по Райкину. "Претензии к пуговицам есть..."
murmel1
Самый простой и быстрый способ проверить, надо ли переделывать плату - написать соответствующий проект для ПЛИС, откомпилировать и посмотреть, достигается ли заданные времена th, tsu, tco.
Конечно, в случае сложных шин, типа интерфейса с DDR-памятью сомнения все равно остаются, однако для простых шин результаты сразу подскажут следующие действия - переделки, увольнения или запуск в производство )
По своему опыту:
Для односторонне направленных шин (последовательно-параллельная передача в одну сторону) проблем при раскидывании в разные банки не бывает, только тактовые сигналы должны приходить на соответствующие тактовые вводы.

Вобще, платы с ПЛИС всегда должны разводиться под контролем ПЛИС-инженера.
kost_
Цитата(murmel1 @ Nov 2 2008, 22:28) *
По своему опыту:
Для односторонне направленных шин (последовательно-параллельная передача в одну сторону) проблем при раскидывании в разные банки не бывает, только тактовые сигналы должны приходить на соответствующие тактовые вводы.

Подтверждаю, что за много лет работы проблем из-за попадания сигналов простых шин (в том числе двунапраленных) в разные банки НЕ БЫЛО. При тактовых частотах до 133 МГц.
rezident
Цитата(murmel1 @ Nov 3 2008, 00:28) *
Вобще, платы с ПЛИС всегда должны разводиться под контролем ПЛИС-инженера.
+1. Пришел к такому же выводу. До начала трассировки или даже уже на этапе рисования схемы нужно иметь готовый рабочий проект для ПЛИС. И обязательно на нем проверять возможности вариантов распиновки и трассировки печатной платы, согласуя их с трассировщиком.
sazh
Цитата(rezident @ Nov 3 2008, 01:08) *
До начала трассировки или даже уже на этапе рисования схемы нужно иметь готовый рабочий проект для ПЛИС.

Об этом можно только мечтать. В реалии, на потоке, такое редко бывает.
murmel1
Иметь полностью готовый проект, действительно, практически нереально, но! :
Лучше иметь проект СО ВСЕЙ ОПИСАННОЙ ПЕРИФЕРИЕЙ.
Проверить таким образом совместимость стандартов ввода-вывода и времена очень даже стоит. И проще контроллировать процесс разводки печатной платы: разводчик перекинул ножку, вы вместо чтения даташитов соответственно поменяли свой проект и сразу увидели можно так оставить, или "крути назад, начальник".
А разводка внутренних элементов ПЛИС уже не сказывается на работоспособности.
EvgenyNik
Вообще, одна из фич ПЛИС это как раз - назначение выводов так, как удобно разводчику PCB с последующим назначением в FPGA-проекте. Большинство разработчиков этим весьма активно и успешно пользуются.
Но... у всех фич есть ограниченные условия применяемости и целесообразности. Надо смотреть конкретный проект по требованиям к скорости, фазовым задержкам и т.п. сигналов.
И это ещё не всё. Вы можете очень классно назначить выводы в FPGA-проекте, но потерять все времянки и свойства сигналов именно на этапе разводки.
Если же ваша ПЛИС зажигает светодиодики, пишет на текстовом LCD-экранчике, читает кнопки, общается не шустро по SPI/I2C и вообще ведёт неспешную внешнюю жизнь :-) , пусть даже и по параллельным шинам - можете не переживать. Главное - отследить питание VCCIO, если оно требуется разным (3.3, 2.5,...), чтобы не оказаться в тупике из-за перемешивания IO по разным банкам.
призрак
Это еще и не важно, если проект маленький.
Если проект большой, из-за перекрестных связей между банками сжирается лишний объем, и может не хватить, особенно при оптимизации
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.