BuTeK 0 13 июня, 2006 Опубликовано 13 июня, 2006 · Жалоба Недавно начал разбираться с ПЛИСами (Xilinx). И тут возникла маленькая проблема, что толком не научился работать, и не понял всех тонкостей.. Как нужно рисовать схему подключения. Скажите какими правилами нужно руководствываться при назначении выводов? И на что это влияет? И действительно это важно на частоте 100МГц? p.s. у меня в проекте будет Spartan3 (pin 208), RAM, АЦП и контроллер-USB. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 13 июня, 2006 Опубликовано 13 июня, 2006 · Жалоба Недавно начал разбираться с ПЛИСами (Xilinx). И тут возникла маленькая проблема, что толком не научился работать, и не понял всех тонкостей.. Как нужно рисовать схему подключения. Скажите какими правилами нужно руководствываться при назначении выводов? И на что это влияет? И действительно это важно на частоте 100МГц? p.s. у меня в проекте будет Spartan3 (pin 208), RAM, АЦП и контроллер-USB. Конкретно по Xilinx не скажу, но стратегия везде одинаковая: 1. Задействуй глобальные цепи (клоки, ресеты, разрешения). 2. распределяй выводы крокодила так, чтобы длина внешних цепей была минимальна. То есть перераспределяй после компановки платы так, чтобы по плате легко и близко разбегались до окружающих компонентов. 3. Так как недавно начал работать- обрати внимание на корректную разводку питаний, не жадничай на конденсаторах. 4. В твоем средстве разработки наверняка есть какие-то средства указать критичные по частоте цепи, тогда они разведутся с учетом твоих требований. 5. Конечно обрати внимание на предопределенные пины. Вдруг у тебя там есть пины, которые только на ввод годятся, либо зареезервированные под конфигурирование, либо еще под что. Тут внимательно читаешь те страницы мануала, где сведены в таблицу все ноги микросхемы, обычно справа в примечании указывают особые свойства вывода. Ну еще после синтеза (я о альтеровском rpt-файле, для Xilinx у тебя наверное что-то подобное тоже есть) в файле рапорта можешь еще раз убедится, что у тебя на какой ноге находится, а также может быть и написано, какие уровни на какие из остальных ног камня следует подавать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maksya 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба Скажите какими правилами нужно руководствываться при назначении выводов?RtFM от Xilinx. В книгах Altera раздел по IO-контактам обычно называется "Pad Placement & DC Guidelines", по специфическим подключениям (DDR, MultiVoltage ...) - "Design Considerations". Ищи нечто подобное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
grigorybold 0 3 июля, 2006 Опубликовано 3 июля, 2006 · Жалоба Конкретно по Xilinx не скажу, но стратегия везде одинаковая: 1. Задействуй глобальные цепи (клоки, ресеты, разрешения). 2. распределяй выводы крокодила так, чтобы длина внешних цепей была минимальна. То есть перераспределяй после компановки платы так, чтобы по плате легко и близко разбегались до окружающих компонентов. 3. Так как недавно начал работать- обрати внимание на корректную разводку питаний, не жадничай на конденсаторах. 4. В твоем средстве разработки наверняка есть какие-то средства указать критичные по частоте цепи, тогда они разведутся с учетом твоих требований. 5. Конечно обрати внимание на предопределенные пины. Вдруг у тебя там есть пины, которые только на ввод годятся, либо зареезервированные под конфигурирование, либо еще под что. Тут внимательно читаешь те страницы мануала, где сведены в таблицу все ноги микросхемы, обычно справа в примечании указывают особые свойства вывода. Ещё обратите внимание на банки ввода-вывода, т.е. желательно, чтобы ножки с одинаковым функциональным предназначением (скажем вся шина данных) относились к одному банку ввода-вывода. Насчёт конденсаторов - не вижу смысла в обильном навешивании электролитов вокруг ПЛИС (другое дело - керамические конденсаторы еёмкостью порядка 0,1 мкФ.) В идеале к каждой ножке питания свой конденсатор - но так не получится, поэтому конденсаторы располагайте равномерно по периметру микросхемы. Число конденсаторов можно прикинуть на схеме, если нарисовать элемент ПЛИС в виде двух УГО: на первом сосрдоточены сигнальные ноги, входы тактовой частоты, а на втором - цепи питания, jtag, загрузка. В результате блокировочные конденсаторы не загромождают основную схему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmivs 0 3 июля, 2006 Опубликовано 3 июля, 2006 · Жалоба Как я понял 100 МГц - тактовая частота для Спартана? В таком случае схалявить вряд-ли получится - надо использовать Time Constraints, иначе можно получить разные радости с редкими глюками. Самый лучший способ для начинающего, ИМХО, использовать Reference Designs от Xilinx, Иначе трудно сразу въехать в эти "ограничители". Вот нормальный, не слишком сложный пример по близкой мне тематике. Вы можете для вашего дизайна подобрать что-то ближе к вашей душе на сайте Xilinx :) Конденсаторы блокировочные - количество и номиналы, разводка цепей питания и сигнальных, количество слоев платы - это отдельная большая тематика относящаяся скорее к PCB Layout. Здесь опять-же могут очень помочь Reference Designs - например, Spartan 3 Development Board В принципе, для начала, ИМХО, лучше не использовать сигналы с частотами выше ~50 МГц, ни во внутренних, ни во внешних цепях. Разберетесь с кухней FPGA - а там можно и High Speed Design осваивать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BuTeK 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Просто в дело в чём... У меня нет времени для раскачивания... То есть я начитался теории и нужно уже сейчас рисовать схему, а потыркаться на реальной железяке смогу только когда будет старт кит, а он будет примерно тогда когда и будет разведена плата для схемы... И очень боюсь напароть ерунды в разводке, может если кому не трудно будет, чтобы глянуть мои наброски схему... и покритиковать сможет.. Буду очень рад и это мне здорово поможет.. Могу выслать несколько маленьких файлов со схемой на мыло.. Помоги кто сможет..очень надо!!! Pin.doc Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба Меньше всего нужно беспокоиться за работоспособность FPGA. Она всегда будет работать. А вот требуемое от АЦП добиться всегда труднее. Последущая переразводка по результатам настройки - обычное дело. Наверно нужно продумать размещение элементов на плате. Развести плату с учетом всех требований аналоговой части. А чтобы не пролететь с FPGA, разбить символьный элемент на части: первая часть глобальные клоки, контакты двойного назначения, загрузочная часть, вторая все питание, третья или последующие банки контактов ввода вывода (они могут иметь различные vcc i/o) И сделать пины этих банков эквивалентными. Т.Е. чистые контакты i/o отдать на откуп разводчику (он может их перекидывать в соответствии со стратегией разводки). И тогда Вы убиваете все зайцев в лесу. Сразу рисуете свою схему и от балды раскидываете свои данные и адреса по банкам чистых i/o (все равно без размещения всех элементов на плате согласно рекомендациям фирм производителей Вы сразу на нужные пины FPGA не попадете). Делаете своей проект без всяких ограничений по пинам (без констренов) Разводчик печатной платы отдает Вам конечный вариант, Вы конвертируете его обратно в схему и присваиваете эти пины FPGA. Даже если пролетите на один два пина (что мало вероятно для чистых i/o ) всегда можно отыграть назад. У меня пока проблем с таким подходом не было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BuTeK 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба А какие сложности могут возникнуть с АЦП? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 4 июля, 2006 Опубликовано 4 июля, 2006 · Жалоба А какие сложности могут возникнуть с АЦП? У нас планировали на 50МГц, работать, а спартан 3е схему пред обработки не вытянул, теперь на 25 работаем:)... Примерно такие могут быть трудности:). Опять же шумы и прочая фигня, АЦП вещ неспокойная... Но это у нас получилось, а вот спартан зараза пускается через раз, и что ему не нравиться понять не могу... Как будто не грузиться, никаких синтезаторов клока внутри настраиваемых не используем, сразу на ногу клока 100МГц, а из 10 включений, 3-4 схема молчит, на управление не реагирует, может кто такое видел?! Ресета то у ФПГА нет, как ее на бут проверить, как ей подсказать что давно пора загрузиться то уже!? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба А какие сложности могут возникнуть с АЦП? Например шумы младших разрядов. Нужно думать, где аналоговые и цифровые земли соединять, как повлияют на ацп внешние тактовые генераторы для FPGA, работа самой FPGA. Кстати, эти тактовые генераторы могут влиять и на загрузку самой FPGA. Я в интервале конфигурациии запрещаю работу внутреннх генераторов (у FPGA есть пины для этого). Если схема загрузки FPGA сделана согласно всем рекомендациям даташит, не может быть сбойной загрузки. (Поню один раз к ПЗУ загрузки не был подведен GND, так все равно грузила FPGA через раз (сбойно). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BuTeK 0 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба А зачем на прямую 100 МГц? Что есть какие подводные камни в DCM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба А зачем на прямую 100 МГц? Что есть какие подводные камни в DCM? пока со стар китом игрался не замечал... просто генератор такой был, удобно... А какие сложности могут возникнуть с АЦП? Например шумы младших разрядов. Нужно думать, где аналоговые и цифровые земли соединять, как повлияют на ацп внешние тактовые генераторы для FPGA, работа самой FPGA. Кстати, эти тактовые генераторы могут влиять и на загрузку самой FPGA. Я в интервале конфигурациии запрещаю работу внутреннх генераторов (у FPGA есть пины для этого). Если схема загрузки FPGA сделана согласно всем рекомендациям даташит, не может быть сбойной загрузки. (Поню один раз к ПЗУ загрузки не был подведен GND, так все равно грузила FPGA через раз (сбойно). Генератор на плате единый, все остальные схемы тактуются через плис. Не очень понял про запрет внутренних генераторов, и пины,... это как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BuTeK 0 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба И ещё у меня возник вопрос недавно... Можно ли оставлять в подвешанном состоянии выводы, которые я не использую? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 5 июля, 2006 Опубликовано 5 июля, 2006 · Жалоба Генератор на плате единый, все остальные схемы тактуются через плис. Не очень понял про запрет внутренних генераторов, и пины,... это как? Если плис не загружена, то и работа генератора без надобности. Значит можно иэбавиться от наводок по цепям загрузки. У FPGA есть контакты, позволяющие контролировать интервал конфигурвции и инциализации. У Альтера это configdone & initdone на OE генератора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dmivs 0 6 июля, 2006 Опубликовано 6 июля, 2006 · Жалоба И ещё у меня возник вопрос недавно... Можно ли оставлять в подвешанном состоянии выводы, которые я не использую? Можно. У Xilinx очень хорошо продуманы схемы внешних буферов I/O. На практике ни разу не видел проблем (поправьте меня если кто видел). Хотя, если боитесь, можно, например, запрограммировать все выходы как output и заземлить их в прошивке FPGA (как это рекомендуется для некоторых микроконтроллеров) Генератор на плате единый, все остальные схемы тактуются через плис. Не очень понял про запрет внутренних генераторов, и пины,... это как? Если плис не загружена, то и работа генератора без надобности. Значит можно иэбавиться от наводок по цепям загрузки. У FPGA есть контакты, позволяющие контролировать интервал конфигурвции и инциализации. У Альтера это configdone & initdone на OE генератора. Это как-же должна быть спроектирована схема и плата, чтобы работа генераторов вызывала сбои конфигурации FPGA :blink: ? Генераторы не по 100 Вт случайно? Тогда и сбои при работе устройства неизбежны... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться