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

 
 
> Генерация DDS с помощью Simulink HDL Coder, Как задействовать память RAM ПЛИС для хранения таблицы LUT
Georg.A
сообщение Dec 4 2012, 11:44
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 4-10-10
Пользователь №: 59 910



Здравствуйте!

Пытаюсь создать проект на ПЛИС путем генерации VHDL кода из Simulink`а.

Для начала задался целью сделать квадратурный Direct Digital Syntezator разрядностью 2^13, основанный на 2х таблицах значений функции Lockup Table, синусной и косинусной, разрядность каждой 2^13 (8192 отсчета), интервал от 0 до 2пи.
В хелпе по Simulink HDL Coder есть пример реализации памяти ROM на основе таблицы (внутри подсистемы находится Lockup Table и одиночная задержка), взял его за основу.

Проект DDS состоит из аккумулятора фазы и двух ROM подсистем, внутри каждой таблица отсчетов и задержка . После генерации VHDL кода и синтеза в Xilinx ISE 13.4, синтез репорт сообщает о использовании некоторого количества процентов блоков FIFO/RAM, то есть таблицы легли туда.
Если подвешиваю в Simulink модели к выходу ROM`ов какую нибудь подсистему, например фильтр, или выход DDS перемножаю с чем либо еще, то есть расширяю свой проект, то после синтеза в Xilinx ISE, репорт сообщает о том, что проект занял только slices, IOBs, DSP48 и т.д. но FIFO/RAM никак не задействована.

Поскольку разрядность DDS приличная, то он сжирает почти всю логику, а чтобы задействовать FIFO/RAM приходится генерировать DDS отдельно от остального проекта.

Если кто-то сталкивался с подобной задачей и/или знает как ее решить, подскажите пожалуйста.

Сообщение отредактировал Georg.A - Dec 4 2012, 11:46
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Georg.A
сообщение Dec 25 2012, 13:46
Сообщение #2





Группа: Участник
Сообщений: 11
Регистрация: 4-10-10
Пользователь №: 59 910



""Некоторые части модели генерировать отдельно и связывать вручную" - не понимаю в чем смысл? "
Например, когда получается различный результат (как в моем случае, когда задействуются разные ресурсы ПЛИС) при генерации из всей модели и при генерации из отдельных частей.

А так не знаю, потому и спросилsm.gif
Может бывали случаи, когда кусочно получалась более оптимальная реализация чем при генерации из целой модели.

"некоторые части модели переписывать вручную" - а это зачем ?
Для того, чтобы получить законченный проект на ПЛИС. Я и спрашиваю,"Генерация кода производилась сразу из всей модели проекта или возникала необходимость", то есть бывали ли такие случаи что всю модель не удавалось сразу перевести в VHDL, или же, с помощью кодера удалось успешно реализовать все проекты без необходимости:
1. некоторые части модели генерировать отдельно и связывать вручную
2. некоторые части модели переписывать вручную


Модель и матлаб находятся в одной директории, залез в свойства модели там написано:


http://electronix.ru/forum/style_images/1/.../attach_add.png


Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 05:23
Рейтинг@Mail.ru


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