Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема экспорта из IOD 7.3
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Mentor-ExpeditionPCB
sgerasch
Проблема экспорта из IOD 7.3 в DxD.

Проблема при экспорте. IOD выдает ошибку при экспортировании Schematic and Symbols
Cannot export the constraints to the iCDB.
Error: FPC Path is not set
Не подскажете ли, где он устанавливается?

При экспортировании только символа - все нормально.

И еще вопрос - подскажите, как дальше этот символ добавить из локальных символов в центральную библиотеку?
gray.k
Цитата(sgerasch @ Oct 9 2008, 15:54) *
И еще вопрос - подскажите, как дальше этот символ добавить из локальных символов в центральную библиотеку?

В Dx выделяете символ, Edit>Local Symbol. В Symbol Editor File>Export Symbol.
Svoy
Цитата(gray.k @ Oct 9 2008, 17:11) *
В Dx выделяете символ, Edit>Local Symbol. В Symbol Editor File>Export Symbol.

Спасибо! Как вовремя. Только что хотел такой же вопрос задать.
sgerasch
Всем спасибо. Вопрос №1 решился обновлением софта последним апдейтами. Судя по всему IOD не присваивал автоматически при экспортировании свойство FPCPath символу.
gray.k Спасибо за ответ.

Еще вопрос - как создать ПОЛНЫЙ эелемент в библиотеке после экспортирования из IOD.
Схемный элемент я понял как, а как сделать Part и где брать Cell от этого элемента?
gray.k
Цитата(sgerasch @ Oct 10 2008, 18:31) *
Всем спасибо. Вопрос №1 решился обновлением софта последним апдейтами. Судя по всему IOD не присваивал автоматически при экспортировании свойство FPCPath символу.
gray.k Спасибо за ответ.

Еще вопрос - как создать ПОЛНЫЙ эелемент в библиотеке после экспортирования из IOD.
Схемный элемент я понял как, а как сделать Part и где брать Cell от этого элемента?

http://megratec.ru/data/ftp/demo_video_200...assignments.rar
IO создает *.hkp с данными Part, Cell естественно надо создавать...
Или загрузить с сайта производителя https://www.altera.com/support/software/dow....oss=expedition.
sgerasch
Спасибо. Все понял.
Maxim
IOD 7.3SP1, DxD2007.2
Добрый день. Подскажите пожалуйста путь решения проблемы -
Создаю в IOD символы для микросхемы XC2C256 в корпусе vq100.
Экспортирую символы в DxD local symbols. Оттуда экспортирую в Symdol Editor и наконец ипортирую в центральную библиотеку.
Но вот тут и происходит засада. Cell есть, PDB есть. Пытаюсь все это свести в единое целое - получаю ошибку например "P45 in sumbol XXX:xxx is not a valid pin number"
т.е. в IODesigner нумерация ножек корпуса vq100 - P1,P2,.....P100, а Library Manager желает явно чего то другого. Судя по всему - просто цифр номера ножки.
Подскажите, как эти грабли обойти. И не наступлю ли я на эти грабли, при создании PDB с корпусоб БГА, где нумерация ножек может быть буквенно-циферной.
Svoy
Цитата(Maxim @ Oct 28 2008, 12:51) *
Подскажите, как эти грабли обойти. И не наступлю ли я на эти грабли, при создании PDB с корпусоб БГА, где нумерация ножек может быть буквенно-циферной.

В принципе, буквенно-цифровые обозначения перевариваются нормально. Правда, вчера у меня был инциндент с нумеерацией пинов BGA памяти. Номер пина "H1" в Cell присваиваться отказывался категорически. Пришлось и в символе и в селле обозвать пин через маленькую букву "h1".
fill
Цитата(Maxim @ Oct 28 2008, 13:51) *
IOD 7.3SP1, DxD2007.2
Добрый день. Подскажите пожалуйста путь решения проблемы -
Создаю в IOD символы для микросхемы XC2C256 в корпусе vq100.
Экспортирую символы в DxD local symbols. Оттуда экспортирую в Symdol Editor и наконец ипортирую в центральную библиотеку.
Но вот тут и происходит засада. Cell есть, PDB есть. Пытаюсь все это свести в единое целое - получаю ошибку например "P45 in sumbol XXX:xxx is not a valid pin number"
т.е. в IODesigner нумерация ножек корпуса vq100 - P1,P2,.....P100, а Library Manager желает явно чего то другого. Судя по всему - просто цифр номера ножки.
Подскажите, как эти грабли обойти. И не наступлю ли я на эти грабли, при создании PDB с корпусоб БГА, где нумерация ножек может быть буквенно-циферной.



Откройте эту CELL в CELL_Editor и перенумеруйте Нажмите для просмотра прикрепленного файла согласно номерам в IOD.

