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

Методика применения I/O_Designer

Нашел способ: стр. 94-95 описания

 

1. Tools > Types Compatibility вводим совместимые типы, т.е. для данного случая VCCO и VCC, VCCO и VCCAUX

2. Перетаскиваем сигнал из списка сигналов в список пинов с нажатыми клавишами Ctrl+Shift (естественно перед выполнением операции сделать Unassign для даннного сигнала 3.3V и сигналы 3.3V_0 и 3.3V_1 удалить)

1.сделал

post-5035-1259156694_thumb.png

2.перетащить не получается :( появляется Cannot swap pins with NOSWAP group

для сигнала +3.3V какое должно стоять значение Type

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


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

для сигнала +3.3V какое должно стоять значение Type

Попробуй VCCO, у меня получилось с ним.

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


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

Попробуй VCCO, у меня получилось с ним.

наверно пора записаться на курсы "Успокоения нервной системы"

не хрена не могу прописать VCCO и VCCAUX под +3.3V

а кажисссь проще простого "2. Перетаскиваем сигнал из списка сигналов в список пинов с нажатыми клавишами Ctrl+Shift (естественно перед выполнением операции сделать Unassign для даннного сигнала 3.3V"

post-5035-1259330340_thumb.png

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


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

наверно пора записаться на курсы "Успокоения нервной системы"

не хрена не могу прописать VCCO и VCCAUX под +3.3V

а кажисссь проще простого "2. Перетаскиваем сигнал из списка сигналов в список пинов с нажатыми клавишами Ctrl+Shift (естественно перед выполнением операции сделать Unassign для даннного сигнала 3.3V"

 

Я так понял ты пытаешься претащить уже назначеные, что естественно запрещено.

Сделай Unassign всех пинов +3.3V, а также пинов VCCO, VCCAUX которые надо назначить на +3.3V. И только потом делай общее присвоение.

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


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

а кажисссь проще простого

Надо обязательно сделать UNASSIGN всем тем цепям, которые будут потом одним питанием, и VCCAUX, и VCCO, всем, потом их всех разом (с ctrl/shift) выделить в pins list, и всех скопом перетащить на сигнал 3.3v, и бросить туда с ctrl+shift.

 

К превеликому сожалению нельзя добавлять сигналы по одному несмотря на Type compatibility. Только из pin list и только оптом. Как всегда "особенности национальной ...". Т.е. для перебрасывания одного питания в другое место придется опять оперировать всей кучей.

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


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

...а также пинов VCCO, VCCAUX которые надо назначить на +3.3V.....

прошлый проект, он модернизируется и VCCO, VCCAUX висели на сигналах VCCO, VCCAUX соответственно :)

теперь, одним словом - полная виктория

 

для SM

К превеликому сожалению нельзя добавлять сигналы по одному несмотря на Type compatibility. Только из pin list и только оптом. Как всегда "особенности национальной ...". Т.е. для перебрасывания одного питания в другое место придется опять оперировать всей кучей.

т.е. ты хотел бы каждый банк посадить на свое питание ?

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


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

т.е. ты хотел бы каждый банк посадить на свое питание ?

Не только хотел, но и посадил :) У меня часть банков на 1.8 вольтах, часть на 3.3. Но это совершенно не суть, самое главное, что если я задумываю менять банки по ходу дела из соображения удобства разводки, то 3.3 вольта приходится опять полностью unassign, и опять скопом заново assign. Вместо того, чтобы один-два пина унассигн/ассигн.

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


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

Коллеги, прокомментируйте, где у меня ошибка:

мне необходимо также часть банков повесить на напряжение 2,5 а часть на 3,3. Я создаю два сигнала: 2V5 и 3V3. Сажаю на эти сигналы соответствующие VCCO. Далее делаю символы, причем добавляю VCCO к символам (к PCB-символам). Беда в том, что когда я пробовал НЕ добавлять эти пины к PCB символам, у меня генерировался PDB без этих сигналов. Ставлю функциональный символ на схему DxD. На подсхеме вижу, что к VCCO добавлены отрезки цепей с маркировкой: 2V5 и 3V3. Оно все бы хорошо, да беда в том, что когда я делаю аннотацию в Expedition, соответствующим пинам присвоена цепь с суффиксом, т.е. 2V_60. Понятно почему: эти сигналы не объявлены глобальными на подсхеме, генерируемой IOD, хотя на схеме верхнего уровня они объявлены глобальными. Итак, вопрос: что делать? Можно, наверное, добавить эти сигналы на функциональный символ, но хочется, чтобы все неявно было задано.

