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

Проблема с шинами в IO Designer

IO Designer позволяет комбинировать сигналы в шины с помощью команды Combine. Об этом знают все.

Например идут сигналы DD0,DD1,DD2,DD3,DD4...DD31 они их комбинирует в DD[0:31], соответственно на символе раскладывает в DD0..DD31. Все без проблем экспортируется в схему.

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

 

И тут возникает один серьезный глюк. Обнаружил я его быстро, не мог долго понять, как его нейтрализовать.

 

Если на схему вставить функциональный символ с вышеуказанной шиной, даже с опцией Net и NetNames, чтобы исключить кривые руки. Наш символ сядет в схему с шиной DD[0:31] , эту шину можно продолжить и подключить к ней резисторы, или другие чипы. Все работает нормально, проходит все аннотации вплоть до того момента как нужно развести конкретную трассу от резистора до пина чипа на плате нашей микросхемы с шиной DD[0:31]. Так вот при входе шины в функциональный символ, сигналы шины назначаются в случайном порядке пинам чипа. Если скажем идет сигнал DD5 с резистора R1 на пин A12, при выделени пина резистора на схеме и плате, покажет сигнал DD5, но в чип он может прийти на любой пин из группы шины DD[0:31], и например на пин DD9.

Я долго проверял, это настоящий маразм, но это именно так и работает. Причину почему так работает, установил, только сравнивая, как модно говорить "пин ту пин", дизайн из тренинга CES.

Выяснилось, нельзя доверять команде IOD "Combine". Это ловушка. И сигналы шине нужно назначать вот таким образом DD<0>, DD<1>...DD<31>. Треугольные скобки обязательно должны быть вокруг цифры.

Тогда при импорте из Spreadsheet IOD автоматом примет ее как шину и без команды Combine все сигналы сгруппирует. Вот такая шина будет работать четко.

Все что IOD не скомбинировал сам, лучше не объединять, это источник потенциальный проблем, если потом будет использоваться шина из функционального символа.

На голые PCB символы это не влияет. Можно комбинировать как угодно, все равно шины там идут в пинах по отдельности.

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


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

Например идут сигналы DD0,DD1,DD2,DD3,DD4...DD31 они их комбинирует в DD[0:31], соответственно на символе раскладывает в DD0..DD31.

IOD комбинирует в DD<0:31>

 

Так вот при входе шины в функциональный символ, сигналы шины назначаются в случайном порядке пинам чипа. Если скажем идет сигнал DD5 с резистора R1 на пин A12, при выделени пина резистора на схеме и плате, покажет сигнал DD5, но в чип он может прийти на любой пин из группы шины DD[0:31], и например на пин DD9.

какая разница, все равно будет пару итераций по оптимизации связей

 

Выяснилось, нельзя доверять команде IOD "Combine". Это ловушка. И сигналы шине нужно назначать вот таким образом DD<0>, DD<1>...DD<31>. Треугольные скобки обязательно должны быть вокруг цифры.

IOD не даст ввести сигнал с треугольными скобками в имени

 

сигналы с треугольными скобками в имени будут при вводе сигнала с Range

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


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

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

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

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

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

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

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

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

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

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