Основное правило - номера в CELL должны совпадать с номерами в IOD, если несовпадают, то исправляйте CELL.
sgerasch
Цитата(fill @ Oct 28 2008, 17:23) *
Откройте эту CELL в CELL_Editor и перенумеруйте Нажмите для просмотра прикрепленного файла согласно номерам в IOD.

Основное правило - номера в CELL должны совпадать с номерами в IOD, если несовпадают, то исправляйте CELL.

Но ведь эта Cell может использоватся и в других PDB. Тогда получается нужно отдельную CELL заводить, чтобы удовлетворить IOD'у?
fill
Цитата(sgerasch @ Oct 28 2008, 19:41) *
Но ведь эта Cell может использоватся и в других PDB. Тогда получается нужно отдельную CELL заводить, чтобы удовлетворить IOD'у?


Откройте datasheet по Spartan and Spartan-XL и увидите что этот корпус имеет номера совпадающие с IOD Нажмите для просмотра прикрепленного файла . А теперь обратитесь по адресу - какого черта xilinx нумерует курпус с одним и тем же именем по разному в разных семействах.
sgerasch
Хорошо, тогда еще вопрос, Например хочу я создать в IOD схемный элемент.
Завожу сигнал - дифференциальный тактовый DIFF_CLK.
Микросхему использую Virtex5 5VLX-50t (FF1136 корпус), а сигнал этот, который я создал, присвоить никому нельзя. Т.к. IOD считает, что таких ног с функцией DIFF_CLK у этого корпуса нет. Хотя по даташиту на эту микросхему - дифклоков есть много. Ну и это не только на этом корпусе. еще на одном столкнулся с таким косяком.
fill
Цитата(Svoy @ Oct 28 2008, 17:27) *
В принципе, буквенно-цифровые обозначения перевариваются нормально. Правда, вчера у меня был инциндент с нумеерацией пинов BGA памяти. Номер пина "H1" в Cell присваиваться отказывался категорически. Пришлось и в символе и в селле обозвать пин через маленькую букву "h1".


Странно Нажмите для просмотра прикрепленного файла
А вы не могли случайно вместо английской буквы русскую вставлять?

Цитата(sgerasch @ Oct 28 2008, 20:47) *
Хорошо, тогда еще вопрос, Например хочу я создать в IOD схемный элемент.
Завожу сигнал - дифференциальный тактовый DIFF_CLK.
Микросхему использую Virtex5 5VLX-50t (FF1136 корпус), а сигнал этот, который я создал, присвоить никому нельзя. Т.к. IOD считает, что таких ног с функцией DIFF_CLK у этого корпуса нет. Хотя по даташиту на эту микросхему - дифклоков есть много. Ну и это не только на этом корпусе. еще на одном столкнулся с таким косяком.



Функцию соответсвующего пина переопределите:
Нажмите для просмотра прикрепленного файла
sgerasch
Fill
Что функцию переопределить для ножки это вполне понятно, я так и сделал когда понял, почему он не хочет присваивать. И вообще такой глюк у меня с разными типами сигналов и как минимум с 4 из 4 типов микросхем Ксайлинкса, которые есть в IOD и с которыми мне нужно сейчас работать.
Но ведь IOD для того и создан, чтобы он в автомате мог менять и присваивать сигналы меджу ножками. И на Вашей конференции(EDA Tech Forum) - было особо выделено то, что все делается в автоматическом режиме, мол ошибки человеческие будут таким образом исключены. А получается - снова с тетрадочкой и ручкой и докой - проверять соответствие сигналов например в микросхеме с 1136 ножками. Я конечно утрирую, но смысл, я думаю, понятен.
fill
Цитата(sgerasch @ Oct 28 2008, 23:12) *
Fill
Что функцию переопределить для ножки это вполне понятно, я так и сделал когда понял, почему он не хочет присваивать. И вообще такой глюк у меня с разными типами сигналов и как минимум с 4 из 4 типов микросхем Ксайлинкса, которые есть в IOD и с которыми мне нужно сейчас работать.
Но ведь IOD для того и создан, чтобы он в автомате мог менять и присваивать сигналы меджу ножками. И на Вашей конференции(EDA Tech Forum) - было особо выделено то, что все делается в автоматическом режиме, мол ошибки человеческие будут таким образом исключены. А получается - снова с тетрадочкой и ручкой и докой - проверять соответствие сигналов например в микросхеме с 1136 ножками. Я конечно утрирую, но смысл, я думаю, понятен.


