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

 
 
> Поиск NAND флеш контроллера
demonizer
сообщение May 21 2010, 09:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 23-03-10
Пользователь №: 56 159



Несколько раз на форумах поднимались топики по поиску NAND флеш контроллера на ПЛИСах. Но все безуспешно.
Кроме сигнального интерфейса к флешкам ничего не могу нарыть.
Очень нужен контроллер NAND с буферизацией данных в памяти ПЛИСа, с wishbone интерфейсом. Желательно на Verilog'е.
В просторах сети можно несколько платных корок. А вот с бесплатными - беда, на Opencores только началась разработка такого проекта, результатов пока нет.
Кто-нибудь может поделиться своими или чужими разработками? Или указать, где можно найти. Очень буду признателен.


--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
demonizer
сообщение May 21 2010, 13:21
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 23-03-10
Пользователь №: 56 159



2 DmitryR:

Пока разбираюсь с исходниками.
А вы в курсе, поддерживает ли микроновский контроллер burst mode флешей для последовательного чтения/записи данных?


--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
Go to the top of the page
 
+Quote Post
DmitryR
сообщение May 24 2010, 08:35
Сообщение #3


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(demonizer @ May 21 2010, 17:21) *
А вы в курсе, поддерживает ли микроновский контроллер burst mode флешей для последовательного чтения/записи данных?

Я не в курсе, но практически уверен, что нет. Вобщем я очень быстро пришел к выводу, что написать самому человеческий контроллер будет быстрее, чем копаться в этом. Например, если бы я дал такой (микроновский) контроллер программисту - мне пришлось бы написать талмуд о том, что там можно делать и чего нельзя (очевидно например что полностью случайный доступ нельзя делать). Это вообще глупо на мой взгляд: делать контроллеру интерфейс Random Access Memory при том, что access там совершенно не random. Это вводит всех в заблуждение и чревато.
Go to the top of the page
 
+Quote Post
demonizer
сообщение Jun 2 2010, 07:47
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 23-03-10
Пользователь №: 56 159



Цитата(DmitryR @ May 24 2010, 12:35) *
Я не в курсе, но практически уверен, что нет. Вобщем я очень быстро пришел к выводу, что написать самому человеческий контроллер будет быстрее, чем копаться в этом. Например, если бы я дал такой (микроновский) контроллер программисту - мне пришлось бы написать талмуд о том, что там можно делать и чего нельзя (очевидно например что полностью случайный доступ нельзя делать). Это вообще глупо на мой взгляд: делать контроллеру интерфейс Random Access Memory при том, что access там совершенно не random. Это вводит всех в заблуждение и чревато.



По поводу интерфейса Random Access Memory смею не согласиться. В данном контроллере используется стандартная схема работы с NAND флеш по следующей логике: запись команды во флеш->чтение/запись данных во внутренний буфер->извлечение данных из внутреннего буфера по SRAM интерфейсу. Так что SRAM интерфейс нужен только для обращения к регистрам и буферам данных контроллера, а не напрямую к NAND. А это как раз то что мне нужно, так как я не представляю как по другому сделать скоростной DMA доступ к флеш памяти, минуя копирование данных во внутренний буфер.

Цитата(Victor® @ May 24 2010, 13:04) *
А может посмотрите в сторону e.MMC?
http://www.numonyx.com/en-US/MemoryProduct...Pages/eMMC.aspx
Напишите контроллер для MMC - получите более универсальную штуку, IMHO

Я рассматривал вариант с самсунговской OneNAND памятью - это контроллер+NAND массив в одном корпусе. Здесь принцип тот же, только использован MultimediaCard интерфейс. Спасибо за совет, буду иметь ввиду, что у Numonix есть такой чип.

