реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Remote Update Xilinx 7 series FPGAs
doom13
сообщение Jan 13 2016, 07:51
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Приветствую.
Хочу реализовать поддержку удалённого обновления ПО для Virtex-7 (XC7VX690T) с возможностью хранения в конфигурационном девайсе нескольких прошивок. В качестве конфигурационного девайса используется Flash Micron G18 (MT28GU01GAAX1E) 1024 Mb, режим конфигурации Master BPI.
Пока основной вопрос - есть ли какое-то стандартное ядро для чтения/записи BPI flash (Parallel NOR Flash)? Или тут придётся делать свой контроллер для Parallel NOR Flash памяти (возможно позаимствовать из примеров xapp1081, xapp518)?
Спасибо.

Ещё вопрос, для прошивки в конфигурационную память будет использоваться BIN-файл?
Go to the top of the page
 
+Quote Post
jojo
сообщение Jan 14 2016, 12:33
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Я сильно не думал над этим, взял модель микросхемы памяти на Verilog от Micron и конвертировал оттуда тест на язык Си.
То, что было на Verilog регистрами, вывел из FPGA через GPIO.
Чисто софтовое решение, bitbang.

Когда несколько bin зашиты в ПЗУ, по адресу любой прошивки можно сделать горячую перезагрузку.

Что нужно шить я сейчас не помню, нужно уточнить. По идее это BIN или его производные в формате Hex.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jan 14 2016, 13:05
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Похоже, ядро AXI EMC v3.0 можно использовать для чтения/записи флэшки. Но пока не могу понять как его законнектить, если кто с ним работал просьба подсказать. Схема в pdf-файле.
Память подключена для синхронной записи/чтения (рисунок из ug470), ногу FPGA CCLK_0_AE34 не могу подключить к линии CCLK_FPGA, что-то её выкидывает
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  flash.pdf ( 2.68 мегабайт ) Кол-во скачиваний: 18
 
Go to the top of the page
 
+Quote Post
doom13
сообщение Jan 20 2016, 19:21
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Разобрался, подключение контроллера к памяти можно посмотреть тут (AXI_EMC_IP_STARTUPE3.zip). Далее используем библиотеку XilFlash или драйвер от Micron.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jan 22 2016, 09:02
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(doom13 @ Jan 13 2016, 10:51) *
Ещё вопрос, для прошивки в конфигурационную память будет использоваться BIN-файл?

Для удалённого обновления используется BIN-файл.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jan 25 2016, 13:54
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Приветствую.
Есть ли возможность выдать сигнал на пин INIT_B? Хочу после загрузки прошивки выдать сигнал сброса на flash-память.
Go to the top of the page
 
+Quote Post
Maksim
сообщение Jan 25 2016, 21:26
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194



Цитата(doom13 @ Jan 25 2016, 16:54) *
Приветствую.
Есть ли возможность выдать сигнал на пин INIT_B? Хочу после загрузки прошивки выдать сигнал сброса на flash-память.


он после загрузки ПЛИС, вроде становится пользовательским выводом - "делай, что хочешь"


--------------------
qwerty
Go to the top of the page
 
+Quote Post
doom13
сообщение Jan 26 2016, 07:43
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Maksim @ Jan 26 2016, 00:26) *
он после загрузки ПЛИС, вроде становится пользовательским выводом - "делай, что хочешь"

В доке тип ноги INIT_B указан как Dedicated, при попытке назначения Vivado выбрасывает ошибку. CCLK также Dedicated (при попытке назначения выдаст ошибку), но к нему возможно получить доступ через STARTUPE2. Есть ли что-то аналогичное для INIT_B?

Есть проблема в работе конфигурационной памяти. Конфигурационная флэшка нормально работает в случае закрузки FPGA по JTAG. Есть AXI EMC плюс софтовый драйвер (XilFlash или драйвер от Micron, работают одинаково хорошо), можем писать/читать данные в/с флэш-памяти. Но вот если система стартовала при включении питания, конфигурационная память использовалась загрузчиком FPGA, то есть какая-то проблема. Софтовый драйвер не может пройти процедуру инициализации памяти. Кусок кода, где происходит ошибка:
Код
   /* Step 1: Send the Read CFI Command */
   FLASH_WRITE(0x0055, CMD(0x0098));

   /* Step 2: Check that the CFI interface is operable */
   if( (FLASH_READ(0x0010) != CMD(0x0051)) ||
       (FLASH_READ(0x0011) != CMD(0x0052)) ||
       (FLASH_READ(0x0012) != CMD(0x0059)) )
      return Flash_CfiFailed;

FLASH_READ(0x0010) выдаст 0, если поставить breakpoint и вернуться прочитать всё повторно, то условие выполнится. Вот и пытаюсь найти различия в вариантах загрузки FPGA.
Go to the top of the page
 
