|
Загрузка Virtex-4FX, Подкиньте идеи |
|
|
|
Dec 4 2011, 09:24
|
Частый гость
 
Группа: Свой
Сообщений: 131
Регистрация: 22-10-04
Пользователь №: 963

|
Цитата(D-Luxe @ Nov 29 2011, 22:51)  Подскажите как можно запрограммировать Spartan-3e для загрузки Virtex4-FX20, которые связаны между собой. Если связаны только по питанию то без разницы как. Какая связь? По 232 будет заливаться прошивка в ПЛИС при каждом включении?(В теории и по опыту это несколько минут)
|
|
|
|
|
Dec 4 2011, 12:17
|
Местный
  
Группа: Свой
Сообщений: 301
Регистрация: 18-09-07
Из: Украина
Пользователь №: 30 647

|
Цитата(D-Luxe @ Nov 29 2011, 20:51)  Подскажите как можно запрограммировать Spartan-3e для загрузки Virtex4-FX20, которые связаны между собой. Spartan-3e опрашивает COM-порт и программирует Virtex-4.
Если нужна еще какая-то информация напишу. Добрый день. Каким образом "связаны" Spartan-3e и Virtex4-FX20? Какой режим конфигурирования выбран для Virtex4-FX20? Соответствует ли "связь" между Spartan-3e и Virtex4-FX20 выбранному режиму? Откуда и каким образом Spartan-3e предполагает получать конфигурационные данные для Virtex4-FX20? Без ответов на эти вопросы вряд ли кто-то возьмётся что-то подсказывать. Удачи.
|
|
|
|
|
Dec 25 2011, 19:21
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642

|
Кароче объясняю в деталях. Microblaze получает прошивку по RS232 от PC. Далее кладет в память. После прошивка должна быть передана по интерфейсу Slave Serial, который соединяет Spartan3e и Virtex-4FX. ( см даташит ug071.pdf, на странице 28 есть диаграмма ) Для этой цели я написал компонент который осуществляет передачу по этому интерфейсу. На данный момент проблема в том, что на выходе компонента выдается требуемая последовательность сигналов, но Virtex-4FX не программируется ( это я сужу по светодиоду DONE от Virtex-4FX ). Как это дело можно отладить ? Что я делаю не так? Диаграмма в реал тайм времени ниже. На первой диаграмме: D1 - PROGRAM_B D2 - INIT_B D3 - D_IN D4 - CCLK ( частоту подаю 8МГц ) Foto_1Foto_2
--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти. (с) Уилл Роджерс
|
|
|
|
|
Dec 26 2011, 06:43
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(D-Luxe @ Dec 26 2011, 02:21)  Кароче объясняю в деталях. Microblaze получает прошивку по RS232 от PC. Далее кладет в память. После прошивка должна быть передана по интерфейсу Slave Serial, который соединяет Spartan3e и Virtex-4FX. ( см даташит ug071.pdf, на странице 28 есть диаграмма ) Для этой цели я написал компонент который осуществляет передачу по этому интерфейсу. На данный момент проблема в том, что на выходе компонента выдается требуемая последовательность сигналов, но Virtex-4FX не программируется ( это я сужу по светодиоду DONE от Virtex-4FX ). Как это дело можно отладить ? Что я делаю не так? Диаграмма в реал тайм времени ниже. На первой диаграмме: D1 - PROGRAM_B D2 - INIT_B D3 - D_IN D4 - CCLK ( частоту подаю 8МГц ) Foto_1Foto_2Ещё как минимум 2 проблемы вижу : 1. Сигнал INIT у вас как-то уж больно быстро вскакивает, обычно у виртексов время на очистку конфигурации (т.е. пока INIT в нуле) составляет микросекунды, а то и десятки микросекунд. У вас этот процесс за 1 такт проходит. Очень странно. 2. Клоки не должны подаваться до тех пор, пока INIT не станет в 1. Диаграмки есть в соответствующем Config guide. Поглядите и сравните с вашими. З Ы А на воропс вы так и не ответили - как спартан-то грузится, ну тот который с микроблейзом?
|
|
|
|
|
Dec 26 2011, 18:51
|
Местный
  
Группа: Свой
Сообщений: 301
Регистрация: 18-09-07
Из: Украина
Пользователь №: 30 647

|
Добрый день. 1. Прислушайтесь к aaarrr. Совершенно справедливое замечание по поводу полярности CCLK. 2. Возможно я ошибаюсь, но по виду осциллограммы складывается впечатление, что вы сами формируете INIT_B. Однако в процессе загрузки конфигурации это open-drain выход. 3. CCLK у вас 8МГц(125нс период), и длительность PROGRAM_B = 1 такт, хотя в соответствии с табл.43 на стр. 46 файла ds302.pdf "TPROGRAM Program Pulse Width 300 ns, Min." И на это следует обратить внимание. Некоторое время назад я реализовывал загрузку конфигурации Virtex5 процессором, правда в параллельном режиме, самостоятельно формируя PROGRAM_B. После выставления PROGRAM_B дожидался перехода INIT_B в "0", после этого переводил PROGRAM_B в "1" и дожидался перехода INIT_B в "1", что свидельствовало об окончании очистки(инициализации) памяти конфигурации FPGA и ее готовности к приему конфигурационных данных. Кроме того в процессе загрузки необходимо контролировать INIT_B. Если он перейдет в "0", значит произошло нарушение CRC. Удачи.
|
|
|
|
|
Jan 25 2012, 16:55
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642

|
На данный момент загрузка реализована по логике, описанной Andrew Su. http://postimage.org/image/vdy0susv1/http://postimage.org/image/htgfl7rtp/http://postimage.org/image/yso0eco87/На рисунках видно что после приема D3 (INIT_B) == 0, D2 (PROG_B) сбрасывается в 1, и потом ожидается поднятие D3. После подается частота D0 ( CCLK ) и загружаются данные. Частота - 8 Мгц. Virtex-4 не хочет загружаться почему-то. Загружаю я bin файл, сгенерированной средой EDK. Подскажите в чем дело?
--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти. (с) Уилл Роджерс
|
|
|
|
|
Feb 24 2012, 09:26
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(D-Luxe @ Feb 24 2012, 15:01)  Еще непонятно почему размер bin файла - 905,328. Хотя из данных в Virtex-4 Guide, должно быть - 905,280. Это может быть заголовок, только такой заголовок обычно бывает у *.bit файлов. То обстоятельство, что биты в байте перевёрнуты для бинарного формата учитываете?
|
|
|
|
|
Feb 24 2012, 20:33
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642

|
Цитата(Bad0512 @ Feb 24 2012, 12:26)  Это может быть заголовок, только такой заголовок обычно бывает у *.bit файлов. То обстоятельство, что биты в байте перевёрнуты для бинарного формата учитываете? В бин файле байты не перевернуты. Так написано в даташите.
--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти. (с) Уилл Роджерс
|
|
|
|
|
Feb 25 2012, 08:30
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(D-Luxe @ Feb 25 2012, 03:33)  В бин файле байты не перевернуты. Так написано в даташите. Хорошо, зададим вопрос по-другому : Каким битом вперёд вы выталкиваете байтовые данные для загрузки Virtex, младшим или старшим? MSB first or LSB first? По даташиту надо чтобы было MSB first. P S поглядел на ваши картинки - вроде всё правильно у вас с порядком следования бит...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|