|
Поиск NAND флеш контроллера |
|
|
|
May 21 2010, 09:05
|
Участник

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

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

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

|
2 DmitryR:
Пока разбираюсь с исходниками. А вы в курсе, поддерживает ли микроновский контроллер burst mode флешей для последовательного чтения/записи данных?
--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
|
|
|
|
|
May 24 2010, 08:35
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(demonizer @ May 21 2010, 17:21)  А вы в курсе, поддерживает ли микроновский контроллер burst mode флешей для последовательного чтения/записи данных? Я не в курсе, но практически уверен, что нет. Вобщем я очень быстро пришел к выводу, что написать самому человеческий контроллер будет быстрее, чем копаться в этом. Например, если бы я дал такой (микроновский) контроллер программисту - мне пришлось бы написать талмуд о том, что там можно делать и чего нельзя (очевидно например что полностью случайный доступ нельзя делать). Это вообще глупо на мой взгляд: делать контроллеру интерфейс Random Access Memory при том, что access там совершенно не random. Это вводит всех в заблуждение и чревато.
|
|
|
|
|
Jun 2 2010, 07:47
|
Участник

Группа: Участник
Сообщений: 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. Там кое-что уже закомментарено, это результаты моих экспериментов  .
st2FSM.v ( 38.78 килобайт )
Кол-во скачиваний: 407
--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
|
|
|
|
|
Jun 2 2010, 10:33
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(demonizer @ Jun 2 2010, 11:47)  А это как раз то что мне нужно, так как я не представляю как по другому сделать скоростной DMA доступ к флеш памяти, минуя копирование данных во внутренний буфер. Никак, правда, но не SRAM же интерфейс делать к буферу? В этих случаях используют FIFO, причем естественно раздельные на чтение и на запись. Цитата(demonizer @ Jun 2 2010, 11:47)  Перевел код на Verilog Зачем?
|
|
|
|
|
Jun 2 2010, 11:19
|
Участник

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

|
Цитата(DmitryR @ Jun 2 2010, 14:33)  Никак, правда, но не SRAM же интерфейс делать к буферу? В этих случаях используют FIFO, причем естественно раздельные на чтение и на запись.
Зачем? Я предполагал такой ответ. Может с FIFO будет лучше. Но мне SRAM интерфейс несколько удобней использовать. Перевел на верилог для того чтобы было удобно дорабатывать, я пока еще не особо разбираюсь в VHDL. DmitryR, в чем может быть причина таких проблем? DmitriyR, можно ли как-то в ModelSim'е посмотреть параметр из списка чувствительности, который вызвал исполнение always блока?
--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|