Sb96713
.pdfВарианты заданий
Вариант |
Разряд- |
Активные уровни |
Вариант анализа кода |
|
|
ность |
сигналов |
|
|
|
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
сигналов A → B Data Control щелчком клавиши мыши на символе движкового переключателя, можно наблюдать за прохождением сигналов через буферные усилители. Индикаторы показывают все возможные состояния выходных контактов интегральной схемы (0, 1, Z, X).
2.Изучить алгоритм работы управляющего автомата JTAG-интерфейса, для этого в пункте меню TAP Control Testing необходимо выбрать демонстрационный режим TAP Control Mode Demonstration. В этом режиме изучается команда граничного сканирования SAMPLE/PRELOAD, предназначенная для тестирования ядра ИС в статическом режиме с помощью установки значений логических уровней на границе выходных буферов. Для просмотра всей последовательности действий и результатов их выполнения необходимо последовательно нажимать клавишу «пробел».
3.В режиме самостоятельной работы под контролем обучающей программы, запускаемом через пункт меню TAP Control Testing/Guide Practice, исследуется загрузка и выполнение команды EXTEST, позволяющей за счет установки логических значений на рабочих контактах ИС проверить внешние цепи, имеющие непосредственное отношение к тестируемому компоненту. При этом выполняются следующие действия:
1) управляя сигналами TMS и ТСК, перевести автомат в состояние
Shift_IR и загрузить команду EXTEST (00000000);
2) перевести автомат в состояние Shift_DR и загрузить через TDI данные (000000 11111 0100101 – загрузка данных в соответствии со стандартом должна начинаться с младшего бита), отметить изменение состояние выводов ИС;
3) вернуть автомат в состояние Run-test idle; отметить, как изменится состояние выводов ИС и содержимое регистров; результирующую информацию можно наблюдать в U2: TDO Buffes и одновременно наблюдать, как изменилось содержимое BSR.
4.Изучить основные команды JTAG-интерфейса: EXTEST, SAMPLE/PRELOAD, BYPASS: назначение, входные и выходные данные и области применения команд, для этого дополнительно ввести в установку вторую интегральную схему буфера U2.
По каждой команде необходимо выполнить заданную последовательность действий, наблюдая за перемещением выводимых через TDI данных, а также за результатом выполнения команд и формированием выходных данных.
Для выполнения работы следует выбрать режим Scan Control mode testing (single device)/On Your Own.
26
4.1.Исследовать команду EXTEST; определить, как влияет ее выполнение на содержимое BSR, какие данные выгружаются из UC и как они зависят от состояния ее выводов. Для этого необходимо:
– установить команду EXTEST и выполнить ее загрузку; отметить, как изменилось при этом состояние выводов UC;
– выставить на тумблерах А–С данные (0010010000), выполнить их загрузку; отметить, как изменилось состояние выводов UC и какие данные были выгружены из нее в выходной буфер (TDO Buffers).
4.2.Исследовать команду BYPASS; отметить, как влияет команда на состояние UC и прохождение данных через канал JTAG-интерфейса. Для этого необходимо:
– установить команду BYPASS и выполнить ее загрузку;
– выполнить DR Scan, наблюдать за перемещением данных.
4.3.Исследовать команду SAMPLE/PRELOAD, чтобы получить представление о том, как осуществляется «сканирование» состояния выводов U и загрузка значений в регистр граничного сканирования, для этого:
– выставить на тумблерах А > С значение (1011101100) – младший бит соответствует верхнему тумблеру;
– установить команду SAMPLE и выполнить ее загрузку;
– произвести обмен данными, отметить, в каком состоянии находится U2,
ипроверить соответствие с принятым из ИС значением.
5. Изучить возможности граничного сканирования для тестирования межсоединений и особенности реализации этой функции при помощи изученных команд. Экспериментальная установка корректируется таким образом, чтобы обе интегральные схемы буферов U1 и U2 входили в состав JTAG-цепочки.
При работе режиме TAP Control Mode/Guide Practice программа будет следить за корректностью выполняемых действий и выводить подсказки. В режиме TAP Control Mode/On Your Own пользователь обладает большей свободой действий, но при этом не имеет возможности использовать подсказки.
Необходимо протестировать связи между U1 и U2: 1Y1–1A1, 1Y2–1A2, 1Y3–1A3, 1Y4 – 1A4. Для этого:
–установить для U1 команду EXTEST, для U2 – команду BYPASS, загрузить команды;
–установить данные для U1 100 00000000 111100001, загрузить их;
–сформировать для U1 команду EXTEST, для U2 – команду SAMPLE, загрузить команды;
27
–загрузить произвольные данные, обратить внимание на то, что было принято в U2: TDO Buffers, как изменилось состояние внешних выводов U2;
–загрузить произвольные данные, обратить внимание на то, что сохраняется в буфере U2: TDO Buffers: биты, соответствующие выводам 1A1, 1A2, 1A3, 1A4, имеют значение 1;
–повторить все действия с начала, вместо значения 00 00000000 11110000 для U1 установить 00 00000000 00000000.
Содержание отчета
Отчет должен содержать: задание на работу; описание тестовой установки; описание проведенных экспериментов; выводы по работе.
Список литературы
1.Угрюмов Е. П. Программируемые компоненты устройств и систем на кристалле: учеб. пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2013.
2.Угрюмов Е. П. Цифровая схемотехника: учеб. пособие для вузов. 3-е изд. СПб.: БХВ-Петербург, 2010.
3.Угрюмов Е. П., Буренева О. И. Компоненты и структуры процессорных систем на кристалле: учеб. пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ»,
2014.
Рекомендуемые ресурсы Интернета
Intel FPGA. URL: http://www.altera.com Компоненты и технологии. URL: http://www.kit-e.ru
28
ПРИЛОЖЕНИЕ
Последовательность работы в САПР Quartus II
Этап 1. Создание проекта в САПР Quartus II
1.Запустить пакет Quartus II, создать новый проект командой File/New Project Wizard. В последовательно появляющихся окнах указать путь к директории проекта, его имя; выбрать семейство и тип микросхемы (для ис-
пользуемого учебного стенда DE0 – Cylone III, EP3C16F484C6).
Имена проектов и каталогов не должны содержать русских букв и пробелов.
2.Подготовить описание схемы. В зависимости от используемых инструментов описания (языки описания, графическое представление) выбирается соответствующий тип файла в команде File/New.
3.Провести предварительную компиляцию созданного описания схемы для ее проверки на наличие ошибок, используя меню Processing/Analyze current file, а затем полную компиляцию с помощью меню Processing/Start Compilation.
4.Для всех входных и выходных сигналов проекта назначить контакт ПЛИС командой меню Assignments/Pins Planner. В окне Pin Planer представ-
ляется изображение выбранной ПЛИС с условными обозначениями выводов, отражающими их функциональность. Двойной щелчок на изображении вывода вызывает диалоговое окно, в котором за выводом закрепляется определенный входной или выходной сигнал проекта.
Номера необходимых для выполнения данной лабораторной работы контактов ПЛИС учебного стенда DE0 выдаются преподавателем.
5.После назначения контактов необходимо выполнить повторную компиляцию проекта. По завершении компиляции допустимо некоторое количество предупреждений. В результате успешной компиляции в директории проекта создается файл конфигурации *.sof.
6.Оценить затраты на реализацию проекта, используя команду
Processing/Compilation Report.
7.Просмотреть RTL-вид проекта, активизировав команду Tools/Netlist Viewer/RTL Viewer, просмотреть иерархию использованных примитивов (логических ячеек, портов и др.), проанализировать использование внутренних регистров и настройки LUT-таблиц, активизировав команду Tools/Netlist Viewer/Technology Map View.
29
8. Оценить временные характеристики реализации проекта, запустив утилиту TimeQuest Timing Analyzer; через меню анализатора сформировать список соединений командой Create Timing Netlist панели Task. Просмотр результатов анализа выполняется командой Report/Report Datasheet. При необходимости задания ограничений дополнительно создается файл с их описанием *.sdc.
Этап 2. Моделирование проекта
1.Файл, содержащий входные тестовые воздействия, может быть создан через меню File/New в группе Verification/Debugging Files командой University Program VWF. В этом файле могут отображаться все входные и выходные сигналы проекта командой меню Edit/Insert Node or Bus, причем редактироваться в этом окне могут только входные сигналы проекта.
2.Запуск моделирования выполняется командой Simulation, где предусмотрены два режима: функциональное (Run Functional Simulation) и с учетом временных параметров схемы (Run Timing Simulation).
Этап 3. Загрузка проекта в ПЛИС
1.Подключить учебную плату к компьютеру через порт USB и включить плату.
2.Запустить программатор командой меню Tools/Programmer и убедиться в том, что он обнаружил плату. В противном случае установить ее с помощью кнопки Hardware setup и в открывшемся окне выбрать USB-Blaster.
3.Загрузить проект в ПЛИС, нажав кнопку Start.
30
