Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Использование RAM в качестве ПЗУ внутри ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
nikolascha
Хотел узнать, может кто-нибудь использовал блоки ОЗУ, входящие в состав ПЛИС, в качестве ПЗУ для реализации логических функций, чтобы освободить немного слайсов для других целей, если вдруг ПЛИС заполнена на 100%, а блоки ОЗУ не используются? На сколько это бредовая идея, что скажите?
dm.pogrebnoy
Почему бы и нет, идея не бредовая. В xilinx ise даже вроде опция есть которая автоматом должна это делать, правда ни разу не пробовал, не знаю как на самом деле будет работать. Но самому проинициализировать озу никто не запрещает.
Wic
идея вполне хорошая, ресурсы нужно использовать разумно, озу можно подключить через функцию (как самый простой и прямой вариант). А функции для каждой среды (Altera/Xilinx) будут свои.
artix
Цитата(nikolascha @ Apr 12 2012, 23:21) *
Хотел узнать, может кто-нибудь использовал блоки ОЗУ, входящие в состав ПЛИС, в качестве ПЗУ для реализации логических функций, чтобы освободить немного слайсов для других целей, если вдруг ПЛИС заполнена на 100%, а блоки ОЗУ не используются? На сколько это бредовая идея, что скажите?

Вполне согласен идея нормальная! Сам частенько пользую, если, например нужно "примапить" одно адресное пространство к другому.
nikolascha
Цитата(dm.pogrebnoy @ Apr 12 2012, 23:54) *
В xilinx ise даже вроде опция есть которая автоматом должна это делать, правда ни разу не пробовал, не знаю как на самом деле будет работать.
Так что, есть даже поддержка в САПР этого дела? кто нибудь сталкивался? тыкните где почитать. Или же нужно самому выделять часть логики и расписывать до таблицы истинности?
artix
Цитата(nikolascha @ Apr 13 2012, 12:54) *
Так что, есть даже поддержка в САПР этого дела? кто нибудь сталкивался? тыкните где почитать. Или же нужно самому выделять часть логики и расписывать до таблицы истинности?

Implement Design->Process Properties ->Map Properties->Map Slice Logic into Unused Block RAMs

Если Вы об этом laughing.gif
Boris_TS
Цитата(nikolascha @ Apr 13 2012, 12:54) *
тыкните где почитать.

Пожалуйста, вот от Xilinx соответствующий документик: WP335 - Creative Uses of Block RAM.

nikolascha
Цитата(Boris_TS @ Apr 13 2012, 12:41) *
Пожалуйста, вот от Xilinx соответствующий документик: WP335 - Creative Uses of Block RAM.
Спасибо, прочитал. Но там говорится про конкретные применения. Хотелось бы почитать про возможность автоматизации средствами САПР (Map Slice Logic into Unused Block RAMs), которые автоматом выделяют логику в проекте и всовывают её функцию в ОЗУ.
Boris_TS
Цитата(nikolascha @ Apr 13 2012, 15:59) *
Спасибо, прочитал. Но там говорится про конкретные применения. Хотелось бы почитать про возможность автоматизации средствами САПР (Map Slice Logic into Unused Block RAMs), которые автоматом выделяют логику в проекте и всовывают её функцию в ОЗУ.

Тогда посмотрите в XST User Guide (xst.pdf) следующие constraint'ы: BRAM_MAP, FSM_STYLE, RAM_STYLE, ROM_STYLE. Эти constraint'ы позволяют задать XST тип элементов (LUT или BRAM), на которых будут реализованы конкретные узлы устройства.

Получается всего два варианта:
1. На стадии синтеза Вы указываете: что и как упаковывать.
2. На стадии MAP Вы можете разрешить системе самой решать, какую логику разместить в неиспользованные BRAM.

Т.к. синтез выполняется первым, то и оптимизация при синтезе может давать больше выигрыша, чем при MAP.
nikolascha
Цитата(Boris_TS @ Apr 13 2012, 15:26) *
Тогда посмотрите в XST User Guide (xst.pdf) следующие constraint'ы: BRAM_MAP, FSM_STYLE, RAM_STYLE, ROM_STYLE. Эти constraint'ы позволяют задать XST тип элементов (LUT или BRAM), на которых будут реализованы конкретные узлы устройства.
Спасибо, это то, что нужно.
svedach
У меня XST вообще одну из FSM почему-то распознает как small RAM. Может кто подскажет почему? Другие FSM отлично распознаются.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.