|
Проблема экспорта из IOD 7.3, ошибка при экспортировании Schematic and Symbols |
|
|
|
Oct 29 2008, 13:46
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 4-05-05
Из: МО Жел-дор
Пользователь №: 4 721

|
Цитата(fill @ Oct 29 2008, 13:41)  IOD проверяет соответствие текущего типа сигнала с текущим типом пина, а не с возможными типами многозадачных пинов. Ошибки здесь исключены потому что вы не сможете выбрать тип пина, который не совпадает с возможностями данного пина ибо в списке типов пина есть только те типы которые допустимы для данного пина согласно документации от производителя. Попробуйте ввести указанный вами сигнал, назначить ему тип IO и присвоить его на пин, таких пинов первоначально много. А теперь поменяйте тип сигнала - если этот пин может нести данную функцию, то его тип автоматически изменится на тип совпадающий с типом сигнала и сигнал останется назначенным в пин, если нет, то произойдет отказ от назначения - сигнал станет не назначенным в пин. В IOD есть специальная закладка Special в которой собраны многозадачные и специальные пины. Да спасибо. Убедился на примере - Тип пина IO, но со свойствами дифпары в названии ножек. На прямую его нельзя соотнести с сигналом дифференциальным. Но если с overwrite (+SHIFT), то IOD находит дифпары правильно.
|
|
|
|
|
Nov 1 2008, 14:57
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 4-05-05
Из: МО Жел-дор
Пользователь №: 4 721

|
Доброе время суток. Имеется недопонимание в работе IOD и DxD.
Предпосылки. Создаю в IOD символ для микросхемы Spartan XC3S500E в корпусе 320 BGA. Получаю в DxD локальные символы этой микросхемы. Отлично. Теперь я на схему помещаю 2 УГО этой микросхемы , которые создал IOD и соединяю их между собой. Делаю упаковку и перехожу в Expedition PCB. Расставляю 2 корпуса микросхемы и получаю ну не очень хорошие соединения. Не оптимальные. Ну, думаю я, для того и создан IOD в помощь разработчику, чтобы эти соединения оптимизировать. Отлично, запускаю IOD он весело все оптимизирует(смотреть аж приятно и дрожь пробирает, сколько бы руками парился), делаю синхронизацию и получаю, что ничего не изменилось. Т.к. символы созданые IODом используются и в 1 и во 2 УГО микросхем - IOD, как я понял - меняет их одновременно и ничего не меняется. Т.е. оптимизация не получается. Не разъясните ли мне, как эти микросхемы инстанцировать, т.е. сделать каждый символ уникальным чтоли, ну или другой путь, как сделать оптимизацию связей. Простой путь в лоб - создать IODом 2 разных символа с одним и тем же корпусом, но это не наш метод. Хочется по правильному.
|
|
|
|
|
Nov 2 2008, 08:07
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 4-05-05
Из: МО Жел-дор
Пользователь №: 4 721

|
fill Спасибо, буду разбиратся. Цитата(dch @ Nov 2 2008, 01:06)  А что это такое IOD, ссылку дайте плис, а то закостянел в своей непробиваемости http://megratec.ru/catalog/117/118/18/
|
|
|
|
|
Nov 17 2008, 09:07
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 4-05-05
Из: МО Жел-дор
Пользователь №: 4 721

|
Цитата(fill @ Nov 1 2008, 23:35)  В полном соответствии с этим создал две базы. У каждой микросхемы есть по 16 дифпар. Экспорт в Expedition PCB проходит нормально. Пытаюсь загрузить в IOD LayoutDB.lyt в обной базе все проходит нормально. А вот в другой получаю сообщение (см. прикрепленный файл.) что дифпары (split) разбиты. Пробовал залочить дифпары - не помогает. Пробовал присвоить свойство NOSWAP - то же, но вид с боку. Подскажите, как сделать так, чтобы при экспорте в IOD дифпары не разбивались. Причем, самое интересное, что дифпары разбиваются с ренумерацией На VHDL это выглядит так Код entity WEST_XC3S500E is port ( SYS_BUS_DIFF1_N<0> : inout std_logic; SYS_BUS_DIFF1_N<10> : inout std_logic; SYS_BUS_DIFF1_N<11> : inout std_logic; SYS_BUS_DIFF1_N<12> : inout std_logic; SYS_BUS_DIFF1_N<13> : inout std_logic; SYS_BUS_DIFF1_N<14> : inout std_logic; SYS_BUS_DIFF1_N<15> : inout std_logic; SYS_BUS_DIFF1_N<1> : inout std_logic; SYS_BUS_DIFF1_N<2> : inout std_logic; SYS_BUS_DIFF1_N<3> : inout std_logic; SYS_BUS_DIFF1_N<4> : inout std_logic; SYS_BUS_DIFF1_N<5> : inout std_logic; SYS_BUS_DIFF1_N<6> : inout std_logic; SYS_BUS_DIFF1_N<7> : inout std_logic; SYS_BUS_DIFF1_N<8> : inout std_logic; SYS_BUS_DIFF1_N<9> : inout std_logic; COM_RX : in std_logic; COM_TX : out std_logic; SELF_CLK : in std_logic; SELF_DIN : in std_logic; SELF_DOUT : out std_logic; SELF_HSWAP : in std_logic; SELF_INIT_B : out std_logic; SELF_M : in std_logic_vector (0 to 2); SRAM_CE2 : inout std_logic; SRAM_CLK : inout std_logic; SRAM_DATA : inout std_logic_vector (0 to 31); SRAM_DATA_P : inout std_logic_vector (0 to 3); SRAM_NADV : inout std_logic; SRAM_NBW : inout std_logic_vector (1 to 4); SRAM_NCE1 : inout std_logic; SRAM_NCE2 : inout std_logic; SRAM_NCEN : inout std_logic; SRAM_NDE : inout std_logic; SRAM_NLBD : inout std_logic; SRAM_NRW : inout std_logic; SRAM_ZZ : inout std_logic; SW : in std_logic_vector (0 to 2); G0_CLK : in std_logic; SRAM_ADR : in std_logic_vector (0 to 16); SYS_BUS_DIFF1_P : inout std_logic_vector (0 to 15) ); end WEST_XC3S500E; За inout дифпары прошу не пинать, почему так сделано долго объяснять, но резон такой есть.
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 17 2008, 13:16
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 4-05-05
Из: МО Жел-дор
Пользователь №: 4 721

|
Цитата(fill @ Nov 17 2008, 15:59)  Чтоб разбираться с этим нужен тестовый проект. Вроде нашел решение. Кроме того, что создаются в IOD дифпары нужно в настройках IOD указать на странице Advanced - Generate DIFF_PAIR artibuts. (Либо потом руками в DxD указывать этот атрибут для дифпар) Сгенерить символы - экспортировать в DxD. Тут нужно учитывать, что Iod генерит символ с двумя шинами для дифпары например xxx_P b xxx_N. Далее, в DxD нарисовать схему и соединить как требуется шины xxx_P b xxx_N с соответствующими на 2 микросхеме. и вот тут - нужно не забыть, что в шинах соединительных нужно указать свойство DiffPair на парную шину. Дальше в Expedition и обратно в IOD. теперь все дифпары правильно экспортируются из Expedition в Iod.
|
|
|
|
|
Dec 3 2008, 20:45
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
подскажите, хочу получить в DxD символы плис с подключенными цепями из IODes.
пользуюсь в IOD меню generate/schematic and simbol, в DxD получаю желаемые символы с цепями, НО: назначить соответствие имен HDL name и PCb name я могу для отдельных цепей (в окне Signals Properties), а для шин не получается, как это сделать?
мне будет достаточно убрать знак массива (чтоб генерировались , к примеру для массива AD[10:0] не цепи AD[10], AD[9]...AD[0] а, цепи AD10, AD9...AD0)
|
|
|
|
|
Dec 4 2008, 11:09
|
Местный
  
Группа: Свой
Сообщений: 294
Регистрация: 11-11-04
Из: Москва
Пользователь №: 1 109

|
Цитата ...убрать знак массива (чтоб генерировались , к примеру для массива AD[10:0] не цепи AD[10], AD[9]...AD[0] а, цепи AD10, AD9...AD0) Насколько я понимаю, можно только изменить PCB name каждого сигнала внутри шины. Для себя сделал небольшой TCL-скрипт, вроде работает. Однако - есть проблема с дифф. сигналами - для них разные PCB name/HDL name реально не поддерживаются - Diff name у сигнала, входящего в пару может быть только одно (по крайней мере в IOD 7.3)
|
|
|
|
|
Dec 4 2008, 19:53
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Asb @ Dec 4 2008, 14:09)  Насколько я понимаю, можно только изменить PCB name каждого сигнала внутри шины. Для себя сделал небольшой TCL-скрипт, вроде работает. именно так, спасибо Asb, подскажите где можно почитать про написание скриптов? (хорошо-бы с примерами, есть потребность в них в DxDesigner)
|
|
|
|
|
Dec 5 2008, 18:54
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Asb @ Dec 5 2008, 12:54)  Посмотрите здесь спасибо
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|