|
Типы встроенной памяти в FPGA, Что такое distributed RAM/ROM ? Другие виды встроенной памяти ? |
|
|
|
Jan 10 2008, 13:42
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Я мыслю, что distributed RAM - это память, равномерно распределенная по площади кристалла FPGA. Т.е. имеется туева хуча небольшх по объему блочков памяти, которые равномерно расположены на кристалле. У альтеры в качестве примера можно привести блоки MLAB в Stratix III. В противоположность распределенной памяти - блочная память (к примеру блоки MRAM, M4K, M9K в альтеровских стратиксах и циклонах). Т.е. имеется некоторое кол-во блоков памяти довольно большого объема, которые располагаются локально (как правило, образуют столбцы  ). Аналогичная картина и ПЛИСах других фирм (Xilinx, Lattice и др.). Цитата(o-henry @ Jan 10 2008, 16:34)  distributed RAM значит, что память будет собрана из триггеров ПЛИС. Не факт. Блочки могут быть и специалирированные. К примеру в Atmel AT40KAL.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Jan 10 2008, 13:54
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(Саша Z @ Jan 10 2008, 18:53)  Что такое за distributed RAM ? (дословный перевод не нужен, с английским дружем плотно...нухно понять что оно означает на практике, плюсы и минусы и т.д.) Распределенная память (в отличие от блочной) реализуется на LUT'ах. Т.е. LUT'ы логических элементов вместо реализации логики используются для нужд памяти - это возможно благодаря тому, что сами LUT'ы есть не что иное как память. Например, 4-входовой LUT - это память 16х1 (либо может быть сконфигурирована как две памяти 8х1, что используется в арифметических/счетных режимах, когда одна половинка вычисляет сумму, а вторая в это же время перенос). Распределенная память есть не у всех семейств - например, у альтеровских FPGA ее нет, там только блочная. Плюсы очевидны - когда надо сделать небольшое ОЗУ, то нет смысла тратить на нее целый блок (ведь неиспользуемые ячейки в нем уже нельзя будет исползовать подо что-то другое). Ну, и размещаться эта память может близко от сопряженной с ней логикой, что уменьшает задержки трассировки. Минусы - большой объем памяти съест много логики, не выгодно, большой объем выгоднее делать на блочной.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Jan 10 2008, 13:57
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 10-05-05
Пользователь №: 4 893

|
Цитата(Саша Z @ Jan 10 2008, 16:53)  Начинаю проэктик стыкующий видео выход под OLED на выход на TFT. Нужно переформатировать данные, стыковать тайминги (которые разные под OLED и под TFT) и т.д.. В плане стыковки таймингов нужен FIFO солидного размера, по подсчетам примерно 160-170 kBit. Пробегая по specs разных FPGAев (буду работтаь на Lattice), там предлагаются различные виды конфигурируемой памяти типа ditsributed single port/dual port RAM, ROM, и т.д... Что такое за distributed RAM ? (дословный перевод не нужен, с английским дружем плотно...нухно понять что оно означает на практике, плюсы и минусы и т.д.) Обратил внимание что размеры встроенной памяти в упомянутом выше размере уже граничат с пределами в больших FPGAях. Может тогда стоит подумать насчет небольшого FPGA в паре с отдельным чипом памяти (FIFO либо SRAM) ? o-henry ответил Вам правильно. Формулировка ditsributed подчеркивает что память будет реализувана на LUT, т. е. общий ресурс. Не так важно как, главное LUT будет занят. В lattice есть блоки -EBR - чистая SRAM. Т. е. именно память. Наверняка и у других то же самое. Например для серии EC (старенькая) последовательно от модели объемы в килобитах 18 55 92 276 350 424 498 Т. е. ЕС10 имеет 276 килобит памяти. Макс - 498 килобит. ПРи dual port объем пересчитывается, смотрите даташит. Нет смысла использовать ditsributed если есть EBR, которая через соответствующую IP core (входит в софт) легко объвязывается в FIFO, правда надо принимать во внимание латентность из за pipeline структуры. Насчет смысла, это конечно спорно, согласен - зависит от задачи.
|
|
|
|
|
Jan 10 2008, 15:04
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Большое спасибо за ответы, картину проясняет более-менее. Vladimir, по моим подсчетам понадобиться примерно 165-170 kBit конфигурированные либо побайтно, либо как 18 бит на данное. По прикидкам, на данный момент кол-во логики будет относительно небольшое, (несколько счетчиков разной длинны + небольшие state machines и небольшая управляющая логика). Исходя из этого, вероятно distributed память может подойти, т.е. чип с относительно небольшой блочной памятью но с порядочным кол-вом LUTs, так ?
С другой стороны, есть вероятность на будущее дорабатывать систему добавляя в нее подгонку видео под TV. В данном случае понадобиться видимо немало памяти и тогда не обойтись без внешней памяти, но и логики может понадобиться немало. И тогда видимо факт массированного использования distributed памяти в верхнем варианте может "зарезать" логику нужную для TV аппликации.
Учитывая эти факторы, будет ли целесообразным ориентироваться на чипы с большой блочной памятью и экономить на LUTах (либо насколько возможно блочной + комбинировать с distributed) ?
|
|
|
|
|
Jan 10 2008, 15:41
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 10-05-05
Пользователь №: 4 893

