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

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

|
Проблема экспорта из IOD 7.3 в DxD.
Проблема при экспорте. IOD выдает ошибку при экспортировании Schematic and Symbols Cannot export the constraints to the iCDB. Error: FPC Path is not set Не подскажете ли, где он устанавливается?
При экспортировании только символа - все нормально.
И еще вопрос - подскажите, как дальше этот символ добавить из локальных символов в центральную библиотеку?
|
|
|
|
|
Oct 9 2008, 13:11
|
Частый гость
 
Группа: Свой
Сообщений: 162
Регистрация: 22-12-06
Из: Москва
Пользователь №: 23 793

|
Цитата(sgerasch @ Oct 9 2008, 15:54)  И еще вопрос - подскажите, как дальше этот символ добавить из локальных символов в центральную библиотеку? В Dx выделяете символ, Edit>Local Symbol. В Symbol Editor File>Export Symbol.
|
|
|
|
|
Oct 10 2008, 13:05
|
Участник

Группа: Новичок
Сообщений: 55
Регистрация: 6-10-08
Пользователь №: 40 739

|
Цитата(gray.k @ Oct 9 2008, 17:11)  В Dx выделяете символ, Edit>Local Symbol. В Symbol Editor File>Export Symbol. Спасибо! Как вовремя. Только что хотел такой же вопрос задать.
|
|
|
|
|
Oct 10 2008, 14:31
|
Участник

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

|
Всем спасибо. Вопрос №1 решился обновлением софта последним апдейтами. Судя по всему IOD не присваивал автоматически при экспортировании свойство FPCPath символу. gray.k Спасибо за ответ.
Еще вопрос - как создать ПОЛНЫЙ эелемент в библиотеке после экспортирования из IOD. Схемный элемент я понял как, а как сделать Part и где брать Cell от этого элемента?
|
|
|
|
|
Oct 13 2008, 07:53
|
Частый гость
 
Группа: Свой
Сообщений: 162
Регистрация: 22-12-06
Из: Москва
Пользователь №: 23 793

|
Цитата(sgerasch @ Oct 10 2008, 18:31)  Всем спасибо. Вопрос №1 решился обновлением софта последним апдейтами. Судя по всему IOD не присваивал автоматически при экспортировании свойство FPCPath символу. gray.k Спасибо за ответ.
Еще вопрос - как создать ПОЛНЫЙ эелемент в библиотеке после экспортирования из IOD. Схемный элемент я понял как, а как сделать Part и где брать Cell от этого элемента? http://megratec.ru/data/ftp/demo_video_200...assignments.rarIO создает *.hkp с данными Part, Cell естественно надо создавать... Или загрузить с сайта производителя https://www.altera.com/support/software/dow....oss=expedition.
Сообщение отредактировал fill - Oct 13 2008, 08:58
|
|
|
|
|
Oct 13 2008, 12:28
|
Участник

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

|
Спасибо. Все понял.
|
|
|
|
|
Oct 28 2008, 09:51
|
Участник

Группа: Свой
Сообщений: 36
Регистрация: 24-06-04
Пользователь №: 165

|
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 с корпусоб БГА, где нумерация ножек может быть буквенно-циферной.
|
|
|
|
|
Oct 28 2008, 13:27
|
Участник

Группа: Новичок
Сообщений: 55
Регистрация: 6-10-08
Пользователь №: 40 739

|
Цитата(Maxim @ Oct 28 2008, 12:51)  Подскажите, как эти грабли обойти. И не наступлю ли я на эти грабли, при создании PDB с корпусоб БГА, где нумерация ножек может быть буквенно-циферной. В принципе, буквенно-цифровые обозначения перевариваются нормально. Правда, вчера у меня был инциндент с нумеерацией пинов BGA памяти. Номер пина "H1" в Cell присваиваться отказывался категорически. Пришлось и в символе и в селле обозвать пин через маленькую букву "h1".
|
|
|
|
|
Oct 28 2008, 14:23
|

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

