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

Что я хочу:

 

- Создать сигнал SDR_VREF, задать ему тип VREF, подключить к трем пинам ПЛИС и сделать так, чтобы он через pdb подключился на глобальную цепь "SDR_VREF".

 

Что я делаю (режим с иерархическим блоком и pdb в локал либе):

 

- Создаю сигнал SDR_VREF

- задаю тип VREF

- подключаю к нужным пинам ПЛИС

- убираю в опциях генерации символа все упоминания о VREF, чтобы она не делала PCB символы с ней.

 

Что получается:

 

А нифига не получается. Никто не ругается ни о чем, все вроде как-то генерируется, информационное сообщение проходит, что SDR_VREF, как и прочие сигналы питаний, отсутствуют на символах и подключены к глобальным цепям. Но вот питания оказываются реально подключены куда я указал, а сигнал SDR_VREF потерялся, пины ФПГА, куда я их ассигновал, оказываются никуда не подключены (т.е. к net0).

 

Что делать? Вывести VREF на символы не предлагать, это работает, но нафиг не надо. Чем отличаются VREFы от сигналов питания (кроме типа VCC* / VREF)? Почему с питаниями все ОК, а с врефами - фиг вам?

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


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

В плис типа CPLD имеется два питания VCC и VCCINT Вопрос каков алгоритм действий чтобы подключить все выводы к одному питанию 3V3 например. Дизайнер этого сделать не даёт. Символы и идут через CentralLibrary путь SchUpdate.

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


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

В плис типа CPLD имеется два питания VCC и VCCINT Вопрос каков алгоритм действий чтобы подключить все выводы к одному питанию 3V3 например. Дизайнер этого сделать не даёт. Символы и идут через CentralLibrary путь SchUpdate.

покажите картинку что за символы или выложите тестовый проект

просто интересно посмотреть в чем проблема

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


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

В плис типа CPLD имеется два питания VCC и VCCINT Вопрос каков алгоритм действий чтобы подключить все выводы к одному питанию 3V3 например. Дизайнер этого сделать не даёт. Символы и идут через CentralLibrary путь SchUpdate.

Вариант I.

1. На вкладке PCB Signals Generation (Setup->Settings) прописать и для VCC и для VCCINT значение 3V3 и установить галку "Automatically connect..."

2. При экспорте (Export-> Schematic and Symbols) в окне Check Power Signals (если оно появляется) нажать кнопку Discard

3. После экспорта в pdb выводы питания будут подключены к цепи 3V3

 

Вариант II.

1. В меню Tools-> Types Compability разрешить присвоение сигналов типа VCC выводам типа VCCINT

2. Создать PCB сигнал 3V3 типа VCC

3. Присвоить сигнал 3V3 нужным выводам удерживая клавиши CTRL+SHIFT (или командой assign_special)

Присваивать сигнал нужно выводам VCC и VCCINT одновременно .

 

Прикол в том, что в версии IOD 9.5 вариант II может не срабатывать, если не сделаны установки I.1

 

Все вышеизложенное справедливо для работы с FPGA Xilinx. Для CPLD не пробовал, но думаю что сработает так-же, хотя IOD есть IOD :)

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


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

Вариант I.

1. На вкладке PCB Signals Generation (Setup->Settings) прописать и для VCC и для VCCINT значение 3V3 и установить галку "Automatically connect..."

2. При экспорте (Export-> Schematic and Symbols) в окне Check Power Signals (если оно появляется) нажать кнопку Discard

3. После экспорта в pdb выводы питания будут подключены к цепи 3V3

 

Вариант II.

1. В меню Tools-> Types Compability разрешить присвоение сигналов типа VCC выводам типа VCCINT

2. Создать PCB сигнал 3V3 типа VCC

3. Присвоить сигнал 3V3 нужным выводам удерживая клавиши CTRL+SHIFT (или командой assign_special)

