Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Цифровая фильтрация на ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
левша
Реализую дипломный проект на ПЛИС частью которого является цифровой фильтр. В связи с этим у меня ряд вопросов у кого со временем не очень туго т.к. являюсь скорее "чайником" в этом деле.
1)Посмотрел я существующие матпакеты и Excel и пока ву упор не вижу где можно оптом преобразовать число в "дополнение до двух", (писать самому уже время поджимает)
2)Можноли впринцепи реализовать цифровой однотактый фильтр на старом семейства ПЛИС FLEX10KE где я пока не увидел всяких там MACов и прочих прелестей новых семейств ПЛИС.
des00
Цитата(левша @ Jan 29 2006, 08:15) *
1)Посмотрел я существующие матпакеты и Excel и пока ву упор не вижу где можно оптом преобразовать число в "дополнение до двух", (писать самому уже время поджимает)
2)Можноли впринцепи реализовать цифровой однотактый фильтр на старом семейства ПЛИС FLEX10KE где я пока не увидел всяких там MACов и прочих прелестей новых семейств ПЛИС.


Вспомнилось:
"....Родители дома ? Ну а ты как думаешь ? (ребенок затягиваясь сигаретой)..." (с) Старый анекдот

1. Если не секрет раскажите чем отличаеться код с дополнением до двух от дополнительного кода ?
можно посмотреть любой учебник по комп. арифметике и железу, раздел "Способы представления знаковых чисел для арифм.действий" .

2. как реализовать "цифровой однотактый фильтр" если по любой структуре фильтра, должны быть задержки на n тактов. Если же ваш вопрос был про вычисление выхода цифрового фильтра за 1 такт, то нужно смотреть что за фильтр у вас и требуемое быстродействие.

ЗЫ. Учтесь задавать вопросы.
левша
Цитата(des00 @ Jan 29 2006, 16:50) *
1. Если не секрет раскажите чем отличаеться код с дополнением до двух от дополнительного кода ?
можно посмотреть любой учебник по комп. арифметике и железу, раздел "Способы представления знаковых чисел для арифм.действий" .

Термин взят из переведённой книжки, поэтому возможно немного некорректен, а ответ на остальную часть цитаты я дал в первом сообщении.
Цитата(des00 @ Jan 29 2006, 16:50) *
2. как реализовать "цифровой однотактый фильтр" если по любой структуре фильтра, должны быть задержки на n тактов. Если же ваш вопрос был про вычисление выхода цифрового фильтра за 1 такт, то нужно смотреть что за фильтр у вас и требуемое быстродействие.
ЗЫ. Учтесь задавать вопросы.

Извините, забыл уточнить т.к. пример реализации этой штуковины входит в комплект поставки Quartus.
Имеется ввиду обычный КИХ-фильтр с параллельным входом для данных. Встроенные lpm модули умножителей и сумматоров имеют разные настройки по числу тактов, поэтому выбор структуры неочевиден.
левша
Попробую спросить по другому:
1)Как автоматизировать процесс получения импульсной характеристики КИХ фильтра, формат данных которой пригоден для составления файла инициализации модуля памяти(имеет расширение .mif) ?
2)какое значение свойства pipeline умножителя впервую очередь, но и сумматора лучше(lpm модули) указать для КИХ фильтра работающего на частоте 30МГц на EPF10K30ETC144 и собраного по схеме из примера в Quartusе?
Aleks17
1) Какова разрядность входных данных?

2) Где вы считаете коэффициенты фильтра?

Я например делал так: коэффициенты считал в Mathcad-е, там же округлял и нормировал числа на требумое кол-во разрядов. Потом импорт в Excel, там добавляем столбец с точка с запятой (не-помню точно, по-моему так разделяются записи в mif) и сохраняю в текстовый файл. Шапку добавляю в текстовом редакторе путем Ctrl+Ins и Shift-Ins. Можно в принципе примочку написать для того же Mathcad-а если вам это надо.

pipeline указываешь =0(1) если надо высокое быстродействие или =разрядность выходных данных если нужна компактность (это верно для умножителя - для сумматора лучше 0 или 1, т.к. размер будет всё рано одинаков (не забудь в настройках разрешить CARRY-цепочки))
левша
Цитата(Aleks17 @ Jan 30 2006, 09:30) *
1) Какова разрядность входных данных?

8 разрядов.

Цитата(Aleks17 @ Jan 30 2006, 09:30) *
2) Где вы считаете коэффициенты фильтра?

Я например делал так: коэффициенты считал в Mathcad-е, там же округлял и нормировал числа на требумое кол-во разрядов. Потом импорт в Excel, там добавляем столбец с точка с запятой (не-помню точно, по-моему так разделяются записи в mif) и сохраняю в текстовый файл. Шапку добавляю в текстовом редакторе путем Ctrl+Ins и Shift-Ins. Можно в принципе примочку написать для того же Mathcad-а если вам это надо.

Счиал также в Mathcad-е. В Excel-е натолкунулся на оганичение в 10 разрядов для выходного двоичного числа, а хочется попробовать с коэффициентами которые будут имет побольше разрядность.
Поэтому пришлось убить полдня вспоминая Delphi smile.gif но проблему решил.

Цитата(Aleks17 @ Jan 30 2006, 09:30) *
pipeline указываешь =0(1) если надо высокое быстродействие или =разрядность выходных данных если нужна компактность (это верно для умножителя - для сумматора лучше 0 или 1, т.к. размер будет всё рано одинаков (не забудь в настройках разрешить CARRY-цепочки))

Хочется верить что с pipelene=0 и умножение 8х8 или 8х16 глючить не будет.
Aleks17
Цитата(левша @ Jan 30 2006, 20:21) *
Счиал также в Mathcad-е. В Excel-е натолкунулся на оганичение в 10 разрядов для выходного двоичного числа, а хочется попробовать с коэффициентами которые будут имет побольше разрядность.


Не понимаю причем тут двоичные числа, mif и шестнадцатеричные и десятичные понимает.

Цитата(левша @ Jan 30 2006, 20:21) *
Хочется верить что с pipelene=0 и умножение 8х8 или 8х16 глючить не будет.


Глючить не будет но ресурсов будет много, а скорость невысокая. Быстродействие компилятор скажет.
левша
Цитата(Aleks17 @ Jan 30 2006, 19:48) *
Не понимаю причем тут двоичные числа, mif и шестнадцатеричные и десятичные понимает.

Непричём, скорее для наглядности, но я не нашёл инфы о том что в .mif файле можно знаковые десятичные числа писать(то что выдаёт Mathcad), и не нашёл соответсвенно в каком коде они тогда будут представлены после загрузки конфигурации. А переводить можно и в шестнадцетиричные, об этом я чёто не подумал.

Цитата(Aleks17 @ Jan 30 2006, 19:48) *
Глючить не будет но ресурсов будет много, а скорость невысокая. Быстродействие компилятор скажет.

у меня ПЛИСа 3го класса скорости, она уже на 48 МГЦ мне выдавала сюрпризы, но надеюсь всё обойдётся.
3.14
2 левша
Пользуйтесь MatLab-ом, он фильтр нужный за пару минут посчитает и коэффициенты пронормирует и с учетом квантования/усечения смоделирует и внужном формате коэффициенты в файл выкинет (у него fprintf имеется).
lexx
Ага, и Verilog покажет синтезирует, только рабочий-ли? Для сдачи пойдет, если диаграммы показывать не надо, хотя если и надо, то всегда можно другие сделать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.