|
Методика применения 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
|
|
|
|
|
 |
Ответов
|
Sep 15 2009, 15:01
|

Неиодный дизайнер
    
Группа: Свой
Сообщений: 1 240
Регистрация: 1-12-04
Из: Минск
Пользователь №: 1 273

|
Цитата 1. Предположим мы начинаем новый проект платы в которой будет стоять ПЛИС(ы). Предположим  Цитата 2. Проработали функционально наш проект и определили какие сигналы (цепи) будут подключены к ПЛИС. Ну, допустим  Цитата 3. Можно начинать определение ПЛИС, используя проект в IOD, сделать это можно несколькими путями: а) Написали VHDL(Verilog) файл в котором есть "шапка", т.е. определены порты - соответственно его можно: - прочитать в IOD и таким образом список сигналов окажется в IOD. - передать разработчику ПЛИС (естественно если не он сам его сделал) для дальнейшего формирования функционально\структурного описания внутренности ПЛИС б) Ввели сигналы непосредственно внутри IOD: - можем сгенерить VHDL(Verilog) файл и передать разработчику ПЛИС. Я извиняюсь, но чтобы начинать определение ПЛИС, не нужно ничего, кроме Вашего любимого текстового редактора  И если уж так хочется сгенерить hdl-файл, а не набрать его ручками, никакие иоды не нужны. Достаточно скриптов Цитата 4. Выбрали изготовителя ПЛИС, конкретный device и маршрут ПЛИС. Для этого иод не нужен  Цитата 5. Сделали предварительное присвоение выводов внутри IOD. Зачем? Предварительное присвоение выводов делается в схемном редакторе путем рисования схемы  Для этого нам понадобятся библиотечные символы, схемный редактор и руки. Возможно даже голова, но никак не иод  Цитата 6. Генерировали\нарисовали символ(ы) внутри IOD. 7. Экспортировали символы\PDB в DxDesigner. Это ключевой момент. Если ПЛИС многоногая, и ее символ получается слишком большой, чтобы разместить ее на схеме, этот самый символ необходимо разбить на части. Причем я не верю, что существует ПЛИС, символ которой физически невозможно разместить на схеме. Это всегда можно сделать, но такой символ не будет удовлетворять гостам. Существует и другая причина побить символ на более мелкие - удобочитаемость. Во всех остальных случаях необходим один символ на одну ПЛИС, который рисуется штатными средствами используемого вами пакета разработки печатных плат. Таким образом, IOD предназначен лишь для разбиения символа ПЛИС на более мелкие, все остальное притянуто за уши. Имхо на всякий случай  Цитата 8. Нарисовали схему платы в DxD. Существует жизнь и вне 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 файлы, он это увидит и предложит соответствующие действия. Перераспределение выводов делается путем правки схемы и прямой аннотации в плату без участия каких-либо посредников, которые непонятно что синхронизируют. И какие такие действия может предложить таинственный синхронизатор? Как у Жванецкого: "Продолжать движение!!!"?
--------------------
SPECCTRA forever! IO/Designer forever!
|
|
|
|
|
Sep 15 2009, 18:04
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
Цитата(Vadim @ Sep 15 2009, 19:01)  На создание компонета с ~700 ногами в ИОДе уходит час-два, это если не спешить. Это при том, что несколько групп свапирования, разные стандарты ввода-вывода, разные клоки, МГТ и т.д. И даже мысли не приходит что возможна ошибка с нумерацией, перепутыванием ног и прочими косяками. Изменения в сигналах делаются еще быстрее. ОДно из основных достоинств - это база по всем ПЛИС. Даже думать не хочу сколько человеко-месяцев нужно чтобы без ошибки создать такой компонент без ИОД, а потом его править при изменении количества сигналов\банков и т.д. Поэтому можно забить на все глюки ИОД, коих ни чуть не меньше чем в ДхД.
|
|
|
|
|
Sep 15 2009, 19:08
|

Неиодный дизайнер
    
Группа: Свой
Сообщений: 1 240
Регистрация: 1-12-04
Из: Минск
Пользователь №: 1 273