|
Цитата(Саша Z @ Jan 10 2008, 19:04)  Большое спасибо за ответы, картину проясняет более-менее. Vladimir, по моим подсчетам понадобиться примерно 165-170 kBit конфигурированные либо побайтно, либо как 18 бит на данное. По прикидкам, на данный момент кол-во логики будет относительно небольшое, (несколько счетчиков разной длинны + небольшие state machines и небольшая управляющая логика). Исходя из этого, вероятно distributed память может подойти, т.е. чип с относительно небольшой блочной памятью но с порядочным кол-вом LUTs, так ? Для экономии времени, буду говорить о Lattice EC. Ну и пусть небольшое, но если на чипе уже есть SRAM, и по тиммингам и разрядности/глубине Вы впишитесь, то какие аргументы чтобы делать на логике? Посмотрите, для EC в самом толстом чипе можно теоретически иметь только 131килобит в ЛОГИКЕ. И при этом сидеть на чипе BGA с 480 пинами, оно надо? Плюс стоимость чипа. С другой стороны, Вы получаете 276 килобит SRAM в 30 блоках (т.е. 30 независимых модулей памяти) при разрядности 512 x 18 (на большую разрядность меньше блоков останется) каждый И у Вас еще есть немногим менее 10 КLUT (менее потому как расходуется логика на FIFO организацию) Делайте на ней что хотите сейчас или потом. Это можно вытянуть уже на 208 PQFP - легче работать. Цитата(Саша Z @ Jan 10 2008, 19:04)  С другой стороны, есть вероятность на будущее дорабатывать систему добавляя в нее подгонку видео под TV. В данном случае понадобиться видимо немало памяти и тогда не обойтись без внешней памяти, но и логики может понадобиться немало. И тогда видимо факт массированного использования distributed памяти в верхнем варианте может "зарезать" логику нужную для TV аппликации. Учитывая эти факторы, будет ли целесообразным ориентироваться на чипы с большой блочной памятью и экономить на LUTах (либо насколько возможно блочной + комбинировать с distributed) ? Не совсем понятно - " добавляя в нее подгонку видео под TV". 1. Делайте эскизный проект - текущий - расширенный. 2. Считайте потребности ресурсов. 3. Просто откройте дата шит и смотрите таблицы. 4. Исходите из минимального потребности/запаса по пинам. 5. Смотрите объем памяти EBR (кроме общего смотрите и количество блоков) Совет - сильно не увлекайтесь "закладкой" на перспективу. Вначале, БЕЗ опыта, польза от этого сомнительна, все равно легко где-то и в чем-то прогадать. А девайс станет громоздким. Бывает так что после приобретения опыта - гораздо легче и быстрее перепроектировать улучшенную версию, уже с реальной перспективой расширения.
|
|
|
|
|
Jan 10 2008, 16:29
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 10-05-05
Пользователь №: 4 893

|
Цитата(Саша Z @ Jan 10 2008, 20:03)  Да, спасибо за дельные советы. Сейчас глянул datasheetы на ECM2/M чипы там оказывается более чем надо блочной памяти (несколько десятков блоков по 18кбит каждый, при конфигурации 18 бит ширины данных, мне понадобится примерно 7-8 блоков). Значит distributed - отпадет.
Насчет вашего совета не увлекаться перспективой - в приципе оно еще связано с покупкой подходящего evaluation board. Думаю есть смысл брать под более-менее большой чип, с надеждой что-б подошел и ан второй этап проэкта. А пока делать на нем первый (более простой) этап, затем после debugа синтезировать его под нужный размер чипа (вероятно более мелкий чем на evaluation board) и делать систему на том более мелком чипе. Это я к тому что надеюсь дизайн и debug на большом чипе даст рабочую версию и для более мелкого (но подходящего по ресурсам) чипа. Я ошибаюсь ? В целом, вроде нет, тем более у LATTICЕ, если мне не изменяет память, самый маленький чип на evaluation board - EC20 (но не гарантирую), это вполне достаточно. Вы можете взять у них схемы evaluation board, на EC они точно есть на сайте. Другие чипы я уже год не смотрю, у меня EC серия. Хотя при переходе с большего на меньший все не совсем однозначно. Размещение и трасировка в меньшем чипе - это совсем другие условия (могут оказаться, после большего чипа) и если чип уже будет заполнен очень сильно - надо быть готовым к потенциальным засадам. Т. е. переход вниз, в общем случае, заранее, 100% гарантировать нельзя, даже если "чисто арифметически" он корректен.
|
|
|
|
|
Jan 10 2008, 20:43
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 10-05-05
Пользователь №: 4 893

|
Цитата(Саша Z @ Jan 10 2008, 22:49)  Понял, спасибо. Кстати, как насчет их flash-based чипов ? Не пробовали XP серию ? Заманчиво избавиться от внешнего EPROMа (или им подобного)... Ничего не могу сказать, это хорошая штука. Я тоже хотел делать на XP, но потом пришлось перейти на обычную. По комплексу моих критериев это было лучше. Чем хорош еще Lattice - у них можно ставить стандартную SPI флэш.
|
|
|
|
|
Jan 11 2008, 06:53
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(_Vladimir_ @ Jan 11 2008, 00:43)  Ничего не могу сказать, это хорошая штука. Я тоже хотел делать на XP, но потом пришлось перейти на обычную. По комплексу моих критериев это было лучше. Чем хорош еще Lattice - у них можно ставить стандартную SPI флэш. Да, бегло сравнил ECP2/M с XP2 - все-таки первый более емкий по каждой категории, да и evaluation board с ECP2 идет с более емким чипом (+ больше prototyping area что мне важно) чем борд под XP2 борд последнего почемуто ограничем -17 чипом, тогда как ECP2 борд идет с -50 чипом). А жаль, XP2 серия была-бы заманчивой...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|