Присваивать сигнал нужно выводам VCC и VCCINT одновременно .

 

Прикол в том, что в версии IOD 9.5 вариант II может не срабатывать, если не сделаны установки I.1

 

Все вышеизложенное справедливо для работы с FPGA Xilinx. Для CPLD не пробовал, но думаю что сработает так-же, хотя IOD есть IOD :)

 

Спасибо за помощь! О волшебных клавишах то я и забыл... всё получилось

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


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

Подсказка требуется...

 

Я хочу вывести на функциональный символ сигналы JTAG и Config - перетаскиваю их руками на первый раз (после ввода сигналов и предварительного раскидывания их по пинам) сгенеренный символ. Делаю также, руками, PCB символ с этими пинами. Все получается, блок экспортируется в DxD, создается корректный PDB, все упаковывается, все правильно соединяется.... Но, затем, начинается разводка - начинается оптимизация расположения пинов ПЛИС. И вот тут происходит засада - при апдейте символов, генератор символов убивает с функционального символа пины, затащенные туда руками, да и меняет зачем-то размер символа. В результате на схеме полный бардак образуется, ну и рвутся соединения. Приходится руками возвращать размер символа к исходному, и опять добавлять сигналы JTAG и Config, причем внимательно следя, чтобы на те же координаты и в том же порядке. Если пробовать символу поставить Read Only - то рвутся соединения между PCB и Functional символами (генератор не может поменять привязку к номерам пинов, если я правильно понимаю, да и это ожидаемо). Если я ставлю read only на сами эти пины - то после перегенерации символа эти JTAG/Config пины отрываются от PCB символов в блоке DxD. Ну и об этих обрывах ругается сам IOD при экспорте схематики и символов. Что за хрень и как с ней бороться? Как правильно вытащить JTAG и Config на функциональный символ?

 

символы - в локальной либе, pdb локальная. путь - генерация схемного блока, представляемого функ. символом.

 

ПЛИС - LattiteXP2, LFXP2-8E-5MN132C. EXP/IOD/DxD - 7.9.5

 

Опции генератора символа при апдейте не помогают никакие...

 

вот пара скриншотов (речь о пинах J_TMS, J_TCK, J_TDI, J_TDO, CFG_TOE, CFG_CFG0) - первый скриншот, как надо (после ручной правки), второй - как искорежил апдейт символа:

post-2881-1388039736_thumb.png

post-2881-1388039745_thumb.png

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


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

Подсказка требуется...

 

Я хочу вывести на функциональный символ сигналы JTAG и Config - перетаскиваю их руками на первый раз (после ввода сигналов и предварительного раскидывания их по пинам) сгенеренный символ. Делаю также, руками, PCB символ с этими пинами. Все получается, блок экспортируется в DxD, создается корректный PDB, все упаковывается, все правильно соединяется.... Но, затем, начинается разводка - начинается оптимизация расположения пинов ПЛИС. И вот тут происходит засада - при апдейте символов, генератор символов убивает с функционального символа пины, затащенные туда руками, да и меняет зачем-то размер символа. В результате на схеме полный бардак образуется, ну и рвутся соединения. Приходится руками возвращать размер символа к исходному, и опять добавлять сигналы JTAG и Config, причем внимательно следя, чтобы на те же координаты и в том же порядке. Если пробовать символу поставить Read Only - то рвутся соединения между PCB и Functional символами (генератор не может поменять привязку к номерам пинов, если я правильно понимаю, да и это ожидаемо). Если я ставлю read only на сами эти пины - то после перегенерации символа эти JTAG/Config пины отрываются от PCB символов в блоке DxD. Ну и об этих обрывах ругается сам IOD при экспорте схематики и символов. Что за хрень и как с ней бороться? Как правильно вытащить JTAG и Config на функциональный символ?

 

символы - в локальной либе, pdb локальная. путь - генерация схемного блока, представляемого функ. символом.

 

ПЛИС - LattiteXP2, LFXP2-8E-5MN132C. EXP/IOD/DxD - 7.9.5

 

Опции генератора символа при апдейте не помогают никакие...

 

вот пара скриншотов (речь о пинах J_TMS, J_TCK, J_TDI, J_TDO, CFG_TOE, CFG_CFG0) - первый скриншот, как надо (после ручной правки), второй - как искорежил апдейт символа:

не понимаю вашей проблемы :(

я поклонник IOD в самом фундаментальном смысле (только локальная библиотека) и приветствую ваше желание работать с фунциональным символом в локале

мое мнение не надо ручками лазить (это не девушка :biggrin: )

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

прикладываю картинки, если не понятно - в личку

в моем случае я провожу оптимизацию по пинам как в DxD так и в Exp

далее аннотации в любую сторону - проблем НЕТ

post-5035-1388080494_thumb.png

post-5035-1388080502_thumb.png

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


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

К сожалению, я не умею видео записывать с экрана. Суть, как я говорил, что после апдейта символов (хоть автоматически, хоть через меню - Symbol->Symbols Generator....) этот генератор САМ меняет размер символа, увеличивая его (мне не нравится большой символ, сгенеренный при первой генерации символа, и я его уменьшаю - но не хочу, чтобы при апдейте он обратно увеличивался), и УДАЛЯЕТ пины типа JTAG и CONFIG из функционального символа. Всегда! Каждый апдейт. Как Вам удалось вывести на функциональный символ пины типа JTAG так, чтобы генератор символов их не убивал при Symbols update?

 

PS зачем в личку, я думаю, это не одному мне интересно

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


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

Подсказка требуется...

 

Я хочу вывести на функциональный символ сигналы JTAG и Config - перетаскиваю их руками на первый раз (после ввода сигналов и предварительного раскидывания их по пинам) сгенеренный символ. Делаю также, руками, PCB символ с этими пинами. Все получается, блок экспортируется в DxD, создается корректный PDB, все упаковывается, все правильно соединяется.... Но, затем, начинается разводка - начинается оптимизация расположения пинов ПЛИС. И вот тут происходит засада - при апдейте символов, генератор символов убивает с функционального символа пины, затащенные туда руками, да и меняет зачем-то размер символа. В результате на схеме полный бардак образуется, ну и рвутся соединения. Приходится руками возвращать размер символа к исходному, и опять добавлять сигналы JTAG и Config, причем внимательно следя, чтобы на те же координаты и в том же порядке. Если пробовать символу поставить Read Only - то рвутся соединения между PCB и Functional символами (генератор не может поменять привязку к номерам пинов, если я правильно понимаю, да и это ожидаемо). Если я ставлю read only на сами эти пины - то после перегенерации символа эти JTAG/Config пины отрываются от PCB символов в блоке DxD. Ну и об этих обрывах ругается сам IOD при экспорте схематики и символов. Что за хрень и как с ней бороться? Как правильно вытащить JTAG и Config на функциональный символ?

 

символы - в локальной либе, pdb локальная. путь - генерация схемного блока, представляемого функ. символом.

 

ПЛИС - LattiteXP2, LFXP2-8E-5MN132C. EXP/IOD/DxD - 7.9.5

 

Опции генератора символа при апдейте не помогают никакие...

 

вот пара скриншотов (речь о пинах J_TMS, J_TCK, J_TDI, J_TDO, CFG_TOE, CFG_CFG0) - первый скриншот, как надо (после ручной правки), второй - как искорежил апдейт символа:

 

 

Тестовый проект выложите, т.к. у меня JTAG и CONFIG добавляются на символ блока через генератор символов если включена соответствующая галочка.

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


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

Ну как всегда, визит-эффект, в тестовых проектах не воспроизвелось. Будем считать разовой флуктуацией. Зато аж три вопроса, один старый, про порчу размера символа, другой - совершенно новый, которого раньше не было - сигнал на символ не добавляется при Update Symbols, ну и третий, хорошо забытый очень старый и не критичный.

 

Даю два тестовых проекта:

 

архив test_proj:

 

Конфиг-жтаг вытащен на другой символ, не туда, где I/O. Я добавил сигнал TEST_RST, и назначил ему пин. Делаю Update Symbols через генератор символов - и размер символа искорежен - он стал сильно больше, чем был. Когда схемы вокруг символа еще нет, это конечно не беда. А вот когда вокруг символа плотная схема - то приходит куча геморроя от этого автоизменения изменения размера. Проект находится в состоянии, когда сигнал добавлен, но Update Symbols еще не сделан, символ имеет нужный мне размер. Стоит сделать Update Symbols, и символ станет сильно больше, что и мешает жизни (об этом я писал ранее - "Приходится руками возвращать размер символа к исходному")

 

 

архив test_proj1:

 

Тут конфиг-жтаг вытащен на функ. символ с I/O. То, что почему то не сработало у меня в основных проектах, аж трижды уже, а тут получилось. Операция та же - добавляю сигнал TEST_RST. Делаю Update Symbols, с целью проверить, искорежит ли он мне размер символа. А не искореживает, но и сигнал новый не добавляет на символ. Как бы вообще ничего не делает, хотя в визарде пишет, что собрался добавлять порт. Проект в таком состоянии - сигнал TEST_RST добавлен, а сколько Update Symbols не делай, на функциональном символе он не появляется. PCB символ для пина для этого сигнала сгенерировался.

 

 

 

Ну и еще вопрос, тот самый, совсем старый и не критичный. Для обоих проектов. Database Properties (ПКМ на названии FPGA в правом нижнем окошке). Хочу сменить Default Single с LVCMOS25 на что-то более актуальное для проекта, но не дает. А для дифференциальных, все ОК. В чем засада?

test_proj.rar

test_proj1.rar

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


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

Даю два тестовых проекта:

 

архив test_proj:

 

Конфиг-жтаг вытащен на другой символ, не туда, где I/O. Я добавил сигнал TEST_RST, и назначил ему пин. Делаю Update Symbols через генератор символов - и размер символа искорежен - он стал сильно больше, чем был.

как я предполагаю - появился сигнал TEST_RST со своим выводом и IOD с учетом этого расширил символ

 

Когда схемы вокруг символа еще нет, это конечно не беда. А вот когда вокруг символа плотная схема - то приходит куча геморроя от этого автоизменения изменения размера. Проект находится в состоянии, когда сигнал добавлен, но Update Symbols еще не сделан, символ имеет нужный мне размер. Стоит сделать Update Symbols, и символ станет сильно больше, что и мешает жизни (об этом я писал ранее - "Приходится руками возвращать размер символа к исходному")

я всегда имею один функциональный символ на отделном листе без других компанентов - только цени и шины (ИМХО)

и когда происходит добавление выводов и/или изменение имени вывода как всегда с увеличением числа буквочек происходит изменение ширины символа, НО так как у меня на листе одни цепи/шины то с права не происходит подключение символа :)