|
Цитата(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 и перенумеруйте [attachment=26200:attachment] согласно номерам в IOD. Основное правило - номера в CELL должны совпадать с номерами в IOD, если несовпадают, то исправляйте CELL.
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Oct 28 2008, 15:41
|
Участник

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

|
Цитата(fill @ Oct 28 2008, 17:23)  Откройте эту CELL в CELL_Editor и перенумеруйте [attachment=26200:attachment] согласно номерам в IOD.
Основное правило - номера в CELL должны совпадать с номерами в IOD, если несовпадают, то исправляйте CELL. Но ведь эта Cell может использоватся и в других PDB. Тогда получается нужно отдельную CELL заводить, чтобы удовлетворить IOD'у?
|
|
|
|
|
Oct 28 2008, 16:47
|
Участник

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

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

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

|
Цитата(Svoy @ Oct 28 2008, 17:27)  В принципе, буквенно-цифровые обозначения перевариваются нормально. Правда, вчера у меня был инциндент с нумеерацией пинов BGA памяти. Номер пина "H1" в Cell присваиваться отказывался категорически. Пришлось и в символе и в селле обозвать пин через маленькую букву "h1". Странно [attachment=26209:attachment] А вы не могли случайно вместо английской буквы русскую вставлять? Цитата(sgerasch @ Oct 28 2008, 20:47)  Хорошо, тогда еще вопрос, Например хочу я создать в IOD схемный элемент. Завожу сигнал - дифференциальный тактовый DIFF_CLK. Микросхему использую Virtex5 5VLX-50t (FF1136 корпус), а сигнал этот, который я создал, присвоить никому нельзя. Т.к. IOD считает, что таких ног с функцией DIFF_CLK у этого корпуса нет. Хотя по даташиту на эту микросхему - дифклоков есть много. Ну и это не только на этом корпусе. еще на одном столкнулся с таким косяком. Функцию соответсвующего пина переопределите: [attachment=26212:attachment]
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Oct 28 2008, 20:12
|
Участник

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

|
Fill Что функцию переопределить для ножки это вполне понятно, я так и сделал когда понял, почему он не хочет присваивать. И вообще такой глюк у меня с разными типами сигналов и как минимум с 4 из 4 типов микросхем Ксайлинкса, которые есть в IOD и с которыми мне нужно сейчас работать. Но ведь IOD для того и создан, чтобы он в автомате мог менять и присваивать сигналы меджу ножками. И на Вашей конференции(EDA Tech Forum) - было особо выделено то, что все делается в автоматическом режиме, мол ошибки человеческие будут таким образом исключены. А получается - снова с тетрадочкой и ручкой и докой - проверять соответствие сигналов например в микросхеме с 1136 ножками. Я конечно утрирую, но смысл, я думаю, понятен.
Сообщение отредактировал sgerasch - Oct 28 2008, 20:22
|
|
|
|
|
Oct 29 2008, 10:41
|

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

|
Цитата(sgerasch @ Oct 28 2008, 23:12)  Fill Что функцию переопределить для ножки это вполне понятно, я так и сделал когда понял, почему он не хочет присваивать. И вообще такой глюк у меня с разными типами сигналов и как минимум с 4 из 4 типов микросхем Ксайлинкса, которые есть в IOD и с которыми мне нужно сейчас работать. Но ведь IOD для того и создан, чтобы он в автомате мог менять и присваивать сигналы меджу ножками. И на Вашей конференции(EDA Tech Forum) - было особо выделено то, что все делается в автоматическом режиме, мол ошибки человеческие будут таким образом исключены. А получается - снова с тетрадочкой и ручкой и докой - проверять соответствие сигналов например в микросхеме с 1136 ножками. Я конечно утрирую, но смысл, я думаю, понятен. IOD проверяет соответствие текущего типа сигнала с текущим типом пина, а не с возможными типами многозадачных пинов. Ошибки здесь исключены потому что вы не сможете выбрать тип пина, который не совпадает с возможностями данного пина ибо в списке типов пина есть только те типы которые допустимы для данного пина согласно документации от производителя. Попробуйте ввести указанный вами сигнал, назначить ему тип IO и присвоить его на пин, таких пинов первоначально много. А теперь поменяйте тип сигнала - если этот пин может нести данную функцию, то его тип автоматически изменится на тип совпадающий с типом сигнала и сигнал останется назначенным в пин, если нет, то произойдет отказ от назначения - сигнал станет не назначенным в пин. В IOD есть специальная закладка Special в которой собраны многозадачные и специальные пины.
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
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
|
|
|