IOD, зараза, как только меняешь функциональный символ, ломает все твои символы и приходится заново их формировать. Кстати, когда я посадил неиспользуемые клоковые входы на землю, у меня IOD нагенерил кучу символов с этими входами... все пришлось вручную удалять. Короче, каждая итерация, внесение изменений обходятся большим количеством ручной работы. Спрашивается: на кой хрен такая автоматизация, когда она чревата побочным ручным трудом? В сумме убил на IOD недели две чистого рабочего времени, и до сих пор все гладко не получается :(

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


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

Беда в том, что когда я пробовал НЕ добавлять эти пины к PCB символам, у меня генерировался PDB без этих сигналов.

Быть того не может. Если в Signals есть и 3V3 и 2V5, и эти сигналы приассигнены к какому-то множеству пинов, и режим генерации символов "только использумые пины" и "без питаний", то они совершенно точно попадают в PDB. Как вариант - Вы забывали закрывать плату в Exp, и pdb в результате просто не перегенерировался. Это да, неприятность, что ментор не может подружить свои программы друг с другом, чтобы они все работали впараллель на одном проекте.

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


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

Быть того не может. Если в Signals есть и 3V3 и 2V5, и эти сигналы приассигнены к какому-то множеству пинов, и режим генерации символов "только использумые пины" и "без питаний", то они совершенно точно попадают в PDB. Как вариант - Вы забывали закрывать плату в Exp, и pdb в результате просто не перегенерировался. Это да, неприятность, что ментор не может подружить свои программы друг с другом, чтобы они все работали впараллель на одном проекте.

 

Не, я ничего не забывал, я уже так намучился, что порядок закрытия-открытия выучил как "отче наш". Но тем не менее ситуация изменилась: я поставил Update2. После этого напряжения назначились и передались в плату. Однако есть одна маленькая и одна большая неприятность. Маленькая: когда стал делать Update символам, то мастер зачем-то запихнул VCCO пины в PCB символы, хотя когда я их создавал, была выбрана опция не добавлять пины питания. Ну ладно, я их вручную выкинул - все прокатило. А вот большая.

Мне надо было назначить GND на неиспользуемые пины Clock. Еще до установки апдейта2, я сделал Tools-Type compatibility-GND=CLOCK. После чего перетащил сигнал GND на нужные пины клока, удерживая Ctrl+Shift. Все получилось. Однако, после установки апдейта, IOD мне сообщил:

# Assignment for signal GND is not valid.

# Invalid pins will be unassigned.

И, как обещал, нахрен удалил мои назначения. И повторить фокус не удается. Вываливается сообщение: Cannot swap pins with NOSWAP group. Попытка поиграться с назначением группы свопирования удачи также не принесла. Сижу, подсчитываю потерянное время, и тихо матерю менторовцев...

{чуть позже: видимо, это был рудимент первого апдейта. Удалил сигнал GND и создал заново. Группа свопирования осталась неназначенная, а раньше было NOSWAP. После чего удалось успешно назначить GND на нужные пины}

{{Еще чуть позже: однако, пока не добавил этот GND сигнал на функциональный символ, в плату передавался на пины клока сигнал GND_66. После добавления - ОК}}

Кстати, вот еще один глюк: если на VCCO пины не назначать явно сигнал, но в настройках на вкладке Symbol Generation задать VCCO=2V5, то ни хрена не назначается, на плате эти пины идут с именем VCC, хотя оно у меня НИГДЕ не фигурирует. Но да ладно, этот глюк хотя бы обойти можно. Правда, не проверял актуальность глюка на втором апдейте.

И еще один глюк, на закуску: когда довел число IO до 200 (почти все доступные IO задействованы, включая VREF), причем все они сидят на одном SWAP GROUP, перестала работать функция Unravel. Долго думает и ничего не меняет, ни на что не ругается.

Когда же наконец софтомейкеры начнут тестировать свои творения на реальных проектах, а не рафинированных?!

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


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

Вываливается сообщение: Cannot swap pins with NOSWAP group. Попытка поиграться с назначением группы свопирования удачи также не принесла. Сижу, подсчитываю потерянное время, и тихо матерю менторовцев...

Ну это только что обсуждали на примере VCCO/VCCAUX - надо сделать unassign ВСЕМ gnd, потом выделить в pins ВСЕ то, что надо на GND, и перещить на сигнал GND, бросив с ctrl+shift. Не забыв убедиться в наличии TYpe Compatibility

 

Кстати, вот еще один глюк: если на VCCO пины не назначать явно сигнал, но в настройках на вкладке Symbol Generation задать VCCO=2V5, то ни хрена не назначается, на плате эти пины идут с именем VCC, хотя оно у меня НИГДЕ не фигурирует. Но да ладно, этот глюк хотя бы обойти можно.

Это не совсем глюк, а может и совсем не глюк, а готовить не умеем... Оно вполне назначатеся, в процессе когда делается Assign All после задания IO-стандартов всем сигналам. Причем все сигналы автоматом появляются в Signaks. Но вот как автоматически переназначить после тусования IO-банков и IO-стандартов в них я так и не понял.

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


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

Ну это только что обсуждали на примере VCCO/VCCAUX - надо сделать unassign ВСЕМ gnd, потом выделить в pins ВСЕ то, что надо на GND, и перещить на сигнал GND, бросив с ctrl+shift. Не забыв убедиться в наличии TYpe Compatibility

 

Разумеется, всем GND был сделан unassign. К слову, нет необходимости делать assign на стандартные пины GND - они и так, даже без задания сигнала, передаются как GND.

 

Это не совсем глюк, а может и совсем не глюк, а готовить не умеем... Оно вполне назначатеся, в процессе когда делается Assign All после задания IO-стандартов всем сигналам. Причем все сигналы автоматом появляются в Signaks.

 

По-моему, задавать IO-стандарт - дело бесполезное. Я попробовал было задать 2,5V и 3,3V LVCMOS, потом сделал передачу constraints в DxD, потом, через некоторое время, сделал import constraints из DxD - у меня слетели все назначения IO-стандарт, при этом в логах сетовалось на то, что вроде как ref не задано или что-то в этом духе. Ну да, у меня Vref пины используются как io, но это же не повод скидывать назначения? А вот еще один глюк. Читаем описание:

When a signal is assigned a specific voltage, the entire bank is affected and unused pins are

changed to the same I/O standard

так вот, попробуйте задать сигналу (или пину) какой-нибудь I/O standard - ни хрена entire bank не affected и неиспользуемые пины вовсе не changed to the same I/O standard

 

 

 

Вот сейчас еще один сюрприз при синхронизации: cannot export the constraints to the iCDB:Error: can not create differential pair in the CES configuration.

Сдается мне, что надежней и БЫСТРЕЕ было бы сделать символы в IOD, экспортировать их в ЦБ, и работать без IOD. Таким образом, пока ментор сделал лишь более-менее приличную рисовалку символов ПЛИС. Все остальное по сути в стадии альфа-тестирования.

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


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

По-моему, задавать IO-стандарт - дело бесполезное.

Не, не бесполезное. Когда я первый раз ввел на "чистый лист" все сигналы и все IO-стандарты, IOD автоматически раскидал сигналы по банкам и создал все необходимые X.XV (у меня 1.2, 3.3 и 1.8), и приассигнил их к пинам. А вот как потом в процессе оптимизации, после того, как я перетусовал банки, заставить его переассигнить все автоматом, я так и не допетрил.

 

Сдается мне, что надежней и БЫСТРЕЕ было бы сделать символы в IOD, экспортировать их в ЦБ, и работать без IOD. Таким образом, пока ментор сделал лишь более-менее приличную рисовалку символов ПЛИС. Все остальное по сути в стадии альфа-тестирования.

Ну да, я с этим в принципе согласен. Есть многое, но все какое-то сырое и многие действия не поддаются логике, т.е. надо просто знать наизуть, что делается оно так, и только так. Будем ждать и надеяться.

 

они и так, даже без задания сигнала, передаются как GND.

Чудеса какие-то... В pdb попадают только назначенные сигналы.

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


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

Вот, кстати, продолжение моего романа с IOD:

После очередной синхронизации, получил такой лог (привожу слегка в сокращенном виде)

 

# signal 'GND' has been unassigned - type of signal GND is not compatible with type of pin A11

# signal 'MSEL<1>' has been unassigned

# signal 'GND' has been set as 'DIFF'

# signal 'MSEL<1>' has been set as 'DIFF'

# Signal GND has been set to diff.

# The differential pair can't be imported from the CES. The electrical net '' connected to the pin '' has no equivalent signal in the I/O Designer.

 

Комментарии: чуваку в очередной раз не понравилось, что пины клока у меня сидят на земле, хотя ранее чувак это сам одобрил. В итоге, все назначения земли на неиспользуемые клок-входы были похерены. Непонятно почему конфигурационный сигнал MSEL1 был также похерен. И в довершение картины, GND и MSEL1 были назначены дифферециальными сигналами с соответствующей авто-правкой функционального символа. Сижу, матерюсь, и ручками все правлю назад.

 

А потом я сделал своп сигналов, в результате чего в бакне 2 сигналов стало больше. Дале синхронизация с апдейтом символов. При апдейте опять назойливо закинул VCCO в символы. Пришлось опять вручную выкинуть. Прошу взглянуть на результат:post-13363-1259512269_thumb.png

В придачу, опять скинул назначения GND на клоки и MSEL1, сделал их DIFF. Пришлось опять ручками - заново. Только теперь я залочил эти сигналы. При очередной синхронизации получил:

 

cannot set signal 'GND' as 'DIFF'

cannot set signal 'MSEL<1>' as 'DIFF'

The differential pair can't be imported from the CES. The electrical net '' connected to the pin '' has no equivalent signal in the I/O Designer.

 

Понял толко одно: он ругается именно на MSEL<1> потому, что он сидит на земле (через функциональный символ)

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


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

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

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

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

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

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

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

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

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

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