Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: вопрос по записи в maxii_ufm
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
spectr
Чип EPM570. Контроллер доступа к UFM настроен в режиме parallel, 16-битные данные, 9 бит адрес.

1. Если после прошивки/включения первой операцией доступа делаем запись, то в память UFM пишется не все 16-битное слово, а только его часть (например, пишу 0x1234, а в память ложится только 0x24). В итоге при чтении памяти читается некорректное слово (согласно примеру прочтется 0x2400).
2. Если перед первой записью сделать ERASE, то все последующие записи будут работать корректно.

Кто знает, скажите - это нормальное поведение?
spectr
Закопался в мануалах, сейчас изучаю EPCS и вот что нашел в AN379 (Active Serial Memory Interface Controller Reference Design) на циклон, но думаю что это применимо и к Максам:
Код
While writing data to the serial configuration device memory, the serial configuration device only allows you to change the bits in the memory from 1 to 0 since it is serial flash memory. For example, if the initial data in the address 0×070000 is 0×EC and you try to write a data byte 0×79 in the same address using the write_bytes operation, the data in that address becomes 0x68 since the bit0 and bit4 of the initial data byte 0×EC cannot be changed from 0 to 1.

To change bits from 0 to 1, you have to erase the targeted sector memory or erase all memory in the serial configuration device. Therefore, it is important to carefully plan when writing data bytes to the serial configuration device memory.


Получается что да, сначала надо стереть банк, в который будет производиться запись, поскольку память разрешает изменять только состояние битов 1->0. Соответственно, для последующей перезаписи тоже, видимо, необходима процедура стирания.

Такие дела.
doom13
Цитата(spectr @ Jun 2 2014, 15:18) *

Вообще это стандартно для любой флэш-памяти, 0 Вы можете записать на место 1, а наоборот нет, необходимо предварительное стирание, которое выставит все ячейки в 1.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.