Я пока еще мучаю контроллер от Мicron. Перевел код на Verilog с помощью бесплатной утилиты под Linux, кое-что пришлось править руками.
Написал тестбенч для контроллера. Короче такая проблема: на VHDL все работает, в Veriloge работать отказывается, ошибка - бесконечный цикл симуляции. В списках чувствительности в VHDL процессов в FSM есть перекрестные ссылки, причем процессы асинхронные, нет ни rising_edge ни falling_edge условий. Объясните почему в VHDL это работает, а в верилоге нет?
Еще есть одно подозрение, используется tristate цепь данных, причем эта цепь есть в списке чувствительности одного из процессов. В VHDL данные в цепь назначаются внутри другого процесса. Я пробовал заменить эту цепь assign'ом с условным оператором с записью Z-состояния, второй вариант с использованием force, release внутри процесса. Оба варианта все равно ничего не дают.

прикладываю FSM на верилоге. Похоже симуляция зацикливается в процессах COMBtoggleFSM и combFSMmain при стейте STprogrampage. Там кое-что уже закомментарено, это результаты моих экспериментов smile.gif.

Прикрепленный файл  st2FSM.v ( 38.78 килобайт ) Кол-во скачиваний: 407


--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jun 2 2010, 10:33
Сообщение #5


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(demonizer @ Jun 2 2010, 11:47) *
А это как раз то что мне нужно, так как я не представляю как по другому сделать скоростной DMA доступ к флеш памяти, минуя копирование данных во внутренний буфер.

Никак, правда, но не SRAM же интерфейс делать к буферу? В этих случаях используют FIFO, причем естественно раздельные на чтение и на запись.

Цитата(demonizer @ Jun 2 2010, 11:47) *
Перевел код на Verilog

Зачем?
Go to the top of the page
 
+Quote Post
demonizer
сообщение Jun 2 2010, 11:19
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 23-03-10
Пользователь №: 56 159



Цитата(DmitryR @ Jun 2 2010, 14:33) *
Никак, правда, но не SRAM же интерфейс делать к буферу? В этих случаях используют FIFO, причем естественно раздельные на чтение и на запись.


Зачем?



Я предполагал такой ответ. Может с FIFO будет лучше. Но мне SRAM интерфейс несколько удобней использовать.

Перевел на верилог для того чтобы было удобно дорабатывать, я пока еще не особо разбираюсь в VHDL. DmitryR, в чем может быть причина таких проблем?

DmitriyR, можно ли как-то в ModelSim'е посмотреть параметр из списка чувствительности, который вызвал исполнение always блока?


--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- demonizer   Поиск NAND флеш контроллера   May 21 2010, 09:05
- - DmitryR   Поделиться не могу, но могу сказать: это несложно ...   May 21 2010, 09:31
|- - demonizer   Цитата(DmitryR @ May 21 2010, 13:31) Поде...   May 21 2010, 09:49
|- - DmitryR   Где-то были, но эти исходники контроллером не явля...   May 21 2010, 10:04
|- - demonizer   Цитата(DmitryR @ May 21 2010, 14:04) Где-...   May 21 2010, 11:19
- - Kuzmi4   Занимательный документик а что вы понимаете по...   May 21 2010, 11:31
|- - DmitryR   Смех там, мост из SRAM интерфейса в NAND. То есть ...   May 21 2010, 11:47
|- - demonizer   Цитата(Kuzmi4 @ May 21 2010, 15:31) Заним...   May 21 2010, 11:56
|- - DmitryR   Цитата(demonizer @ Jun 2 2010, 15:19) Пер...   Jun 2 2010, 12:05
- - Victor®   Цитата(demonizer @ May 21 2010, 12:05) Не...   May 24 2010, 09:04
- - demonizer   DmitryR, что же получается синтезатор из верилога ...   Jun 2 2010, 13:05
|- - DmitryR   Поддерживает, только трансляция из одного в другое...   Jun 2 2010, 13:24
|- - XVR   Цитата(DmitryR @ Jun 2 2010, 17:24) Подде...   Jun 3 2010, 10:53
- - demonizer   Да уж. В таком случае перевести данный проект в Ve...   Jun 2 2010, 14:07
- - DmitryR   Повторюсь, что бы там не использовалось - описать ...   Jun 2 2010, 14:15


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

 


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


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