Перейти к содержанию
    

Libero: на что влияет выбор технологии?

Всем добра.

На западном фронте войска ведут затяжные бои.

По рекомендации уважаемого nice_vladi пересобираю проект и, в начале пути, столкнулся в таким вопросом:

Libero просит указать технологию по умолчанию:

image.thumb.png.aa704e626fe0293b50303bf4cc1a3b47.png

Мой выбор на что-то влияет? Покажется странным, что я задаю такой вопрос только сейчас (не задав его сам себе раньше,

когда довольно плотно проектировал на Альтере), но, однако, лучше задам позже, чем никогда.

В исходном проекте, от которого я пляшу (не моём), в *.prjx выставлено KEY VendorTechnology_IO_DEFT_STD "LVCMOS15"
но какие 1.5 вольта, если там вся обвязка 3.3?! Я точно чего-то не понимаю. Прошу помощи клуба.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, MaratZuev said:

Мой выбор на что-то влияет?

меньше констрейнов размещения писать. также как и на альтере кстати

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

59 minutes ago, des00 said:

меньше констрейнов размещения писать. также как и на альтере кстати

С т.з. констрейнов до сих пор использовал только sdc (а в нём только то задание тактовой частоты (проекты все на MAXII и MAXV) и false paths (последние, чтобы TimeQuest предупреждений не выдавал)), да выводы, объявленные в *.qsf. Если подскажете, что я упускал и упускаю из виду - буду признателен. В любом случае, спасибо Вам за ответ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

38 minutes ago, MaratZuev said:

С т.з. констрейнов, да и всего остального ....

ну статус вы себе сами любой можете поставить, в рамках правил форума. А констрейны пинов, ну вот например из текущего под xilinx:

set_property PACKAGE_PIN C18 [get_ports adc0_dco_p]
set_property PACKAGE_PIN C19 [get_ports adc0_dco_n]
set_property IOSTANDARD LVDS_25 [get_ports adc0_dco*]
set_property DIFF_TERM true [get_ports adc0_dco*]

явно прописываются настройки порта ввода/вывода.

Вот пример для альтеры

set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"
....
set_location_assignment PIN_50 -to fsdo
set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to fsdo
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to fsdo
...
set_instance_assignment -name IO_STANDARD "2.5-V LVTTL" -to nrz_in_d[*]

т.е. задание стандарта ввод-вывода по умолчанию, позволяет не указывать стандарт для большинства пинов. В противном случае, нужно будет прописывать все)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, MaratZuev said:

Мой выбор на что-то влияет?

Выбор есть всегда. Например, открыть мануал на Libero SoC и вбить в поиск Default I/O или не открывать)

Libero SoC User's Guide, page 251 говорит нам:

Quote

Default I/O Technology - Sets all your I/Os to a default value. You can change the values for individual I/Os in the I/O Attribute Editor. The I/O Technology available is family-dependent

Все пины будут в default io technology. Если хотите изменить стандарт каких-то пинов - нужно будет явно указать в attribute editor или ручками, в .pdc.

 

ЗЫ. Если уж вас склонили к работе с Microsemi - так качните мануалы и даташиты с их оф. сайта к вашей версии софта/модели ПЛИС. И сначала ищите там. Там точно *гораздо* компетентнее, чем на форуме будет описано то, что вы ищите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, des00 said:

т.е. задание стандарта ввод-вывода по умолчанию, позволяет не указывать стандарт для большинства пинов. В противном случае, нужно будет прописывать все)

Спасибо.

5 hours ago, nice_vladi said:

открыть мануал на Libero SoC и вбить в поиск Default I/O или не открывать)

Я за первое)

5 hours ago, nice_vladi said:

Все пины будут в default io technology.

Тот же вопрос: на чём внутри чипа это отразиться? Резистор подтяжки или терминирующий - я понимаю, диод на PCI - тоже, а вот эта установка?
Как её искать в мануалах? Вот, например, мы задали стандарт LVCMOS 1.5В (как в моём примере): ПО запрограммирует ПЛИС на работу по этому стандарту?

А если запитаем банк, вывод которого запрограммировали как LVCMOS 1.5В, от 3.3В, что будет?

Самое наглядное, что удалось найти в сети по порогам, вот: http://www.interfacebus.com/voltage_LV_threshold.html 
Нас интересует самая последняя колонка, но как её интерпретировать применительно к разным стандартам LVCMOS?
И что за дыры там зияют в этой колонке по сравнению со всеми остальными?

А, если, наоборот: заявим как LVCMOS 3.3В, а запитаем от 1.5В: как понимаю, ПЛИС имеет полное право вообще на входные воздействия не реагировать?

6 hours ago, nice_vladi said:

ЗЫ. Если уж вас склонили к работе с Microsemi - так качните мануалы и даташиты с их оф. сайта к вашей версии софта/модели ПЛИС.

