Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Насколько важно указывать тип входов/выходов в констрейнах Xilinx?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
syoma
Собственно сабж - никогда об этом не задумывался, но вот недавно был случай - плата со Спартаном-3 - выходы были нагружены на буфер и т.д. И надо было эту плату на стенд поставить. А на стенде по входам - оптроны с 10мА тока. Ессно выходы отказывались хоть что-то выдавать, пока в PACE четко не задал, что логика CMOS33 и DRIVESTRENGTH - 20мА. Тогда все заработало.
Собственно и вопрос - а как это относится ко входам? И вообще что в Xilinxе задается по умолчанию.
Поднять вопрос меня просто заставило удивление, когда я пару дней назад обнаружил камень(Спартан-3 конечно-же) с интересным убитым пином -
входом управлял выход оптрона с подтягивающим до 3.3В 1кОмным резистром.
Так вот на холодной микросхеме при конфигурации напряжение на пине взлетало до 3.3В, а сразу же по завершении падало до 0,8. При этом Спартан видел, ессно 0. Через 5 мин работы напряжение скачком ставало 3.3В. Пин был сконфигурировани на вход без всяких доп. опций. Проэкт собирался в EDK. На других камнях с такой же прошивкой все ОК.
Такое впечатление, что пин самолично перенастраивается на выход. Как такое может быть? Мог он из-за уровней спалиться?
Может для входных пинов тоже надо что-то спец. прописывать? Например чтобы увеличить помехозащищенность? Про опции Pull-Up и Pull-Down знаю.
Boris_TS
Если Вам необходимо, чтобы схема работала как положено - без сбоев и проблем, то необходимо указывать ВСЕ конфигурационные constraint'ы. Для того, чтобы посмотреть какие у Вас получились настройки IOB, в Project Navigator'е в окне Design Summary выберите раздел IOB Properties и увидите текущую конфигурацию IOB. Или же можно запустить FPGA Editor и ознакомиться с разложенным проектом более детально (в т.ч. можно рассмотреть какие есть возможности по конфигурированию того или иного фрагмента ПЛИС, например IOB).
syoma
Сорри за ламерский вопрос, а как это посмотреть, если у меня проект не в ISE сделан, а в EDK. То, что я могу посмотреть - это PACEом открыть NGD файл и констрейны. Но он просто пустые ячейки показывает, там где не прописаны констрейны. Обязятельно все поля надо заполнять, что-ли?
Boris_TS
Цитата(syoma @ Apr 25 2009, 20:18) *
То, что я могу посмотреть - это PACEом открыть NGD файл и констрейны.

Точно также как и PACE'ом, ngd файл можно проглядеть FPGA Editor'ом. Просто запускаешь FPGA Editor отдельно, и указываешь ему файлы, которые он попросит.
rv3dll(lex)
Цитата(syoma @ Apr 25 2009, 21:18) *
Сорри за ламерский вопрос, а как это посмотреть, если у меня проект не в ISE сделан, а в EDK. То, что я могу посмотреть - это PACEом открыть NGD файл и констрейны. Но он просто пустые ячейки показывает, там где не прописаны констрейны. Обязятельно все поля надо заполнять, что-ли?


лучще действительно указывать всё - это ещё одна проверка стыковки с внешними устройствами. Если где-то написать не правильно - будет ошибка при размещении ног. А если не указать на LVDS25 например - то он даст ошибку на код, описывающий буфер.
Gothard
Цитата(syoma @ Apr 25 2009, 20:18) *
Сорри за ламерский вопрос, а как это посмотреть, если у меня проект не в ISE сделан, а в EDK

В ISE после раскладки плисины обычно появляется файл *.pad. Возможно, что и в EDK он тоже создается, или это можно указать с помощью опции.
В нем содержится "таблица" (в " потому что в текстовом виде), содержащая характеристики каждого пина.
P.S. Таблицу очень удобно импортировать в Excel (только не забыть указать в качестве разделителя | ) и дальше с помощью автофильтров легко заметить наличие лажи (к прим. отсутствие входного триггера, не тот стандарт сигнала и т.п.) и проверять критичные места.

Цитата(syoma @ Apr 25 2009, 16:27) *
входом управлял выход оптрона с подтягивающим до 3.3В 1кОмным резистром.
Так вот на холодной микросхеме при конфигурации напряжение на пине взлетало до 3.3В, а сразу же по завершении падало до 0,8. При этом Спартан видел, ессно 0. Через 5 мин работы напряжение скачком ставало 3.3В. Пин был сконфигурировани на вход без всяких доп. опций.

Может дело в оптроне?
Попробуйте так - раз у вас там утяжка 1кОм на +3,3В, то после того, как на входе увидите +3,3В (это уже после 5 минут работы) - замкните цепь через резюк ~330 Ом на землю и наблюдайте. Если уровень вернется к 0,8В или около того , то вряд ли плис что-то выдает.... Тем более, если оптрон будет выдавать 0, а плис в то же время 3,3В, то вы будете наблюдать что-то в районе 1-2,5В в зависимости от выходных сопротивлений источников....
А не непропай-ли? Ногу оптрона пошевелите иголочкой - если шевелится, точно непропай...
syoma
Цитата
Может дело в оптроне?
Попробуйте так - раз у вас там утяжка 1кОм на +3,3В, то после того, как на входе увидите +3,3В (это уже после 5 минут работы) - замкните цепь через резюк ~330 Ом на землю и наблюдайте. Если уровень вернется к 0,8В или около того , то вряд ли плис что-то выдает.... Тем более, если оптрон будет выдавать 0, а плис в то же время 3,3В, то вы будете наблюдать что-то в районе 1-2,5В в зависимости от выходных сопротивлений источников....
А не непропай-ли? Ногу оптрона пошевелите иголочкой - если шевелится, точно непропай...

:-)
Ну откусить оптрон я уж с самого начала догадался. Дело в плисине. Но все таки сорри - нее могу найти раскладку пинов после разводки - нету у меня PAD файла. Так как в FPGA Editore посмотреть на это можно?
Boris_TS
Цитата(syoma @ Apr 29 2009, 17:17) *
Так как в FPGA Editore посмотреть на это можно?

Запускаете FPGA Editor отдельно от всех оболочек (для Winsows: Start -> Programs -> XILINX ISE x.y -> Accessories -> FPGA Editor).
В меню FPGA Editor'а выбираем: File -> Open.
В Design File указываем Ваш ncd файл, PCF сама найдет (если он есть), Edit Mode лучше оставить No Logic Changes или Read Only - от греха подальше.
syoma
А дальше? rolleyes.gif
Boris_TS
Цитата(syoma @ Apr 29 2009, 20:45) *
А дальше?

Дальше можно проглядеть все IOB и увидеть где, что и как именно сконфигурированно и выяснить какие изменения надо внести в UCF (али еще в куда, я с EDK не работал, поэтому не знаю в куда вносятся constraint при не ISE проекте).

Вообще-то лучше сначала детально ознакомиться с документацией ПЛИС: узнать все ли IOBUF одинаковы, какие есть особенности в различных банках IO (например, в каких-то банках может не быть встроенных termination резисторов, какие-то ноги - Input Only, какие-то не могут работать в режимах Difout, а какие-то просто Input Only) - и в соответствии с возможностями IOB полностью обложить их constraint'ами - явно прописать все необходимые опции - никаких default быть не должно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.