но это исправляется элементарно - подвинуть символ влево, бросить, все подключилось и подвинуть символ вправо на пару дюймов

 

вопрос по test_proj - зачем делать два функциональных символа ???

 

я не много ваш проектик подкорретировол, думаю так будет симпотней :biggrin:

test_proj.7z

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


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

архив test_proj1:

....

Как бы вообще ничего не делает, хотя в визарде пишет, что собрался добавлять порт. Проект в таком состоянии - сигнал TEST_RST добавлен, а сколько Update Symbols не делай, на функциональном символе он не появляется. PCB символ для пина для этого сигнала сгенерировался.

давненько выкладывал мануальчик

http://electronix.ru/forum/index.php?showt...67345&st=60

 

4. При кардинальных изменениях, когда добавляются, удаляются или изменяются имена сигналов проще провести изменения через SimbolWizard/UpdateSimbols (не проверял) или вообще удалить в IOD символы и заново сгенерить двумя щелчками мышки и пройти путь по п.1 (так поступаю). Предварительно удалить ПЛИС в DxD на схеме, в навигаторе и в базе Symbol_View/local_symbols, сделать FA & BA. Чтобы не пропали разведенные цепи относящиеся к ПЛИС, необходимо убрать галки Trace_removal_options в FA .

 

может это поможет

 