|
Цитата(disel @ Sep 15 2009, 21:04)  На создание компонета с ~700 ногами в ИОДе уходит час-два, это если не спешить. Допустим. Цитата(disel @ Sep 15 2009, 21:04)  Это при том, что несколько групп свапирования, разные стандарты ввода-вывода, разные клоки, МГТ и т.д. И даже мысли не приходит что возможна ошибка с нумерацией, перепутыванием ног и прочими косяками. Имхо, несерьезно. На этапе создания символа задача библиотекаря - тупо повторить даташит. Цитата(disel @ Sep 15 2009, 21:04)  Изменения в сигналах делаются еще быстрее. Извините, не понял, в каких таких сигналах? Цитата(disel @ Sep 15 2009, 21:04)  ОДно из основных достоинств - это база по всем ПЛИС. Сомнительное достоинство. Заходим на сайт производителя и скачиваем даташит. Цитата(disel @ Sep 15 2009, 21:04)  Даже думать не хочу сколько человеко-месяцев нужно чтобы без ошибки создать такой компонент без ИОД, а потом его править при изменении количества сигналов\банков и т.д. Т.е на создание компонента с 700 ногами без ошибок у Вас уйдет несколько человеко-месяцев? Не сочтите за наезд, но теперь я понимаю, что ИОД иногда полезен  И не понимаю, зачем править созданный без ошибок компонент. Как в компоненте, серийно выпускаемой славной капиталистической промышленностью, может измениться количество сигналов (каких сигналов?) и банков? Это же не трансформер какой нибудь, а FPGA!!!
--------------------
SPECCTRA forever! IO/Designer forever!
|
|
|
|
Сообщений в этой теме
fill Методика применения I/O_Designer Sep 15 2009, 12:26 insector Александр, спасибо за описание, действительно - кр... Sep 15 2009, 13:06 SM Цитата(insector @ Sep 15 2009, 17:06) поэ... Sep 15 2009, 16:10 Victor® Цитата(insector @ Sep 15 2009, 16:06) поэ... Sep 18 2009, 12:32 fill Тогда дополню:
1. Передача информации автоматом че... Sep 15 2009, 13:51   Frederic Цитата(Vadim @ Sep 15 2009, 22:08) Имхо, ... Sep 15 2009, 19:28    Vadim Цитата(Frederic @ Sep 15 2009, 22:28) инт... Sep 15 2009, 20:10   disel Цитата(Vadim @ Sep 15 2009, 23:08) Имхо, ... Sep 16 2009, 03:43    Vadim Цитата(disel @ Sep 16 2009, 06:43) Исключ... Sep 17 2009, 09:25 Inpharhus Цитата(Vadim @ Sep 15 2009, 23:08) Сомнит... Sep 16 2009, 06:45 SM Цитата(Inpharhus @ Sep 16 2009, 10:45) А ... Sep 16 2009, 07:28  Inpharhus Цитата(SM @ Sep 16 2009, 11:28) Группы св... Sep 16 2009, 11:29   SM Цитата(Inpharhus @ Sep 16 2009, 15:29) А ... Sep 16 2009, 12:42  Frederic Цитата(SM @ Sep 16 2009, 10:28) Группы св... Sep 16 2009, 12:36 Vadim Цитата(Inpharhus @ Sep 16 2009, 09:45) А ... Sep 17 2009, 09:39 SM Подскажите пожалуйста такую вещь по IOD:
- ПЛИСка... Sep 17 2009, 09:17 Inpharhus Цитата(SM @ Sep 17 2009, 13:17) Есть вход... Sep 17 2009, 09:29  SM Цитата(Inpharhus @ Sep 17 2009, 13:29) Ри... Sep 17 2009, 09:37   Inpharhus Цитата(SM @ Sep 17 2009, 13:37) А что - т... Sep 17 2009, 09:40    SM Цитата(Inpharhus @ Sep 17 2009, 13:40) Пр... Sep 17 2009, 09:45     fill Цитата(SM @ Sep 17 2009, 13:45) Ну как же... Sep 17 2009, 09:52      SM Цитата(fill @ Sep 17 2009, 13:52) в текущ... Sep 17 2009, 10:01       fill Цитата(SM @ Sep 17 2009, 14:01) Неа, не д... Sep 17 2009, 10:20        AlexN Цитата(fill @ Sep 17 2009, 17:20)
уже в... Sep 17 2009, 10:36     Inpharhus Цитата(Vadim @ Sep 17 2009, 13:39) Символ... Sep 17 2009, 09:55      Vadim Цитата(Inpharhus @ Sep 17 2009, 12:55) По... Sep 17 2009, 10:01      SM Цитата(Inpharhus @ Sep 17 2009, 13:55) Ну... Sep 17 2009, 10:11       Inpharhus Цитата(SM @ Sep 17 2009, 14:06) А я вот ч... Sep 17 2009, 10:13        SM Цитата(Inpharhus @ Sep 17 2009, 14:13) На... Sep 17 2009, 10:20         Inpharhus Цитата(SM @ Sep 17 2009, 14:20) Так мне в... Sep 17 2009, 10:25          SM Цитата(Inpharhus @ Sep 17 2009, 14:25) Та... Sep 17 2009, 10:30           Inpharhus Цитата(SM @ Sep 17 2009, 14:30) А как я п... Sep 17 2009, 10:39            SM Цитата(Inpharhus @ Sep 17 2009, 14:39) Чт... Sep 17 2009, 10:44           fill Цитата(SM @ Sep 17 2009, 14:30) А как я п... Sep 17 2009, 10:46            SM Цитата(fill @ Sep 17 2009, 14:46) 2. Чере... Sep 17 2009, 10:53             Inpharhus Цитата(SM @ Sep 17 2009, 14:53) Да и сход... Sep 17 2009, 11:04              SM Цитата(Inpharhus @ Sep 17 2009, 15:04) Ну... Sep 17 2009, 11:09             Frederic Цитата(SM @ Sep 17 2009, 13:53) Во - имен... Sep 17 2009, 19:28              SM Цитата(Frederic @ Sep 17 2009, 23:28) не ... Sep 17 2009, 20:25               fill Цитата(SM @ Sep 18 2009, 00:25) Тааак....... Sep 18 2009, 07:12   fill Цитата(SM @ Sep 17 2009, 13:37) Я хочу со... Sep 17 2009, 09:41  Vadim Цитата(Inpharhus @ Sep 17 2009, 12:29) Ко... Sep 17 2009, 09:56 fill Цитата(SM @ Sep 17 2009, 13:17) Подскажит... Sep 17 2009, 09:33 SM fill, а почему это в описании EE2007.7? IOD стал е... Sep 17 2009, 10:23 fill Цитата(SM @ Sep 17 2009, 14:23) fill, а п... Sep 17 2009, 10:34  fill Цитата(fill @ Sep 17 2009, 14:34) Он оста... Oct 13 2009, 12:30 SM Ну я все же надеюсь, что он генерирует какой-то ск... Sep 18 2009, 07:24 Inpharhus Подскажите есть ли что-то похожее на IOD для микро... Sep 18 2009, 07:26 fill Цитата(Inpharhus @ Sep 18 2009, 11:26) П... Sep 18 2009, 10:14  Inpharhus Цитата(fill @ Sep 18 2009, 14:14) работат... Sep 18 2009, 10:58   fill Цитата(Inpharhus @ Sep 18 2009, 14:58) А ... Sep 18 2009, 11:28 baken Вопрос к fill, есть ли возможность генерировать си... Sep 18 2009, 13:56 fill Цитата(baken @ Sep 18 2009, 17:56) Вопрос... Sep 18 2009, 14:35  baken Цитата(fill @ Sep 18 2009, 18:35) Более п... Sep 19 2009, 04:53   Frederic думаю вопрос по теме IOD7.4
1.четыре листа Design1... Sep 20 2009, 21:37    fill Цитата(Frederic @ Sep 21 2009, 01:37) дум... Sep 21 2009, 09:56  baken Цитата(fill @ Sep 18 2009, 18:35) Вот вам... Oct 13 2009, 17:10   fill Цитата(baken @ Oct 13 2009, 21:10) Вы буд... Oct 14 2009, 07:53    baken Цитата(fill @ Oct 14 2009, 11:53) А это н... Oct 15 2009, 14:08 Frederic Цитата(fill @ Sep 15 2009, 15:26) Т.к. су... Oct 15 2009, 12:04 SM Вот... Первая попытка работы с IOD...
Ввел сигналы... Oct 18 2009, 15:42 Frederic Цитата(SM @ Oct 18 2009, 18:42) Вот... Пе... Oct 18 2009, 16:30  SM Цитата(Frederic @ Oct 18 2009, 20:30) есл... Oct 18 2009, 19:15   Frederic Цитата(SM @ Oct 18 2009, 22:15) Да, там т... Oct 18 2009, 20:57    SM Цитата(Frederic @ Oct 19 2009, 00:57) даю... Oct 18 2009, 21:08     Frederic Цитата(SM @ Oct 19 2009, 00:08) Тема... Н... Oct 18 2009, 21:41      SM Цитата(Frederic @ Oct 19 2009, 01:41) то ... Oct 18 2009, 22:27 SM В общем - конкретизирую вопрос. Как мне подключить... Oct 19 2009, 08:32 Frederic Цитата(SM @ Oct 19 2009, 11:32) В общем -... Oct 19 2009, 08:41  SM Цитата(Frederic @ Oct 19 2009, 12:41) вст... Oct 19 2009, 09:15   Frederic Цитата(SM @ Oct 19 2009, 12:15) Да как я ... Oct 19 2009, 09:35    SM Цитата(Frederic @ Oct 19 2009, 13:35) ты ... Oct 19 2009, 09:43     Frederic Цитата(SM @ Oct 19 2009, 12:43) Вы мне во... Oct 19 2009, 10:21      SM Цитата(Frederic @ Oct 19 2009, 14:21) 1.м... Oct 19 2009, 10:25       Frederic Цитата(SM @ Oct 19 2009, 13:25) 1. Не при... Oct 19 2009, 10:39 fill Наверно придется писать большими буквами (т.к. уже... Oct 19 2009, 12:29 Frederic узок круг IOДизайнеров, страшно далеки они от наро... Oct 19 2009, 13:17 SM Цитата(fill @ Oct 19 2009, 16:29) Вторая ... Oct 19 2009, 16:23  fill Цитата(SM @ Oct 19 2009, 20:23) Вот! ... Oct 21 2009, 08:49 Frederic Цитата(fill @ Oct 19 2009, 15:29) 3. Наиб... Nov 6 2009, 00:14  Inpharhus Цитата(Frederic @ Nov 6 2009, 03:14) как ... Nov 6 2009, 06:11   Frederic Цитата(Inpharhus @ Nov 6 2009, 09:11) В 3... Nov 6 2009, 08:39    Asb Э-э-э, а PCB символ под этим функциональным есть? ... Nov 6 2009, 09:18     Frederic Цитата(Asb @ Nov 6 2009, 12:18) Э-э-э, а ... Nov 6 2009, 10:04      Asb Цитата(Frederic @ Nov 6 2009, 13:04) а во... Nov 6 2009, 10:33    SM Цитата(Frederic @ Nov 6 2009, 11:39) если... Nov 6 2009, 10:14 fill 1. Ваять можно непосредственно внутри IOD - для эт... Nov 6 2009, 13:18 Frederic Цитата(fill @ Nov 6 2009, 16:18) 1. Ваять... Nov 6 2009, 23:53 fill В подсхеме сгенерированной IOD есть порт X_DONE?
... Nov 7 2009, 09:32 Frederic Цитата(fill @ Nov 7 2009, 12:32) В подсхе... Nov 10 2009, 07:35  fill Цитата(Frederic @ Nov 10 2009, 10:35) В п... Nov 10 2009, 08:18 janus Сорри, уточнение....Вручную был создан лист подсхе... Nov 10 2009, 08:21 fill 1. Есть несколько видов экспорта:
- Shematic_and_s... Nov 10 2009, 09:34 janus 1. Использовался экспорт All_Symbols
2. Это понятн... Nov 10 2009, 11:21
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|