|
Методика применения I/O_Designer |
|
|
|
Sep 15 2009, 12:26
|

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

|
Т.к. судя по всему многие до сих пор не понимают, что такое IOD и зачем он нужен, попытаюсь популярно объяснить это в приложении к ПЛИС:
1. Предположим мы начинаем новый проект платы в которой будет стоять ПЛИС(ы). 2. Проработали функционально наш проект и определили какие сигналы (цепи) будут подключены к ПЛИС. 3. Можно начинать определение ПЛИС, используя проект в IOD, сделать это можно несколькими путями: а) Написали VHDL(Verilog) файл в котором есть "шапка", т.е. определены порты - соответственно его можно: - прочитать в IOD и таким образом список сигналов окажется в IOD. - передать разработчику ПЛИС (естественно если не он сам его сделал) для дальнейшего формирования функционально\структурного описания внутренности ПЛИС б) Ввели сигналы непосредственно внутри IOD: - можем сгенерить VHDL(Verilog) файл и передать разработчику ПЛИС. 4. Выбрали изготовителя ПЛИС, конкретный device и маршрут ПЛИС. 5. Сделали предварительное присвоение выводов внутри IOD. 6. Генерировали\нарисовали символ(ы) внутри IOD. 7. Экспортировали символы\PDB в DxDesigner. 8. Нарисовали схему платы в DxD. 9. Создали проект платы и сделали размещение. 10. Обратно аннотировали размещение в IOD. 11. Сделали перераспределение выводов для улучшения длин соединений и распутывания их. 12. Теперь надо связаться с разработчиком внутренности ПЛИС на предмет передачи ему информации о текущем распределении выводов. Передать ему можно любой файл из трех типов: - P&R_Constraints_File (Actel (.pin, .gcf or .pdc), Altera (.csf or .qsf), Xilinx (.ucf), Lattice (.lpf) - Pin Report File (Actel (.rpt), Altera (.pin), Xilinx (.pad or .csv), Lattice (.pad) - FPGA Xchange File Как правило любой из этих файлов могут прочитать (а также генерировать) системы разработки ПЛИС и таким образом ему не нужно будет в ручную определять выводы. 13. После того как разработчик ПЛИС одобрил это размещение или предложил свое (переделанное через такой же файл), вы решаете задачу трассировки платы. Походу этого естественно могут возникать вопросы дальнейших итерации по перераспределению выводов ибо как у разработчика платы может возникнуть потребность в этом, так и у разработчика ПЛИС - все это решается через процесс аннотаций и генерирования указанных выше обменных файлов. Процесс контролирует "Синхронизатор" - если изменились какие-либо подключенные к проекту IOD файлы, он это увидит и предложит соответствующие действия.
Естественно последовательность процесса и составные части каждый из вас сможет выбирать на свое усмотрение.
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
 |
Ответов
(45 - 59)
|
Sep 17 2009, 20:25
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Frederic @ Sep 17 2009, 23:28)  не совсем так, при синхронизации из IOD в DxD д.б. закрыт DxD, IOD сам его откроет. не могу понять зачем это  Тааак.... Начинается... У меня IOD на одном компе, там нет DxD. А DxD на другом - там нет IOD. Такой раскордаж временный, из-за отсутствия линуксового IOD. Интересно, оно вообще получится так синхронизироваться? Я еще не успел попробовать синхронизацию. А подправление .dev-файла руками на тему добавления типа PLLDIFF к нужным мне пинам сработало. Осталось таки въехать, можно ли задать такое правило свопа, навроде "цепь INCK должна быть подключена к пинам типа PLLDIFF, а цепь IN к пинам типа DIFF, и они обе обязаны быть в одном банке, но все равно в каком."
|
|
|
|
|
Sep 18 2009, 07:24
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Ну я все же надеюсь, что он генерирует какой-то скрипт, который потом выполняется в DxD. Если так - то можно попытаться его, скрипт, подсунуть вручную. А если нет - то можно попытаться обмануть всех сразу, сделав запуск DxD через rsh или ssh, чтобы IOD думал, что запускает локально, а не самом деле удаленно.
А вообще конечно жаль, что ментор не думает о том, что с одним проектом может работать несколько человек в разных программах (LM, IOD, DxD, Exp) из разных мест.
|
|
|
|
|
Sep 18 2009, 10:14
|

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

|
Цитата(Inpharhus @ Sep 18 2009, 11:26)   Подскажите есть ли что-то похожее на IOD для микропроцессоров или может бывают библиотеки микропроцессоров для IOD? Готовые библиотеки врядли, а работать с ASIC уже можно - изучайте iod_asic_user.pdf Цитата(SM @ Sep 18 2009, 11:24)  Ну я все же надеюсь, что он генерирует какой-то скрипт, который потом выполняется в DxD. Если так - то можно попытаться его, скрипт, подсунуть вручную. А если нет - то можно попытаться обмануть всех сразу, сделав запуск DxD через rsh или ssh, чтобы IOD думал, что запускает локально, а не самом деле удаленно.
А вообще конечно жаль, что ментор не думает о том, что с одним проектом может работать несколько человек в разных программах (LM, IOD, DxD, Exp) из разных мест. При экспорте в окне консоли написано: idxdesigner C:/MentorGraphics/IOD8.0/IODesigner/dxdesigner/rundxd.vbs C:/Demonstrations/Vidar_WG/Vidar_WG.prj FPGA_Controller_top 1 В Preferences>Paths указание где лежит DxD. В iod_fpga_user.pdf описание TCL команд.
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Sep 18 2009, 10:58
|

Частый гость
 
Группа: Свой
Сообщений: 167
Регистрация: 7-02-08
Из: Ростовская обл.
Пользователь №: 34 835

|
Цитата(fill @ Sep 18 2009, 14:14)  работать с ASIC уже можно - изучайте iod_asic_user.pdf А где взять?
|
|
|
|
|
Sep 18 2009, 11:28
|

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

|
Цитата(Inpharhus @ Sep 18 2009, 14:58)  А где взять? C:\MentorGraphics\IOD8.0\docs\pdfdocs\ Цитата(SM @ Sep 18 2009, 00:25)  А подправление .dev-файла руками на тему добавления типа PLLDIFF к нужным мне пинам сработало. Осталось таки въехать, можно ли задать такое правило свопа, навроде "цепь INCK должна быть подключена к пинам типа PLLDIFF, а цепь IN к пинам типа DIFF, и они обе обязаны быть в одном банке, но все равно в каком." "цепь INCK должна быть подключена к пинам типа PLLDIFF, а цепь IN к пинам типа DIFF," без проблем задается в Rule_Editor. А вот обязаны быть в одном банке трудно реализуемо, т.к. правила проверяются интерактивно и тогда получается что сигналы можно будет размещать только одновременно - иначе сразу получается нарушение. Хотя если привязать их в правиле к одному VREF, то можно в принципе и это организовать.
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Sep 18 2009, 12:32
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(insector @ Sep 15 2009, 16:06)  поэтому это Я буду в декларативном порядке сообщать программисту какие сигналы на каких ножках будут, а не ОН мне. Т.к. ему это фиолетово, а мне на плате - нет. Случай с DDR модулем немного другой, но там тоже от программиста немного зависит. Ему ("программисту", как Вы его называете) это абсолютно НЕ фиолетово. Т.к. есть куча проектов, где идет привязка к определенным контактам. Причем, не всегда эти контакты распределяет разработчик FPGA, они могут быть сгенерированы автоматически для удовлетворения времменых параметров (например, Xilinx Coregen формирует достаточно сложный файл ограничений дял PCI ядра, в том числе и для пинов). И Ваше общение с разработчиком должно быть итеративным. Просто может оказаться так, что из-за Вашей разводки проект в FPGA будет нерабочим... и как Вы думаете, кому дадут пинка? :-) -- Успехов
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Sep 18 2009, 13:56
|
Местный
  
Группа: Участник
Сообщений: 222
Регистрация: 27-01-09
Из: г.Жирновск
Пользователь №: 44 025

|
Вопрос к fill, есть ли возможность генерировать символы с помощью скриптов, так, как возможно в DC. Сейчас получается двойной путь, если речь идет о символе пользователя. Сначала генерируем символ из текста в slb, затем импортируется в DC, и наконец транслируется в DxD. Есть ли такая возможность сгенерировать свой символ из текста в IOD, чтобы потом перенести его в DXD. Возможно вопрос глупый, с IOD не работал, поэтому и прошу направить.
Сообщение отредактировал baken - Sep 18 2009, 13:57
--------------------
Еж - птица гордая. Не пнешь - не полетит.
|
|
|
|
|
Sep 18 2009, 14:35
|

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

|
Цитата(baken @ Sep 18 2009, 17:56)  Вопрос к fill, есть ли возможность генерировать символы с помощью скриптов, так, как возможно в DC. Сейчас получается двойной путь, если речь идет о символе пользователя. Сначала генерируем символ из текста в slb, затем импортируется в DC, и наконец транслируется в DxD. Есть ли такая возможность сгенерировать свой символ из текста в IOD, чтобы потом перенести его в DXD. Возможно вопрос глупый, с IOD не работал, поэтому и прошу направить. Более подробно что за скрипты вы используете, т.е. вы получаете на выходе символ с нужно графикой? Вот вам предмет для изучения [attachment=36386:Symbol_Gen.7z]
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Sep 19 2009, 04:53
|
Местный
  