смотрю и в этом проекте наплодил кучу символов :(

я в последних проекта имею всего три символа:

1.функциональный

2.power

3.gnd

 

power и gnd чтобы оперативно изменить питание и землю не заходя в IOD

на пример +3V3 на +3V3-1 и +3V3-2 когда имею две с одинаковые ПЛИС но с физически разными источниками питания

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


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

power и gnd я не собираюсь вытаскивать на схему - они подсоединяются через pdb к глобальным цепям с именами 3.3V 1.2V GND и т.п., а на схеме согласно ГОСТ, указывается стрелка, и пишется список пинов, куда эта цепь подключена (если нужен ГОСТ), а если ГОСТ не нужен, то и вообще ничего не указывается. Удобно, и не захламляет схему, и изменить питание в таблице в IOD - быстрее, нежели в схеме. А нам что важнее всего - правильно, скорость! Я не хочу тратить время на лишние и не нужные действия! Я это время лучше потрачу на что-то полезное, обдумаю что-то например.

 

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

 

Что касается количества PCB символов, так вообще наплевать, сколько их там внутри блока. Как по мне - скрыть бы вообще от пользователя все эти символы и сам блок, это лишняя по сути сущность. Но она есть из-за того, что таков принцип работы софта - есть, и хрен бы с ней. Опять же, тратить время на оптимизацию в PCB символах не вижу смысла никакого. Мне главное - чтобы у меня на схеме был один функциональный символ нужного мне размера с расположением пинов, как мне надо, а уж на то, что там внутри него, наплевать абсолютно, лишь бы работало.

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


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

power и gnd я не собираюсь вытаскивать на схему - они подсоединяются через pdb к глобальным цепям с именами 3.3V 1.2V GND и т.п., а на схеме согласно ГОСТ, указывается стрелка, и пишется список пинов, куда эта цепь подключена (если нужен ГОСТ), а если ГОСТ не нужен, то и вообще ничего не указывается. Удобно, и не захламляет схему, и изменить питание в таблице в IOD - быстрее, нежели в схеме. А нам что важнее всего - правильно, скорость! Я не хочу тратить время на лишние и не нужные действия! Я это время лучше потрачу на что-то полезное, обдумаю что-то например.

 

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

 

Что касается количества PCB символов, так вообще наплевать, сколько их там внутри блока. Как по мне - скрыть бы вообще от пользователя все эти символы и сам блок, это лишняя по сути сущность. Но она есть из-за того, что таков принцип работы софта - есть, и хрен бы с ней. Опять же, тратить время на оптимизацию в PCB символах не вижу смысла никакого. Мне главное - чтобы у меня на схеме был один функциональный символ нужного мне размера с расположением пинов, как мне надо, а уж на то, что там внутри него, наплевать абсолютно, лишь бы работало.

 

Насколько я вижу, выход один - перетаскивать новые пины (сигналы) на функ. символ мышкой, т.к. генератор при обновлении оставляет в покое только взаимное расположение пинов, а тело генерирует согласно зашитым в него параметрам отступов от крайних пинов.

Все не размещенные пины отображены на вкладке Unpaced.

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


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

выход один - перетаскивать новые пины (сигналы) на функ. символ мышкой

 

Вот же блин. Спасибо! Все гениальное как всегда просто :)

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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