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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Поиск 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
DmitryR
сообщение May 21 2010, 09:31
Сообщение #2


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

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



Поделиться не могу, но могу сказать: это несложно сделать. У нас его сделал один человек за пару месяцев, еще и с Ридом-Соломоном вместо ECC.
Go to the top of the page
 
+Quote Post
demonizer
сообщение May 21 2010, 09:49
Сообщение #3


Участник
*

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



Цитата(DmitryR @ May 21 2010, 13:31) *
Поделиться не могу, но могу сказать: это несложно сделать. У нас его сделал один человек за пару месяцев, еще и с Ридом-Соломоном вместо ECC.


Я думаю что смогу это тоже написать за 2-3 месяца. Но времени как всегда в обрез sad.gif

На сайте Микрона были исходники, но они куда-то пропали. Может у кого-то есть эти исходники?


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


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

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



Где-то были, но эти исходники контроллером не являются.
Go to the top of the page
 
+Quote Post
demonizer
сообщение May 21 2010, 11:19
Сообщение #5


Участник
*

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



Цитата(DmitryR @ May 21 2010, 14:04) *
Где-то были, но эти исходники контроллером не являются.


DmitryR, а что это тогда? Как бе в описании у них полноценный контроллер с буферной памятью и набором управляющих регистров. Или я не прав?
Я имею ввиду вот этот http://www.micron.com/document_download/?documentId=4314. Так же есть отдельный документ по ECC.
В моем проекте мне не нужно производить запись и чтение из FPGA. Этим будет заниматься хост, мне только нужно предоставить ему доступ к флеш памяти.


--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение May 21 2010, 11:31
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Занимательный документик laughing.gif

а что вы понимаете под
Цитата
...мне только нужно предоставить ему доступ к флеш памяти....
??
Go to the top of the page
 
+Quote Post
DmitryR
сообщение May 21 2010, 11:47
Сообщение #7


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

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



Смех там, мост из SRAM интерфейса в NAND. То есть скорость будет никакая, wear leveling неясно как делать, etc. Смотрите сами, короче.
Прикрепленные файлы
Прикрепленный файл  Micron.rar ( 279.15 килобайт ) Кол-во скачиваний: 74
 
Go to the top of the page
 
+Quote Post
demonizer
сообщение May 21 2010, 11:56
Сообщение #8


Участник
*

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



Цитата(Kuzmi4 @ May 21 2010, 15:31) *
Занимательный документик laughing.gif

а что вы понимаете под
??

Имеется ввиду, что стирание/запись/чтение/bad block коррекцию производит хост девайс через доступ к ПЛИС. Как будет расчитываться ECC еще не определился, в смысле программно или аппаратно. По возможности лучше бы сразу иметь блок со встроенным блоком контроля и коррекцией ошибок.

Цитата(DmitryR @ May 21 2010, 15:47) *
Смех там, мост из SRAM интерфейса в NAND. То есть скорость будет никакая, wear leveling неясно как делать, etc. Смотрите сами, короче.


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


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


Участник
*

Группа: Участник
Сообщений: 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
Сообщение #10


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

Группа: Свой
Сообщений: 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
Victor®
сообщение May 24 2010, 09:04
Сообщение #11


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(demonizer @ May 21 2010, 12:05) *
Несколько раз на форумах поднимались топики по поиску NAND флеш контроллера на ПЛИСах. Но все безуспешно.
Кроме сигнального интерфейса к флешкам ничего не могу нарыть.
Очень нужен контроллер NAND с буферизацией данных в памяти ПЛИСа, с wishbone интерфейсом. Желательно на Verilog'е.
В просторах сети можно несколько платных корок. А вот с бесплатными - беда, на Opencores только началась разработка такого проекта, результатов пока нет.
Кто-нибудь может поделиться своими или чужими разработками? Или указать, где можно найти. Очень буду признателен.


А может посмотрите в сторону e.MMC?
http://www.numonyx.com/en-US/MemoryProduct...Pages/eMMC.aspx
Напишите контроллер для MMC - получите более универсальную штуку, IMHO


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
demonizer
сообщение Jun 2 2010, 07:47
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 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
Сообщение #13


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

Группа: Свой
Сообщений: 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
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 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
DmitryR
сообщение Jun 2 2010, 12:05
Сообщение #15


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

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



Цитата(demonizer @ Jun 2 2010, 15:19) *
Перевел на верилог для того чтобы было удобно дорабатывать, я пока еще не особо разбираюсь в VHDL. DmitryR, в чем может быть причина таких проблем?

В кривизне транслятора, конечно же.

Цитата(demonizer @ Jun 2 2010, 15:19) *
DmitriyR, можно ли как-то в ModelSim'е посмотреть параметр из списка чувствительности, который вызвал исполнение always блока?

Может и можно, но не нужно. Потому что в синтезе списки чувствительности не поддерживаются все равно, и если у вас дизайн зависим от списков чувствительности он в железе работать не будет.
Go to the top of the page
 
+Quote Post

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

 


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


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