Уже скачал. Самое время рыться. Кстати, на многие вопросы довольно хорошо help Libero отвечает. По счастью тут нет отсылки к браузеру, как это было у Альтеры (да и то не любой подошёл бы: мне приходилось какую-то старую версию firefox держать для не самого свежего квартуса).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это отвечает за то, что у вас будет дефолтом в I/O Editor. Он весьма пристально следит за тем, что вы творите, но разумеется, не проверяет, каким напряжением вы по факту запитали банк.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, MaratZuev said:

Самое наглядное, что удалось найти в сети по порогам, вот: http://www.interfacebus.com/voltage_LV_threshold.html 
Нас интересует самая последняя колонка, но как её интерпретировать применительно к разным стандартам LVCMOS?
И что за дыры там зияют в этой колонке по сравнению со всеми остальными?

Нашёл ещё более применимую к моей задаче картинку:

image.png.0a3221a529bbf9a7c8232628a8d38cfe.png

Правильно ли я понимаю, что, если я запрограммирую вывод на LVCMOS 1.8V, и на выход, работающий по такому стандарту, подам высокий уровень, то, судя по последнему столбцу, он имеет полное право установиться в 1.45В (даже, если питание этой ПЛИС, как у меня, будет 3.3В), что, будучи поданным на логику, работающую (и запитанную) от 3.3В (или, если это - ПЛИС, запрограммированная по стандарту LVCMOS 3.3V), этот уровень будет проигнорирован такой логикой, т.к её порог по единице находится на уровне 2.0В? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, MaratZuev said:

Правильно ли я понимаю, что, если я запрограммирую вывод на LVCMOS 1.8V, и на выход, работающий по такому стандарту, подам высокий уровень, то, судя по последнему столбцу, он имеет полное право установиться в 1.45В (даже, если питание этой ПЛИС, как у меня, будет 3.3В)

Нет, какое будет питание, такое и LVCMOS, а на таблице пороги напряжений нуля или единицы. А задается по разному потому что драйвер ПЛИС может быть спроектирован не универсальными и с ограничениями в некоторых режимах. Например, у вашей любимой альтеры, LVCMOS 3.3 может работать только с током драйвера 2ма, тогда как LVCMOS 2.5 2/4/8 mA. Используется режим работы и при рассчете выполнения временных констрейнов (там по хорошему же еще надо емкость линии задавать на ближнем и дальнем конце и т.д.).

Подытожу, лучше ставить то, что у вас будет в реальности и следить за тем, каким напряжением питаете банк. В противном случае, корректная работа софта и плис не гарантируется.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, des00 said:

Нет, какое будет питание, такое и LVCMOS, а на таблице пороги напряжений нуля или единицы.

LVCMOS определяет пороги, а вот кто определяет само LVCMOS? Установки или питание - я про это спрашивал.

6 hours ago, des00 said:

Например, у вашей любимой альтеры, LVCMOS 3.3 может работать только с током драйвера 2ма

Вот варианты выбора стандартов моей любимой альтеры (чем отличается 3.3-V LVCMOS от 3.3-V LVCMOS (default)?)

image.thumb.png.4011c3097eac65aa5aa81f9a3d44d122.png

вот варианты выбора с LVCMOS 3.3

image.thumb.png.5d9ad8dbe07263f3f36bc8521e2af06e.png

а вот - с 2.5 (он, почему-то, не маркируется как LVCMOS)

image.thumb.png.503decffbefa338ccec2ce2d8fe81e44.png

(направление вывода на эти установки (по кр. мере здесь, в pin planner-е) не влияет)

6 hours ago, des00 said:

Подытожу, лучше ставить то, что у вас будет в реальности и следить за тем, каким напряжением питаете банк. В противном случае, корректная работа софта и плис не гарантируется.

Это всё понятно, что делать следует комильфо и не только здесь.

12 hours ago, gosha-z said:

Отписал в личку

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

44 minutes ago, MaratZuev said:

LVCMOS определяет пороги, а вот кто определяет само LVCMOS? Установки или питание - я про это спрашивал.

уже ответил вам, напряжение банка. Очевидно же, что при питании банка 1.2В, LVCMOS_33 не получить никак, точно также как и при питании 3.3В, не получить LVCMOS_18. А вообще, у каждой плис есть документация с табличкой допустимых режимов ввода вывода. Вот например Для xilinx 7 series в приложении. xilinx_io.thumb.png.50446688dd36fed565fc6e8070074408.png

44 minutes ago, MaratZuev said:

Вот варианты выбора стандартов моей любимой альтеры (чем отличается 3.3-V LVCMOS от 3.3-V LVCMOS (default)?)

ничем. И как вы уже заметили, возможности по току, в разных режимах отличаются. Поэтому возможен хак, когда драйвер конфигурируется в наибольший ток, установкой режима с малым напряжением, а на деле подается честные 3.3В. В этом режиме может сгореть выходной драйвер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...