SShLD 0 16 марта, 2012 Опубликовано 16 марта, 2012 (изменено) · Жалоба IOD ругается на то что не может загрузить Layout и в следствии этого я не вижу в IOD соединения с плис. Все аннотации сделаны... Какова может быть причина этой ошибки!? И Ещё вопрос я так понимаю в DxD чтобы Пакейджер не затирал мне свойства элемента из ДатаБук надо отключить галочку Update Prop from PDB как то так, я правилно понимаю...? Изменено 16 марта, 2012 пользователем SShLD Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Frederic 0 16 марта, 2012 Опубликовано 16 марта, 2012 · Жалоба IOD ругается на то что не может загрузить Layout и в следствии этого я не вижу в IOD соединения с плис. Все аннотации сделаны... Какова может быть причина этой ошибки!? выложи проект, чтоб не гадать на кофейной гуще И Ещё вопрос я так понимаю в DxD чтобы Пакейджер не затирал мне свойства элемента из ДатаБук надо отключить галочку Update Prop from PDB как то так, я правилно понимаю...? не подскажу, т.к. с "...ДатаБук..." не знаком-с :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sast777 0 19 марта, 2012 Опубликовано 19 марта, 2012 (изменено) · Жалоба IOD 7.9.3, Altera Cyclone IV - как создать дифф пару там, где ее не должно быть? Altera DDR2 controller использует как клок два пина IO standard = SSTL 1.8 Class I, один из которых проинвертирован в буфере IO FPGA; То есть эти два пина не являются дифф парой SSTL 1.8 Class I по DataSheet на Cylclone, они образуют дифф пару когда используются как LVDS . Поэтому IOD честно выполняет свои функции: он не дает назначить дифф пару SSTL 1.8 Class там, где ее нет. Но мне-то надо на PCB получить дифф пару! Как заставить IOD создать из двух сигналов дифф пару в банке, где все остальные пины - стандарта SSTL 1.8 Class I, при условии, что нужные мне пины образуют дифф пару в IOD только как LVDS? Уже без разницы какого типа IO присвоить пинам, лишь бы была пара.. В Types Compatibility отмапировал (Signal) DIFF -> IO (pin), потом наоборот - не помогает.. Изменено 19 марта, 2012 пользователем sast777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SShLD 0 19 марта, 2012 Опубликовано 19 марта, 2012 (изменено) · Жалоба Del Изменено 19 марта, 2012 пользователем SShLD Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fill 2 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба IOD 7.9.3, Altera Cyclone IV - как создать дифф пару там, где ее не должно быть? Altera DDR2 controller использует как клок два пина IO standard = SSTL 1.8 Class I, один из которых проинвертирован в буфере IO FPGA; То есть эти два пина не являются дифф парой SSTL 1.8 Class I по DataSheet на Cylclone, они образуют дифф пару когда используются как LVDS . Поэтому IOD честно выполняет свои функции: он не дает назначить дифф пару SSTL 1.8 Class там, где ее нет. Но мне-то надо на PCB получить дифф пару! Как заставить IOD создать из двух сигналов дифф пару в банке, где все остальные пины - стандарта SSTL 1.8 Class I, при условии, что нужные мне пины образуют дифф пару в IOD только как LVDS? Уже без разницы какого типа IO присвоить пинам, лишь бы была пара.. В Types Compatibility отмапировал (Signal) DIFF -> IO (pin), потом наоборот - не помогает.. Тестовый проект выложите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sast777 0 19 марта, 2012 Опубликовано 19 марта, 2012 (изменено) · Жалоба Тестовый проект выложите. Создал тестовый проект IOD. Что нужно: Нужно создать из сигналов SCLK_P, SCLK_N дифф пару, именно на тех пинах, которые назначены. Чтобы сохранить возможность синхронизации IOD <-> PCB. Могут быть любого IO типа, стандарта, дешевле потом ручками в Quartus назначить правильный IO standard. Перемещать их как пару уже не планируется, лишь бы не мешали синхронизации. А вот все остальные пины в процессе разводки в пределах Swap Group могут свопиться - - и вот тут-то кровь из носу нужен аттрибут дифф пары одновременно и в DxD-CES-PCB, и в IOD, для поддержания синхронизации IOD-PCB. Планируемый вариант действий, если Вам не удастся помочь мне, прошу прощения, "изнасиловать" IOD (как понимаю, основной смысл IOD - именно не дать использовать пины непредусмотренным в IOD для конкретной FPGA образом.): Уже на PCB назначить дифф пару SCLK_P, SCLK_N, развести, залочить, удалить дифф пару. Потом уже разводить и в процессе свопить прочее. Получить окончательную расстановку пинов на PCB, последний раз синхронизировать проект IOD и в данном проекте забыть об IOD. Потом снова назначить в PCB дифф пару SCLK_P, SCLK_N - и потом уже tune.. Мда... Если ставить задачу в общем виде - то как в IOD на произвольных пинах FPGA создавать дифф пары одной Swap Group ? IOD_Diff_Pair.rar Изменено 20 марта, 2012 пользователем sast777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fill 2 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба IOD_Diff_Pair.7z Ответ найдете в Tools>Rule_Editor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sast777 0 20 марта, 2012 Опубликовано 20 марта, 2012 (изменено) · Жалоба IOD_Diff_Pair.7z Ответ найдете в Tools>Rule_Editor Спасибо, во первых, что пнули в нужном направлении. Предполагаю, Ваш пример Rule1 следует рассматривать как просто демонстрацию ВОЗМОЖНОЙ реализации правила? Потому что в моем тестовом проекте Ваш пример помогает, как гильотина от насморка - радикально. В останках моего тестового проекта, который Вы вернули, наличествует дифф пара из нужных мне пинов, как просил - но это все... Причем в нем сигналы LVDS назначены на пины LVDS - а зачем новое правило писать, LVDS на LVDS и так дифф пару создают :-) Все остальные назначеные мной 60 сигналов применение этого правила просто сносит.. Появляется окно "Rules validation Error", Currently set rules caused error(s) и в этом окне столбиком "Assignment for signal <SignalName> to pin <n> is not valid", все назаченные сигналы. Если Apply Rule - все назначения удаляет. Аналогично действие этого Rule1, импортированного в боевой проект. Тогда уж, как говорится, "дал дерьма - дай ложку" - нет ли дополнительных доков по работе с Rule? Понимаю, что сами доки дать нельзя - а хотя бы их названия? А то из 333 листов "I/O Designer for FPGA User Guide" глава 7, "User-defined Rules", занимает аж целых три листа... В тренингах вообще ничего. А инструмент-то, похоже, весьма полезный, надо бы разобраться. Изменено 21 марта, 2012 пользователем sast777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sast777 0 21 марта, 2012 Опубликовано 21 марта, 2012 (изменено) · Жалоба Таки назначил-таки дифф пару в банк c пинами SSTL Class 1, правда без User defined Rule Введение собственного My_Rule по совету Александра у меня приводит к конфликту моего My_Rule и существующей в IOD базе правил. Получаю оконо ошибки, что My_Rule не совместимо с существующим назначением сигнала Signal[n], и в этом окне все мои сигналы столбиком... Когда окно закрывается - все мои сигналы - unassigned. Попробовал по-простецки: Сигналы SCLK_P, SCLK_N сделал LDVS В банке 2, где все сигналы - SSTL Class 1, нужные мне пины P1, P2 сделал LDVS. Выделил пины P1,P2 -> "Show only selected pins" При Cntrl+Shift+(Drug signal to pins) получаю окно ошибки: cannot assign signal 'SCLK' to 'P1' - Differential pad with IO standard LVDS has to be at least 5 PIN away from output p... Больше в окно ошибки не влезло, что за "p..." - Mentor его знает. Тогда снес только в банке 2 все сигналы, не отменяя того, что пины в банке 2 - SSTL Class 1, и сигналы LVDS встали на нужные пины LVDS. Удивился, но слава богу. Залочил сигналы. Но вот просто снова назначить сигналы SSTL Class 1 на пины SSTL Class 1 в банке 2 IOD не дал. Тогда выделил нужный мне пин, и "Show only selected pins" Потом - Cntrl+Shift+(Drug signal to pin) Назначилось! И так по одному назначил все нужные мне сигналы в банке 2. Ну хоть остальные 7 банков переназначать не пришлось. Так что доки по написанию User Rules крайне нужны. Изменено 21 марта, 2012 пользователем sast777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fill 2 21 марта, 2012 Опубликовано 21 марта, 2012 · Жалоба Полный текст сообщения гласит: Cannot assign signal 'SCLK' to 'P2,P1' - Differential pad with IO standard LVDS has to be at least 5 PIN away from output pad. Смотреть надо в окне Console. Т.е. пины LVDS не должны быть близко к пинам выходным. Правило отслеживается при размещении, т.е. если размещать LVDS при размещенных выходных, то нарушение не дает выполнить команду. Если выходные убрали, то дает, т.к нет нарушения. Обратное, т.е. LVDS размещены и размещаем выходные тоже пройдет, т.к. здесь уже возможен режим принудительного размещения по одному пину. В "I/O Designer™ for FPGA User Guide" есть приложение "Device-dependant Assignment Rules" где расписаны отслеживаемые правила. Соответственно через Rule_Editor определяются правила для переопределения и\или дополнительные. Что надо вводить определяется обыкновенной логикой предполагаемых действий, готовых рецептов нет. Кстати проходит также и такая последовательность: В исходном примере выбрать эти два сигнала. ПКМ>Lock_Signals ПКМ>Create_Differential_Pair Сигналы становятся дифференциальными, ничего не сбрасывается. Правда тип пина остается IO - не знаю как это потом может отразится на синхронизации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sast777 0 21 марта, 2012 Опубликовано 21 марта, 2012 (изменено) · Жалоба Конгениально! Залочить сигналы (я по наивности предполагал - запретить изменения ВСЕХ аттрибутов сигналов), а потом создать из них дифф пару (изменить аттрибут)... Неожиданно. Или дифф пара - это не аттрибут существующих пинов, а некий новый базовый объект в IOD-DxD-PCB, как пин? Гады, достали жадностью, так покопать в ASCII хочется - что есть что... Но - именно это и есть решение моей задачи в два клика. На боевом проекте все сработало, синхронизируется. Недотряс я это дерево... О сколько нам открытий чудных Готовят просвещенья дух Mentor И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель... Спасибо, fill! Изменено 21 марта, 2012 пользователем sast777 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 14 5 апреля, 2012 Опубликовано 5 апреля, 2012 · Жалоба Раньше при загрузке нового *.fx файла менялись номера пинов, а теперь меняются имена сигналов. Как сделать так, чтобы просто менялись номера пинов, а не сами сигналы? Версия EE7.9.2. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fill 2 9 апреля, 2012 Опубликовано 9 апреля, 2012 · Жалоба Раньше при загрузке нового *.fx файла менялись номера пинов, а теперь меняются имена сигналов. Как сделать так, чтобы просто менялись номера пинов, а не сами сигналы? Версия EE7.9.2. В настройках проекта что стоит? Schematic Update или Schematic Export? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 14 9 апреля, 2012 Опубликовано 9 апреля, 2012 · Жалоба В настройках проекта что стоит? Schematic Update или Schematic Export? Schematic Export Уже разобрался. В свойстве Port Binding нужно было поставить Signal вместо Pin. Теперь другая проблема. При автоматическом свапировании пинов в Expedition и последующем Back Annotation в IOD происходит некорректное переназначение пинов. Например, пин ddr2_ch1_ck_p вместо номера AB10 (в Expedition) имеет значение <none>. Тестовый проект во вложении. USIU2_IOD.rar Uch_Library_EE2007_full.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Frederic 0 9 апреля, 2012 Опубликовано 9 апреля, 2012 · Жалоба Schematic Export Уже разобрался. В свойстве Port Binding нужно было поставить Signal вместо Pin. Теперь другая проблема. При автоматическом свапировании пинов в Expedition и последующем Back Annotation в IOD происходит некорректное переназначение пинов. Например, пин ddr2_ch1_ck_p вместо номера AB10 (в Expedition) имеет значение <none>. Тестовый проект во вложении. проверил, такого не наблюдаю но в начале провел полную синхронизацию проекта IOD-DxD-Exp до сих пор не понимаю маникального не желания использовать функциональный символ и возможность подключать шины к ПЛИС просто двумя (точнее четырмя) щелчками мыши :twak: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться