Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: проблема с Spartan-3E Starter Kit
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
evocatus
ISE: 14.3: MIG: 3.6.1

Надо работать с памятью на плате Spartan-3E Starter Kit. Та память, что там есть (MT46V32M16TG-6TF) в списке ise не значится, поэтому пришлось создать для неё запись вручную на базе MT46V32M16XX-5B, взяв значения из микроновских доков.

Вобще интерфейс 16-битный (ширина шины данных). Но для 16-битного интерфейса ядро даже не создаётся, выводя такую ошибку:

ERROR:sim - Failed to generate 'ddr'.
Wrote CGP file for project 'ddr'.
Core Generator edit command failed.

Пробовал создать ядро для 8-битного интерфейса. Создаётся. Но теперь надо его переконфигурировать под реальную распиновку платы. Создал UCFфайл, но при попытке скормить его MIG'у выводит ошибку:

Reading design libraries of xc3s500e-fg320... successful !
/*******************************************************/
/* Controller 0
/*******************************************************/
ERROR: All the dqs signal(s)/pin(s) are missing.


Помогите, пожалуйста.
aabmail
А Вы не желаете попробовать сделать проект в EDK? Для этой платы там в плане DDR точно все "в списках значится". sm.gif
count_enable
Я так понимаю ТС не нужен микроблейз, поэтому он работает с CoreGen, а не EDK. Но вот чего я не понимаю, так это
Код
//NET "cntrl0_ddr_dqs"                  LOC = "L6" | IOSTANDARD = SSTL2_I;


Во-первых почему этот пин закомментирован, во-вторых почему закомментирован в С-стиле "//". В ucf комментарии начинаются с октоторпа '#'
curly07
Цитата(evocatus @ Mar 26 2014, 14:43) *
ISE: 14.3: MIG: 3.6.1

Надо работать с памятью на плате Spartan-3E Starter Kit. Та память, что там есть (MT46V32M16TG-6TF) в списке ise не значится, поэтому пришлось создать для неё запись вручную на базе MT46V32M16XX-5B, взяв значения из микроновских доков.

Вобще интерфейс 16-битный (ширина шины данных). Но для 16-битного интерфейса ядро даже не создаётся, выводя такую ошибку:

ERROR:sim - Failed to generate 'ddr'.
Wrote CGP file for project 'ddr'.
Core Generator edit command failed.

Пробовал создать ядро для 8-битного интерфейса. Создаётся. Но теперь надо его переконфигурировать под реальную распиновку платы. Создал UCFфайл, но при попытке скормить его MIG'у выводит ошибку:

Reading design libraries of xc3s500e-fg320... successful !
/*******************************************************/
/* Controller 0
/*******************************************************/
ERROR: All the dqs signal(s)/pin(s) are missing.


Помогите, пожалуйста.



Не в тему вопроса, но по микросхеме Spartan-3E.
На это семейство цены поднимаются - это первый звонок, что через некоторое время выпустят документ о снятии с производства. Года 2-3 у Вас еще есть, но будьте готовы к этому моменту. Если долгоиграющий проект, то лучше заранее подготовиться к замене микросхемы.
evocatus
Решил проблему поставив ISE 14.1 - он корректно генерит ядра для всех вариантов.

Непонятно вот что: как правильно назначить пины для ядра?

При создании ядра генерируется ucf файл (в папке ipcore_dir/ipcorename/user_design/par) с таким содержимым. Он реально используется, или это только шаблон, который мне надо вставлять в свой ucf?
aabmail
Цитата(evocatus @ Apr 3 2014, 10:43) *
Непонятно вот что: как правильно назначить пины для ядра?
При создании ядра генерируется ucf файл (в папке ipcore_dir/ipcorename/user_design/par) с таким содержимым. Он реально используется, или это только шаблон, который мне надо вставлять в свой ucf?

Это шаблон, который надо вставить в свой UCF. В Spartan-3 контроллер DDR реализуется на логических ячейках, которые должны быть закреплены на определенных местах. Эти места прописаны в UCF.
evocatus
Цитата(aabmail @ Apr 3 2014, 11:49) *
Это шаблон, который надо вставить в свой UCF. В Spartan-3 контроллер DDR реализуется на логических ячейках, которые должны быть закреплены на определенных местах. Эти места прописаны в UCF.


А если мне надо поменять назначение пинов? Мне кажется, что менять этот шаблон напрямую - не самая лучшая идея. Вроде у MIG есть функция типа "add and verify ucf" (за точность названия не ручаюсь). Это то, что мне надо?
aabmail
Цитата(evocatus @ Apr 3 2014, 11:51) *
А если мне надо поменять назначение пинов? Мне кажется, что менять этот шаблон напрямую - не самая лучшая идея. Вроде у MIG есть функция типа "add and verify ucf" (за точность названия не ручаюсь). Это то, что мне надо?


