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

 
 
> Генерация 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
Ответов
Tue
сообщение Dec 26 2012, 12:50
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Различный результат получаться не должен. Если хотите в этом убедиться, отмоделируйте Вашу модель, а параллельно подключите блок HDL Cosimulation, например через ModelSim, в котором будет крутиться HDL-код сгенерированный по Вашей модели. Результаты моделирования должны быть идентичны (если все сделано правильно - еще не встречал разногласий в в результатах модели и HDL-кода)
Цитата
то есть бывали ли такие случаи что всю модель не удавалось сразу перевести в VHDL, или же, с помощью кодера удалось успешно реализовать все проекты без необходимости:
1. некоторые части модели генерировать отдельно и связывать вручную
2. некоторые части модели переписывать вручную

такого не было и не должно быть. Если хотите создать для модели HDL-код, то она не должна содержать блоки, не поддерживаемые HDL Coder'ом. Если такие есть, то их надо вытаскивать за модель. Честно говоря, не приходит в голову причина, по которой "всю модель не удавалось сразу перевести в VHDL"
hdlcoderrom - это модель из демок. При обращении к ней MATLAB лезет в другую директорию. Если хотите с ней повозиться сохраните ее в своей папке с другим именем
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 14:43
Рейтинг@Mail.ru


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