|
|
  |
Методика применения I/O_Designer |
|
|
|
Nov 25 2009, 14:00
|
Знающий
   
Группа: Свой
Сообщений: 791
Регистрация: 14-05-05
Из: Минск
Пользователь №: 5 035

|
Цитата(fill @ Nov 20 2009, 11:40)  Нашел способ: стр. 94-95 описания
1. Tools > Types Compatibility вводим совместимые типы, т.е. для данного случая VCCO и VCC, VCCO и VCCAUX 2. Перетаскиваем сигнал из списка сигналов в список пинов с нажатыми клавишами Ctrl+Shift (естественно перед выполнением операции сделать Unassign для даннного сигнала 3.3V и сигналы 3.3V_0 и 3.3V_1 удалить) 1.сделал
2.перетащить не получается  появляется Cannot swap pins with NOSWAP group для сигнала +3.3V какое должно стоять значение Type
--------------------
Будь ты рабочий, будь ты профессор, а DxD-IOD-Exp должен знать каждый, чтобы не стать пособником империализма.
|
|
|
|
|
Nov 26 2009, 07:03
|

Частый гость
 
Группа: Свой
Сообщений: 167
Регистрация: 7-02-08
Из: Ростовская обл.
Пользователь №: 34 835

|
Цитата(Frederic @ Nov 25 2009, 17:00)  для сигнала +3.3V какое должно стоять значение Type Попробуй VCCO, у меня получилось с ним.
|
|
|
|
|
Nov 27 2009, 14:02
|
Знающий
   
Группа: Свой
Сообщений: 791
Регистрация: 14-05-05
Из: Минск
Пользователь №: 5 035

|
Цитата(Inpharhus @ Nov 26 2009, 09:03)  Попробуй VCCO, у меня получилось с ним. наверно пора записаться на курсы "Успокоения нервной системы" не хрена не могу прописать VCCO и VCCAUX под +3.3V а кажисссь проще простого "2. Перетаскиваем сигнал из списка сигналов в список пинов с нажатыми клавишами Ctrl+Shift (естественно перед выполнением операции сделать Unassign для даннного сигнала 3.3V"
Эскизы прикрепленных изображений
--------------------
Будь ты рабочий, будь ты профессор, а DxD-IOD-Exp должен знать каждый, чтобы не стать пособником империализма.
|
|
|
|
|
Nov 27 2009, 14:56
|

Гуру
     
Группа: Модераторы
Сообщений: 4 361
Регистрация: 17-08-04
Из: КП Две Поляны
Пользователь №: 512

|
Цитата(Frederic @ Nov 27 2009, 17:02)  наверно пора записаться на курсы "Успокоения нервной системы" не хрена не могу прописать VCCO и VCCAUX под +3.3V а кажисссь проще простого "2. Перетаскиваем сигнал из списка сигналов в список пинов с нажатыми клавишами Ctrl+Shift (естественно перед выполнением операции сделать Unassign для даннного сигнала 3.3V" Я так понял ты пытаешься претащить уже назначеные, что естественно запрещено. Сделай Unassign всех пинов +3.3V, а также пинов VCCO, VCCAUX которые надо назначить на +3.3V. И только потом делай общее присвоение.
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Nov 27 2009, 15:01
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Frederic @ Nov 27 2009, 17:02)  а кажисссь проще простого Надо обязательно сделать UNASSIGN всем тем цепям, которые будут потом одним питанием, и VCCAUX, и VCCO, всем, потом их всех разом (с ctrl/shift) выделить в pins list, и всех скопом перетащить на сигнал 3.3v, и бросить туда с ctrl+shift. К превеликому сожалению нельзя добавлять сигналы по одному несмотря на Type compatibility. Только из pin list и только оптом. Как всегда "особенности национальной ...". Т.е. для перебрасывания одного питания в другое место придется опять оперировать всей кучей.
|
|
|
|
|
Nov 27 2009, 15:08
|
Знающий
   
Группа: Свой
Сообщений: 791
Регистрация: 14-05-05
Из: Минск
Пользователь №: 5 035

|
Цитата(fill @ Nov 27 2009, 16:56)  ...а также пинов VCCO, VCCAUX которые надо назначить на +3.3V..... прошлый проект, он модернизируется и VCCO, VCCAUX висели на сигналах VCCO, VCCAUX соответственно  теперь, одним словом - полная виктория для SM Цитата К превеликому сожалению нельзя добавлять сигналы по одному несмотря на Type compatibility. Только из pin list и только оптом. Как всегда "особенности национальной ...". Т.е. для перебрасывания одного питания в другое место придется опять оперировать всей кучей. т.е. ты хотел бы каждый банк посадить на свое питание ?
--------------------
Будь ты рабочий, будь ты профессор, а DxD-IOD-Exp должен знать каждый, чтобы не стать пособником империализма.
|
|
|
|
|
Nov 27 2009, 16:01
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Frederic @ Nov 27 2009, 18:08)  т.е. ты хотел бы каждый банк посадить на свое питание ? Не только хотел, но и посадил  У меня часть банков на 1.8 вольтах, часть на 3.3. Но это совершенно не суть, самое главное, что если я задумываю менять банки по ходу дела из соображения удобства разводки, то 3.3 вольта приходится опять полностью unassign, и опять скопом заново assign. Вместо того, чтобы один-два пина унассигн/ассигн.
|
|
|
|
|
Nov 27 2009, 21:31
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 19-01-06
Пользователь №: 13 363