Если просто поменять в этом шаблоне пины, то скорее всего работать не будет (так как там учитываются задержки).
Т.е. нужно конечно использовать "add and verify ucf". Но и там кажется, в CoreGene был еще выбор номера банка. Если у Вас Evaluation board, то при выборе банка, к которому подключена DDR, должны сгенериться пины именно для вашей платы.

А еще можно поискать дизайн-примеры для вашей Evaluation board (например, http://www.xilinx.com/products/boards/s3es...nce_designs.htm), и взять оттуда часть UCF для DDR.
evocatus
Цитата(aabmail @ Apr 3 2014, 13:01) *
Если просто поменять в этом шаблоне пины, то скорее всего работать не будет (так как там учитываются задержки).
Т.е. нужно конечно использовать "add and verify ucf". Но и там кажется, в CoreGene был еще выбор номера банка. Если у Вас Evaluation board, то при выборе банка, к которому подключена DDR, должны сгенериться пины именно для вашей платы.

А еще можно поискать дизайн-примеры для вашей Evaluation board (например, http://www.xilinx.com/products/boards/s3es...nce_designs.htm), и взять оттуда часть UCF для DDR.


UCF я уже написал (он был в документации по плате, это Spartan-3E Starter Kit). Мне теперь просто скормить его MIG'у?
aabmail
Цитата(evocatus @ Apr 3 2014, 13:29) *
UCF я уже написал (он был в документации по плате, это Spartan-3E Starter Kit). Мне теперь просто скормить его MIG'у?


Два пути:
1. Можно скормить MIGу.
2. Добиться, чтобы MIG сгенерировал UCF-файл с теми же пинами, что и в документации. Мне кажется, это более правильный путь.
evocatus
Цитата(aabmail @ Apr 3 2014, 13:57) *
Два пути:
1. Можно скормить MIGу.
2. Добиться, чтобы MIG сгенерировал UCF-файл с теми же пинами, что и в документации. Мне кажется, это более правильный путь.


Во втором случае, как я понимаю, надо выбрать соотв. банк?
Он и сейчас (когда я его вообще не ограничивал) 3 пина из control/address раскидать не может, я их вручную в один из банков вставлял.
aabmail
Цитата(evocatus @ Apr 3 2014, 14:23) *
Во втором случае, как я понимаю, надо выбрать соотв. банк?
Он и сейчас (когда я его вообще не ограничивал) 3 пина из control/address раскидать не может, я их вручную в один из банков вставлял.


А какой у Вас спартан? Можете UCF выложить?
Похоже, что в случае startan-3 второй путь невозможен, т.е. проще всего ему UCF скормить, как вы сказали.
evocatus
Цитата(aabmail @ Apr 3 2014, 14:46) *
А какой у Вас спартан? Можете UCF выложить?
Похоже, что в случае startan-3 второй путь невозможен, т.е. проще всего ему UCF скормить, как вы сказали.


Мой самописный UCF (на базе того, что из документации по плате)

Spartan-3E XC3S500E-4C
aabmail
Цитата(evocatus @ Apr 3 2014, 14:54) *
Мой самописный UCF (на базе того, что из документации по плате)

Spartan-3E XC3S500E-4C


А package какой (сколько пинов в корпусе). И еще хорошо бы оригинальный UCF
evocatus
Цитата(aabmail @ Apr 3 2014, 15:00) *
А package какой (сколько пинов в корпусе). И еще хорошо бы оригинальный UCF


Оригинальный UCF (я так понял это тот, что сгенерировал MIG) я выкладывал выше. Дублирую ссылку.
Корпус FG320
aabmail
Цитата(evocatus @ Apr 3 2014, 15:05) *
Оригинальный UCF (я так понял это тот, что сгенерировал MIG) я выкладывал выше. Дублирую ссылку.

Я имею в виду UCF, который можно найти в reference designes для Вашей платы.

Пытаюсь загрузить UCF в MIG, - он у меня вылетает с ошибкой.

Еще одно обстоятельство. Скачал XAPP1016 для Spartan3E, там есть data/system.UCF, в котором указаны ноги DDR. При этом там не указаны RLOC, что странно. Но это все-таки ref. design, скорее всего работает.
Судя по проекту - UCF как раз для spartan3e XC3S500e FG320. Думаю, Вам стоит попробовать его взять

См. вложение

evocatus
ISE 14.1 при попытке сделать "Verify UCF and Update Design and UCF" выводит такое:
http://bpaste.net/show/200196/

Как вообще себя вести в таких ситуациях? Есть плата, в её документации описана разводка и приведён UCF-файл, а ISE не хочет его принимать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.