|
|
  |
разводка ножек ПЛИС |
|
|
|
Oct 10 2008, 02:41
|
Знающий
   
Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831

|
Цитата(paskal @ Oct 10 2008, 05:48)  Имеется большой проект. В составе 32-битный проц, различные микросхемы, и все заведено на циклон-2. Естественно в схеме полным полно широких шин. Инженер, который пишет библиотеки на PCADе раскидал пользовательские выводы как попало. Т.е. банки идут не подряд, а вперемешку. Интересует вопрос: одну шину можно развести на схеме тоже вперемешку с разными банками, или это может привести к проблемам (разные задержки на разных разрядах, или плохо будет разводится ПЛИС)? Посмотрите в документации на циклон, в ней для каждого банка IO написаны отдельные временные характеристики, не говоря уже о том что вводятся еще и понятия Column IO и RowIO - времена их отличаются. Некоторые настройки для Column и Row отличаются. Для скоростных шин (типа DDR) прямо рекомендовано садить на один банк по возможности. Плюс к этому возможно добавление задержки внутри, но это как получится.
|
|
|
|
|
Oct 10 2008, 06:05
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(paskal @ Oct 9 2008, 22:48)  Инженер, который пишет библиотеки на PCADе раскидал пользовательские выводы как попало. Не знаю даже, смеяться или плакать. Вобщем, если плату еще не сделали - надо переделать. Делается так примерно: инженер по FPGA пишет, какие шины на какие группы выводов надо назначать, в идеале сам рисует этот кусок схемы, инженер по PCB при разводке делает свопирование ножек. Иначе я не понимаю, как можно достичь успеха - там же есть ножки однонаправленные, есть те, у которых нет триггера в пэде, я уж не говорю и том, что тактовую частоту надо вводить и выводить с пониманием.
|
|
|
|
|
Nov 2 2008, 19:28
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 2-11-08
Из: Ростов-на-Дону
Пользователь №: 41 331

|
Самый простой и быстрый способ проверить, надо ли переделывать плату - написать соответствующий проект для ПЛИС, откомпилировать и посмотреть, достигается ли заданные времена th, tsu, tco. Конечно, в случае сложных шин, типа интерфейса с DDR-памятью сомнения все равно остаются, однако для простых шин результаты сразу подскажут следующие действия - переделки, увольнения или запуск в производство ) По своему опыту: Для односторонне направленных шин (последовательно-параллельная передача в одну сторону) проблем при раскидывании в разные банки не бывает, только тактовые сигналы должны приходить на соответствующие тактовые вводы.
Вобще, платы с ПЛИС всегда должны разводиться под контролем ПЛИС-инженера.
|
|
|
|
|
Nov 2 2008, 20:55
|
Группа: Новичок
Сообщений: 11
Регистрация: 31-08-05
Пользователь №: 8 117

|
Цитата(murmel1 @ Nov 2 2008, 22:28)  По своему опыту: Для односторонне направленных шин (последовательно-параллельная передача в одну сторону) проблем при раскидывании в разные банки не бывает, только тактовые сигналы должны приходить на соответствующие тактовые вводы. Подтверждаю, что за много лет работы проблем из-за попадания сигналов простых шин (в том числе двунапраленных) в разные банки НЕ БЫЛО. При тактовых частотах до 133 МГц.
|
|
|
|
|
Nov 7 2008, 06:01
|

Знающий
   
Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402

|
Вообще, одна из фич ПЛИС это как раз - назначение выводов так, как удобно разводчику PCB с последующим назначением в FPGA-проекте. Большинство разработчиков этим весьма активно и успешно пользуются. Но... у всех фич есть ограниченные условия применяемости и целесообразности. Надо смотреть конкретный проект по требованиям к скорости, фазовым задержкам и т.п. сигналов. И это ещё не всё. Вы можете очень классно назначить выводы в FPGA-проекте, но потерять все времянки и свойства сигналов именно на этапе разводки. Если же ваша ПЛИС зажигает светодиодики, пишет на текстовом LCD-экранчике, читает кнопки, общается не шустро по SPI/I2C и вообще ведёт неспешную внешнюю жизнь :-) , пусть даже и по параллельным шинам - можете не переживать. Главное - отследить питание VCCIO, если оно требуется разным (3.3, 2.5,...), чтобы не оказаться в тупике из-за перемешивания IO по разным банкам.
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|