|
Коллеги, прокомментируйте, где у меня ошибка: мне необходимо также часть банков повесить на напряжение 2,5 а часть на 3,3. Я создаю два сигнала: 2V5 и 3V3. Сажаю на эти сигналы соответствующие VCCO. Далее делаю символы, причем добавляю VCCO к символам (к PCB-символам). Беда в том, что когда я пробовал НЕ добавлять эти пины к PCB символам, у меня генерировался PDB без этих сигналов. Ставлю функциональный символ на схему DxD. На подсхеме вижу, что к VCCO добавлены отрезки цепей с маркировкой: 2V5 и 3V3. Оно все бы хорошо, да беда в том, что когда я делаю аннотацию в Expedition, соответствующим пинам присвоена цепь с суффиксом, т.е. 2V_60. Понятно почему: эти сигналы не объявлены глобальными на подсхеме, генерируемой IOD, хотя на схеме верхнего уровня они объявлены глобальными. Итак, вопрос: что делать? Можно, наверное, добавить эти сигналы на функциональный символ, но хочется, чтобы все неявно было задано. IOD, зараза, как только меняешь функциональный символ, ломает все твои символы и приходится заново их формировать. Кстати, когда я посадил неиспользуемые клоковые входы на землю, у меня IOD нагенерил кучу символов с этими входами... все пришлось вручную удалять. Короче, каждая итерация, внесение изменений обходятся большим количеством ручной работы. Спрашивается: на кой хрен такая автоматизация, когда она чревата побочным ручным трудом? В сумме убил на IOD недели две чистого рабочего времени, и до сих пор все гладко не получается
|
|
|
|
|
Nov 27 2009, 21:47
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(dmmos @ Nov 28 2009, 00:31)  Беда в том, что когда я пробовал НЕ добавлять эти пины к PCB символам, у меня генерировался PDB без этих сигналов. Быть того не может. Если в Signals есть и 3V3 и 2V5, и эти сигналы приассигнены к какому-то множеству пинов, и режим генерации символов "только использумые пины" и "без питаний", то они совершенно точно попадают в PDB. Как вариант - Вы забывали закрывать плату в Exp, и pdb в результате просто не перегенерировался. Это да, неприятность, что ментор не может подружить свои программы друг с другом, чтобы они все работали впараллель на одном проекте.
|
|
|
|
|
Nov 27 2009, 23:18
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 19-01-06
Пользователь №: 13 363

|
Цитата(SM @ Nov 28 2009, 00:47)  Быть того не может. Если в 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. Долго думает и ничего не меняет, ни на что не ругается. Когда же наконец софтомейкеры начнут тестировать свои творения на реальных проектах, а не рафинированных?!
|
|
|
|
|
Nov 27 2009, 23:38
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(dmmos @ Nov 28 2009, 02:18)  Вываливается сообщение: Cannot swap pins with NOSWAP group. Попытка поиграться с назначением группы свопирования удачи также не принесла. Сижу, подсчитываю потерянное время, и тихо матерю менторовцев... Ну это только что обсуждали на примере VCCO/VCCAUX - надо сделать unassign ВСЕМ gnd, потом выделить в pins ВСЕ то, что надо на GND, и перещить на сигнал GND, бросив с ctrl+shift. Не забыв убедиться в наличии TYpe Compatibility Цитата(dmmos @ Nov 28 2009, 02:18)  Кстати, вот еще один глюк: если на VCCO пины не назначать явно сигнал, но в настройках на вкладке Symbol Generation задать VCCO=2V5, то ни хрена не назначается, на плате эти пины идут с именем VCC, хотя оно у меня НИГДЕ не фигурирует. Но да ладно, этот глюк хотя бы обойти можно. Это не совсем глюк, а может и совсем не глюк, а готовить не умеем... Оно вполне назначатеся, в процессе когда делается Assign All после задания IO-стандартов всем сигналам. Причем все сигналы автоматом появляются в Signaks. Но вот как автоматически переназначить после тусования IO-банков и IO-стандартов в них я так и не понял.
|
|
|
|
|
Nov 29 2009, 12:06
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 19-01-06
Пользователь №: 13 363

|
Цитата Ну это только что обсуждали на примере 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. Таким образом, пока ментор сделал лишь более-менее приличную рисовалку символов ПЛИС. Все остальное по сути в стадии альфа-тестирования.
|
|
|
|
|
Nov 29 2009, 13:10
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(dmmos @ Nov 29 2009, 15:06)  По-моему, задавать IO-стандарт - дело бесполезное. Не, не бесполезное. Когда я первый раз ввел на "чистый лист" все сигналы и все IO-стандарты, IOD автоматически раскидал сигналы по банкам и создал все необходимые X.XV (у меня 1.2, 3.3 и 1.8), и приассигнил их к пинам. А вот как потом в процессе оптимизации, после того, как я перетусовал банки, заставить его переассигнить все автоматом, я так и не допетрил. Цитата(dmmos @ Nov 29 2009, 15:06)  Сдается мне, что надежней и БЫСТРЕЕ было бы сделать символы в IOD, экспортировать их в ЦБ, и работать без IOD. Таким образом, пока ментор сделал лишь более-менее приличную рисовалку символов ПЛИС. Все остальное по сути в стадии альфа-тестирования. Ну да, я с этим в принципе согласен. Есть многое, но все какое-то сырое и многие действия не поддаются логике, т.е. надо просто знать наизуть, что делается оно так, и только так. Будем ждать и надеяться. Цитата(dmmos @ Nov 29 2009, 15:06)  они и так, даже без задания сигнала, передаются как GND. Чудеса какие-то... В pdb попадают только назначенные сигналы.
|
|
|
|
|
Nov 29 2009, 16:46
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 19-01-06
Пользователь №: 13 363

|
Вот, кстати, продолжение моего романа с 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 в символы. Пришлось опять вручную выкинуть. Прошу взглянуть на результат:
В придачу, опять скинул назначения 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> потому, что он сидит на земле (через функциональный символ)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|