Цитата(murmel1 @ Nov 23 2008, 15:46)

2. Нет никакой разницы, какая реализация функции (у вас - памяти) применяется, если по поведению они одинаковы. Встроенные блоки памяти позволяют экономить регистры.
3. Располагаться геометрически ? Какая Вам разница, в каком порядке они лежат на кристалле? Для компилятора это имеет некоторе значение, а для пользователя имеет значение только порты
(30 downto 1) (30 downto 1)
4. Если очень хотите, то 30 на 30 бит это всего 900 регистров. В любой современной ПЛИС это поместится, даже в младших моделях циклона это всего 25% их объема. Запускаете Megawizard Plug-In Manager, выбираете закладку Memory Compiler, RAM - нужное число портов, на первой странице ставите "LCs" - вся память будет размещена в триггерах.
Здравствуйте.
То, что вы предлагаете, даст эмуляцию обычной линейной памяти на параллельной физической среде ПЛИС. Не так ли?
Представим себе, что мне нужно выполнить простую операцию над двумя элементами такой памяти. Я должен выбрать из памяти первый элемент и сохранить его где-то. Затем выбрать второй элемент. Затем выполнить операцию.
Цитата(murmel1 @ Nov 23 2008, 15:46)

Опишите Вашу задачу, невозможно понять зачем Вы так усложняете. Возможно Вам нужно, чтобы все значения были доступны одновременно, без выборки с помощью адреса ?
Именно это.
Меня интересует возможность ПЛИС естественным образом хранить двумерную структуру данных и выполнять над этими данными вычислительные действия.
Привожу синтетический пример. Нужно считать содержимое из триггера текущего LE, сложить его по OR со значением из левого LE, результат умножить по AND с верхним LE и поместить в правый LE. И это действие нужно одновременно (синхронно) выполнить для всех LE некоторой квадратной (прямоугольной) области ПЛИС.
Такое возможно?
Сообщение отредактировал files - Nov 29 2008, 19:17