Варианты заданий
Вариант |
Разряд- |
Активные уровни |
Вариант анализа кода |
|
|
ность |
сигналов |
|
|
|
Din |
|
|
|
|
Start |
Reset |
|
|
|
|
|
|
|
1 |
9 |
1 |
1 |
Подсчитать количество нулей |
|
|
|
|
|
2 |
10 |
1 |
0 |
Определить количество смен единица-ноль |
|
|
|
|
|
3 |
8 |
0 |
1 |
Определить количество смен ноль-единица |
|
|
|
|
|
4 |
9 |
0 |
0 |
Определить самую длинную цепочку нулей |
|
|
|
|
|
5 |
10 |
1 |
1 |
Определить самую длинную цепочку единиц |
|
|
|
|
|
6 |
8 |
0 |
0 |
Подсчитать количество нулей |
|
|
|
|
|
7 |
9 |
0 |
1 |
Определить количество смен ноль-единица |
|
|
|
|
|
8 |
10 |
1 |
0 |
Определить самую длинную цепочку нулей |
|
|
|
|
|
Содержание отчета
Отчет должен содержать: задание на работу; исходные файлы описания проекта; временную диаграмму работы; RTL-описание проекта, оценки по затратам оборудования; описание процесса макетирования.
Лабораторная работа 7 ПРОЕКТИРОВАНИЕ ЦИФРОВОГО ФИЛЬТРА
Цель работы состоит в освоении маршрута проектирования фильтра и предполагает проектирование двух одинаковых по характеристикам КИХфильтров с использованием мегафункции Mega Core FIR Compiler САПР ПЛИС Quartus II и в базисе типовых библиотечных мегафункций.
Краткие сведения
Математически алгоритм работы цифрового фильтра представляет собой набор операций умножения с последующим сложением:
P
y(k) ci x(k i) ,
i 0
где P – порядок фильтра; x(k − i) – отсчеты входного сигнала; y(k) – отсчеты выходного сигнала; ci – коэффициенты фильтра.
Пример реализации такого фильтра на сумматорах и умножителях приведен на рис. 7.1, элементы FF выполняют функцию задержки. Особенности архитектуры FPGA позволяют проектировать КИХ-фильтры с применением распределенной арифметики.
21
xk |
|
|
xk-1 |
|
... |
|
|
xk-p |
||
|
FF |
FF |
xk-2 |
|
FF |
|||||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
c0 |
˟ |
c1 ˟ |
c2 |
˟ |
cp |
˟ |
+ |
+ |
+ |
... |
+ |
yk |
|
|||||
|
|
||||
Рис. 7.1. Структура КИХ-фильтра |
|
||||
Использование Mega Core Fir Compiler позволяет быстро спроектировать цифровой КИХ-фильтр исходя из заданных параметров: типа фильтра (Filter type); частоты взятия отчетов (Input Sample Rate), Гц; типа окна (Window Type); частоты среза (CutOff Freq), Гц; неравномерности АЧХ в полосе пропускания (Passband Ripple), дБ; минимального затухания в полосе задержива-
ния (Stopband Reject), дБ; порядка фильтра (Number of Taps); ширина переход-
ной полосы (Transition Bandwidth), задаваемой в неявном виде, Гц.
Для создания фильтра в окне графического редактора необходимо вызвать команду установки символа Symbol Tool и в появившемся окне запустить
MegaWizard Plug-In Manadger. Мегафункция Fir Compiler доступна из каталога
Installed Plug-Ins/DSP/Filters. Необходимо указать имя выходного файла, ПЛИС, на которой будет реализована данная мегафункция и язык ее описания.
Работа с мегафункцией FIR Compiler начинается с выбора параметров фильтра по команде Parametrize. В появившемся окне ParametrizeFIRCompiler (рис. 7.2) в поле Rate Specification задается фактор интерполяции (или децимации) фильтра, если необходимо спроектировать интерполяционный или децимирующий фильтр (по умолчанию Factor = 1).
Коэффициенты фильтра настраиваются в окне Coefficients Generator Dialog (рис. 7.3), запускаемом кнопкой Edit Coefficient Set, и могут быть как импортированы (Imported Coefficient Set), так и сгенерированы мегафункцией (Floating Coefficient Set). Для генерации коэффициентов необходимо в поле FilterType выбрать тип фильтра и определить его порядок, задав количество коэффициентов. В поле Window Type выбирается метод, по которому будет осуществлен синтез АЧХ фильтра. Во вкладках Cuttof Freq.1 и Sample Rate указывается граничная частота и частота дискретизации.
В настройках окна Parametrize-FIR Compiler надо задать разрядность входной шины и способ представления данных: signed – десятичное число со знаком, unsigned – десятичное число без знака; указать, какая память будет использоваться для хранения коэффициентов; определить архитектуру проектируемого КИХ-фильтра (параллельная или последовательная) и
22
Рис. 7.2. Окно настроек проектируемого фильтра на ПЛИС
конвейерные свойства: оптимизация по скорости работы (частоте) или по площади занимаемых ресурсов (число задействованных макроячеек) ПЛИС.
Далее проводится графический анализ влияния ошибок квантования коэффициентов фильтра на его АЧХ. Ошибки квантования обусловлены представлением коэффициентов ограниченным набором битов.
Рис. 7.3. Окно генератора коэффициентов фильтра
Операции сложения и вычитания в формате с фиксированной запятой не приводят к необходимости округления результатов – они могут лишь вызвать переполнение. В отличие от сложения умножение чисел с фиксированной запятой приводит к увеличению числа значащих цифр результата и, следова-
23
тельно, к необходимости округления. Если модуль результата умножения не превышает единицы, то применение формата с плавающей запятой даст большую точность. Однако операции сложения в формате с плавающей запятой могут приводить к потере точности.
В работе предлагается преобразовать формат с плавающей запятой в формат с фиксированной запятой (Floating point to fixed point conversion) c
последующим масштабированием коэффициентов с выбранной точностью, в зависимости от которой мегафункция автоматически находит масштабный коэффициент.
Задание на работу
1.Создать проект в САПР Quartus II, спроектировать КИХ-фильтр, используя мегафункцию FIR Compiler. Разработать схему тестирования, состоящую из генератора синусоидального сигнала с изменяющейся частотой и спроектированного фильтра. Выполнить моделирование проекта.
2.Разработать схему КИХ-фильтра на основе умножителей и параллельного сумматора в соответствии с рис. 7.1. Коэффициенты фильтра сi вычис-
ляются с помощью мегафункции FIR Compiler (берутся в окне ParametrizeFIR Compiler по закладке Time Response & Coefficient Values в формате Fixed Point Value). После симуляции воздействия на временной диаграмме необходимо отобразить входную (синус) и выходную (выход фильтра) функции в аналоговом виде, настраиваемом через команду Display Format/Analog Waveform. Выполнить моделирование проекта.
3. Сравнить функциональные и временные характеристики полученных устройств, сравнить аппаратные затраты на их реализацию.
Варианты заданий
Вариант |
Разрядность |
Фильтр |
|
входн. данных |
|||
|
|
||
|
|
|
|
1 |
12 |
Низких частот |
|
|
|
|
|
2 |
14 |
Полосовой |
|
|
|
|
|
3 |
16 |
Высоких частот |
|
|
|
|
|
4 |
18 |
Низких частот |
|
|
|
|
Вариант |
Разрядность |
Фильтр |
|
входн. данных |
|||
|
|
||
|
|
|
|
5 |
12 |
Полосовой |
|
|
|
|
|
6 |
14 |
Высоких частот |
|
|
|
|
|
7 |
16 |
Низких частот |
|
|
|
|
|
8 |
18 |
Полосовой |
|
|
|
|
Содержание отчета
Отчет должен содержать: задание на разработку; описание настроек мегафункции FIR Compiler; исходные файлы описания проекта фильтра на ос-
24
нове библиотечных элементов; исходный файл генератора тестового воздействия; проект тестирования фильтра; временные диаграммы работы обоих фильтров; оценки по затратам оборудования; выводы по работе.
Лабораторная работа 8
ЗНАКОМСТВО С JTAG-ИНТЕРФЕЙСОМ
Цель работы состоит в изучении принципов работы интерфейса и основных его команд, алгоритма работы управляющего автомата порта тестового доступа, а также метода тестирования межсоединений с использованием граничного сканирования.
Краткие сведения
Работа выполняется с использованием программного пакета Scan Educator (Realease 1.0 November 15.1991), в котором выделяют три функции: информа-
ционную, которая знакомит с архитектурой JTAG-интерфейса и функциональным назначением его элементов; демонстрационную, дающую представление о протоколе обмена JTAG, способе и порядке загрузки команд и данных; моделирующую, предоставляющую возможность осуществлять загрузку команд и данных, анализируя их действия.
Тестовая установка представлена четырьмя окнами. В первом представлена внутренняя структура ПЛИС SN74BCT8244A, содержащая: входные и выходные контакты ИС, с подключенными к ним ячейками граничного сканирования (BSR) и основные регистры JTAG-интерфейса: регистры инструкций, данных и пропуска (BYPASS). В этом же окне присутствуют модели движковых переключателей и светодиодных индикаторов. Во втором окне расположены символы основных элементов управляющего контроллера JTAG-интерфейса (два переключателя, кнопка и индикатор принятого сигнала). Третье окно оперативно отображает текущее состояние контроллера тестового доступа (TAP). В четвертом окне отображается вся последовательность поступающих и фиксируемых в ИС данных JTAG-цепочки.
Задание на работу
1. Запустить программу Scaned.bat. Для знакомства с установкой выбрать в меню пункт TAP Control Testing и режим самостоятельной работы On Your Own. Изучить содержимое окон экрана. Управляющий автомат JTAGинтерфейса находится в исходном состоянии. Изменяя значения входных
25