+Quote Post
Maksim
сообщение Jan 27 2016, 11:10
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194



ПЛИС загрузилась из флэш памяти, а потом внутри неё процессор не может получить к ней доступ?
Чипскопом посмотреть, что выдаётся на ноги флэш, пробовали?


--------------------
qwerty
Go to the top of the page
 
+Quote Post
doom13
сообщение Jan 27 2016, 12:25
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Maksim @ Jan 27 2016, 14:10) *
ПЛИС загрузилась из флэш памяти, а потом внутри неё процессор не может получить к ней доступ?

Да, ПЛИС загрузилась с флэша и работает. Есть MicroBlaze, AXI EMC и др. В программе MicroBlaze используется библиотека для работы с флэш-памятью ( 1.XilFlash или 2.либа от Micron, выше был кусок кода для функции инициализации флэша из либы Micron). Если ПЛИС стартовала с флэша, то функция инициализации флэша не проходит (кусок кода, где получается ошибка, - выше).
Цитата(Maksim @ Jan 27 2016, 14:10) *
Чипскопом посмотреть, что выдаётся на ноги флэш, пробовали?

Пробовал повесить на ноги флэша ILA (использую Vivado 2015.2), но не вышло, всё время выдаёт ошибку (ILA подключался в сечении порты модуля AXI EMC - выходные буферы FPGA).
Go to the top of the page
 
+Quote Post
Maksim
сообщение Jan 27 2016, 14:20
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194



[/quote]
Пробовал повесить на ноги флэша ILA (использую Vivado 2015.2), но не вышло, всё время выдаёт ошибку (ILA подключался в сечении порты модуля AXI EMC - выходные буферы FPGA).
[/quote]
Если есть свободные "ноги", то можно на них вывести что идёт флэш, а уже к ним попробовать чипскоп подключить, иногда, помогает, когда чипскоп не хочет подключаться


--------------------
qwerty
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jan 27 2016, 16:34
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(Maksim @ Jan 27 2016, 16:20) *
Пробовал повесить на ноги флэша ILA (использую Vivado 2015.2), но не вышло, всё время выдаёт ошибку (ILA подключался в сечении порты модуля AXI EMC - выходные буферы FPGA).

Если есть свободные "ноги", то можно на них вывести что идёт флэш, а уже к ним попробовать чипскоп подключить, иногда, помогает, когда чипскоп не хочет подключаться

Надо цеплять ILA не к внешим портам (он такого не позволяет так как физически не подключится) а к линия идущим ко входам OBUF,IOBUF, и от выходов IBUF IOBUF.
Если буфера уже расположенны в корке то легким движенеим рук это не сделать - приходится "рыть" gate-level после синтеза.

Успехов! Rob.

Go to the top of the page
 
+Quote Post
doom13
сообщение Jan 27 2016, 18:04
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(RobFPGA @ Jan 27 2016, 19:34) *
Надо цеплять ILA не к внешим портам (он такого не позволяет так как физически не подключится) а к линия идущим ко входам OBUF,IOBUF, и от выходов IBUF IOBUF.
Если буфера уже расположенны в корке то легким движенеим рук это не сделать - приходится "рыть" gate-level после синтеза.

Так и делал. После выполнения анализа открыл схему и натыкал Debug point-ов между портами модуля AXI EMC и входными/выходными буферами FPGA. Пробовал поставить Debug point-ы внутри самого модуля AXI EMC, но результат тот же - ошибки. Решил, что Vivado не может прикрутить ILA к шине флэша (завтра ещё раз перепроверю).
Go to the top of the page
 
+Quote Post
Maksim
сообщение Jan 27 2016, 20:50
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194



так подключали?
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


--------------------
qwerty
Go to the top of the page
 
+Quote Post
doom13
сообщение Jan 28 2016, 08:22
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Maksim @ Jan 27 2016, 23:50) *
так подключали?

Такой вариант сейчас опробую, но пока было так: на рисунке 1 показано сечение, куда ставятся Debug point-ы.
Выкидывает ошибку на этапе Bitstream Generation (Synthesis & Implementation проходят нормально):
Цитата
[DRC 23-20] Rule violation (RTSTAT-2) Partially routed net - 45 net(s) are partially routed. The problem bus(es) and/or net(s) are CPU/axi_emc_0/U0/mem_a[30:0], CPU/axi_emc_0/U0/EMC_CTRL_I/IO_REGISTERS_I/mem_cen[0], CPU/axi_emc_0/U0/EMC_CTRL_I/IO_REGISTERS_I/mem_dq_o[15:0], CPU/axi_emc_0/U0/EMC_CTRL_I/IO_REGISTERS_I/mem_oen[0], CPU/axi_emc_0/U0/EMC_CTRL_I/IO_REGISTERS_I/mem_wen_reg.

Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 00:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01506 секунд с 7
ELECTRONIX ©2004-2016