IOD проверяет соответствие текущего типа сигнала с текущим типом пина, а не с возможными типами многозадачных пинов. Ошибки здесь исключены потому что вы не сможете выбрать тип пина, который не совпадает с возможностями данного пина ибо в списке типов пина есть только те типы которые допустимы для данного пина согласно документации от производителя.
Попробуйте ввести указанный вами сигнал, назначить ему тип IO и присвоить его на пин, таких пинов первоначально много. А теперь поменяйте тип сигнала - если этот пин может нести данную функцию, то его тип автоматически изменится на тип совпадающий с типом сигнала и сигнал останется назначенным в пин, если нет, то произойдет отказ от назначения - сигнал станет не назначенным в пин.
В IOD есть специальная закладка Special в которой собраны многозадачные и специальные пины.
sgerasch
Цитата(fill @ Oct 29 2008, 13:41) *
IOD проверяет соответствие текущего типа сигнала с текущим типом пина, а не с возможными типами многозадачных пинов. Ошибки здесь исключены потому что вы не сможете выбрать тип пина, который не совпадает с возможностями данного пина ибо в списке типов пина есть только те типы которые допустимы для данного пина согласно документации от производителя.
Попробуйте ввести указанный вами сигнал, назначить ему тип IO и присвоить его на пин, таких пинов первоначально много. А теперь поменяйте тип сигнала - если этот пин может нести данную функцию, то его тип автоматически изменится на тип совпадающий с типом сигнала и сигнал останется назначенным в пин, если нет, то произойдет отказ от назначения - сигнал станет не назначенным в пин.
В IOD есть специальная закладка Special в которой собраны многозадачные и специальные пины.

Да спасибо. Убедился на примере - Тип пина IO, но со свойствами дифпары в названии ножек. На прямую его нельзя соотнести с сигналом дифференциальным. Но если с overwrite (+SHIFT), то IOD находит дифпары правильно.
sgerasch
Доброе время суток.
Имеется недопонимание в работе IOD и DxD.

Предпосылки. Создаю в IOD символ для микросхемы Spartan XC3S500E в корпусе 320 BGA.
Получаю в DxD локальные символы этой микросхемы. Отлично.
Теперь я на схему помещаю 2 УГО этой микросхемы , которые создал IOD и соединяю их между собой.
Делаю упаковку и перехожу в Expedition PCB. Расставляю 2 корпуса микросхемы и получаю ну не очень хорошие соединения. Не оптимальные. Ну, думаю я, для того и создан IOD в помощь разработчику, чтобы эти соединения оптимизировать. Отлично, запускаю IOD он весело все оптимизирует(смотреть аж приятно и дрожь пробирает, сколько бы руками парился), делаю синхронизацию и получаю, что ничего не изменилось. Т.к. символы созданые IODом используются и в 1 и во 2 УГО микросхем - IOD, как я понял - меняет их одновременно и ничего не меняется. Т.е. оптимизация не получается.
Не разъясните ли мне, как эти микросхемы инстанцировать, т.е. сделать каждый символ уникальным чтоли, ну или другой путь, как сделать оптимизацию связей.
Простой путь в лоб - создать IODом 2 разных символа с одним и тем же корпусом, но это не наш метод. Хочется по правильному.
fill
Project - две database
http://megratec.ru/data/ftp/exp_movie/new/...wo_GPGA_DxD.swf
dch
А что это такое IOD, ссылку дайте плис, а то закостянел в своей непробиваемости
sgerasch
fill Спасибо, буду разбиратся.
Цитата(dch @ Nov 2 2008, 01:06) *
А что это такое IOD, ссылку дайте плис, а то закостянел в своей непробиваемости

http://megratec.ru/catalog/117/118/18/
sgerasch
Цитата(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 дифпары прошу не пинать, почему так сделано долго объяснять, но резон такой есть.
fill
Чтоб разбираться с этим нужен тестовый проект.
sgerasch
Цитата(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.
yura-w
подскажите,
хочу получить в 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)
Asb
Цитата
...убрать знак массива (чтоб генерировались , к примеру для массива AD[10:0]
не цепи AD[10], AD[9]...AD[0] а, цепи AD10, AD9...AD0)

Насколько я понимаю, можно только изменить PCB name каждого сигнала внутри шины.
Для себя сделал небольшой TCL-скрипт, вроде работает.
Однако - есть проблема с дифф. сигналами - для них разные PCB name/HDL name реально не поддерживаются - Diff name у сигнала, входящего в пару может быть только одно (по крайней мере в IOD 7.3)
yura-w
Цитата(Asb @ Dec 4 2008, 14:09) *
Насколько я понимаю, можно только изменить PCB name каждого сигнала внутри шины.
Для себя сделал небольшой TCL-скрипт, вроде работает.

именно так, спасибо a14.gif

Asb, подскажите где можно почитать про написание скриптов?
(хорошо-бы с примерами, есть потребность в них в DxDesigner)
Asb
Цитата(yura-w @ Dec 4 2008, 22:53) *
... где можно почитать про написание скриптов?

Посмотрите здесь
http://electronix.ru/forum/index.php?showtopic=40229&hl=
yura-w
Цитата(Asb @ Dec 5 2008, 12:54) *
Посмотрите здесь

спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.