Группа: Участник
Сообщений: 222
Регистрация: 27-01-09
Из: г.Жирновск
Пользователь №: 44 025

|
Цитата(fill @ Sep 18 2009, 18:35)  Более подробно что за скрипты вы используете, т.е. вы получаете на выходе символ с нужно графикой? Вот вам предмет для изучения [attachment=36386:Symbol_Gen.7z] Самописные бат файлы для генерации символов с помощью acmaker. Посмотрел видео, как все просто. Спасибо.
--------------------
Еж - птица гордая. Не пнешь - не полетит.
|
|
|
|
|
Sep 20 2009, 21:37
|
Знающий
   
Группа: Свой
Сообщений: 791
Регистрация: 14-05-05
Из: Минск
Пользователь №: 5 035

|
думаю вопрос по теме IOD7.4 1.четыре листа Design1 имеют нормальный вид, для ПЛИС в Bloks - табличный. Решение д.б. простое (раньше же был нормальный вид, но где то и что то нажал). Как вернуть к нормальному виду ПЛИС ? 2.при экспорте ucf файла при наличие сигналов содержащих # ( AOE#; ARE#; AWE#) происходит дописывание данных сигналов в конец файла при каждом экспортирование. В хелпе не нашел запрета на использование данного знака
Эскизы прикрепленных изображений
--------------------
Будь ты рабочий, будь ты профессор, а DxD-IOD-Exp должен знать каждый, чтобы не стать пособником империализма.
|
|
|
|
|
Oct 13 2009, 17:10
|
Местный
  
Группа: Участник
Сообщений: 222
Регистрация: 27-01-09
Из: г.Жирновск
Пользователь №: 44 025

|
Цитата(fill @ Sep 18 2009, 18:35)  Вот вам предмет для изучения [attachment=36386:Symbol_Gen.7z] Вы будете смеяться, но символ транзистора сгенерировать не удалось. Пишет нечетное число ног. Она даже не открывает символ транзистора из demo папки. Но даже и без этого недочета могу ответственно сказать Symgen и компилятор AXEL полный отстой. Там недочетов вагон и маленькая тележка. Не буду всего расписывать, но я изучил и прощупал эту тему досконально. Принципиально не удастся сделать символ детали, который потом не придется вручную подравнивать, подкорректировать , подправлять и так далее. Не говоря о том, что нечетное число ног он просто не понимает. Так что для больших чипов остается только один вариант IOD, а для дискретных элементов вручную рисовать. Может оно и правильно.
Сообщение отредактировал baken - Oct 13 2009, 17:19
--------------------
Еж - птица гордая. Не пнешь - не полетит.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|