Тип работы:
Предмет:
Язык работы:


ИСПОЛЬЗОВАНИЕ ВЫСОКОУРОВНЕВЫХ СРЕДСТВ ПРОЕКТИРОВАНИЯ ДЛЯ РАЗРАБОТКИ АППАРАТНЫХ ФИЛЬТРОВ НА ПЛИС LATTICE

Работа №78238

Тип работы

Бакалаврская работа

Предмет

менеджмент

Объем работы93
Год сдачи2020
Стоимость4775 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
27
Не подходит работа?

Узнай цену на написание


РЕФЕРАТ 3
ABSTRACT 4
ВВЕДЕНИЕ 9
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 11
1.1. Виды цифровых фильтров 11
1.2. Особенности реализации БИХ-фильтров на ПЛИС 15
1.3. Адаптивность цифровых фильтров 16
1.4. Адаптивные алгоритмы 21
1.5. Вывод 23
2. ОБЗОР СРЕДЫ РАЗРАБОТКИ LATTICE DIAMOND 24
2.1. Средства синтеза 26
2.1.1. Lattice LSE 26
2.1.2. Synplify pro 27
2.2. Библиотека IPexpress 28
2.3. Логический анализатор Reveal Analyzer 29
2.4. Процесс создания проекта 30
2.5. Сводная таблица входов и выходов ПЛИС Spreadsheet View ... 33
2.6. Симулятор Active HDL 34
2.7. Вывод 36
3. АППАРАТНАЯ ПЛАТФОРМА 37
4. ОБЗОР СУЩЕСТВУЮЩИХ ИНСТРУМЕНТОВ ОПИСАНИЯ АП-ПАРАТНЫХ СРЕДСТВ 40
4.1. Обоснование выбора языка Chisel для разработки цифровых филь-тров 44
5. ЯЗЫК ОПИСАНИЯ АППАРАТНЫХ СРЕДСТВ CHISEL 45
5.1. Представление данных 45
5.2. Комбинаторные схемы 47
5.3. Использование функций Scala в Chisel 49
5.4. Работа с интерфейсами ввода/вывода 50
5.5. Сравнение Chisel и Verilog 52
5.6. Преимущества Chisel для разработки цифровых фильтров 54
6. РАЗРАБОТКА ЦИФРОВЫХ ФИЛЬТРОВ НА ЯЗЫКЕ CHISEL 56
6.1. Разработка простого КИХ-фильтра 56
6.2. Разработка алгоритмического умножителя для фильтров 59
6.3. Разработка алгоритмического БИХ-фильтра 62
6.4. Разработка алгоритмического адаптивного БИХ-фильтра 64
ЗАКЛЮЧЕНИЕ 74
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 76
ПРИЛОЖЕНИЯ 78

В этой работе мы рассматриваем возможности синтеза цифровых фильтров при помощи высокоуровневых средств проектирования, при этом в качестве целевой платформы рассматривается ПЛИС компании Lattice Semiconductor. Рассматриваются разные виды и конструкции цифровых фильтров.
Цели работы: изучить доступные средства высокоуровневого синтеза, совместимые с ПЛИС Lattice Semiconductor и пригодные для синтеза цифровых фильтров. Создать описание разных видов цифровых фильтров и проверить их работоспособность. Так как целевой платфрормой является ПЛИС, рассматриваются только варианты фильтров, пригодные для аппаратной реализации.
Задачи: Провести анализ разных типов цифровых фильтров, возможности их реализации на ПЛИС и особенности аппаратной реализации фильтров. Рас-смотреть принципы работы адаптивных цифровых фильтров. Рассмотреть инструменты для работы с ПЛИС Lattice Semiconductor - среду разработки Lattice Diamond и её составные части - некоторые из инструментов от компании Lattice. Провести сравнительный анализ различных средств высокоуровневого синтеза и их пригодность для работы с цифровыми фильтрами. Создать описание разных типов цифровых фильтров, учитывая особенности целевой платформы. Рассматриваются простые (параллельные) и алгоритмические фильтры, адаптивные и неадаптивные.
В этой работе для синтеза цифровых фильтров используется язык описания аппаратных средств Chisel. Для того, чтобы скомпилировать описание устройства на ПЛИС Lattice из кода на Chisel синтезируется описание на Verilog, а Verilog синтезируется средствами САПР Lattice Diamond. Сравнивая созданные устройства, мы используем отчёты компилятора в среде Lattice Diamond, а также отчёты симулятора кода на Verilog - ActiveHDL.
Актуальность темы дипломной работы объясняется тем, что цифровые фильтры - один из наиболее частоиспользуемых аппаратных блоков в задачах ЦОС. Появляются новые инструменты для описания аппаратных устройств, многие из них распространяются как свободное ПО и поддерживаются сообществом. Новые возможности языков описания аппаратных средств позволяют создавать более гибкие и параметризуемые шаблоны для описания цифровых фильтров, что в перспективе должно экономить время разработчиков описаний на ПЛИС. Цифровые фильтры часто реализуют на процессоре, но иногда производить фильтрацию сигнала на процессоре нецелесообразно. Это может быть слишком трудоёмко или слишком долго. В некоторых устройствах вообще отсутствует процессор, и тогда легче создать аппаратный фильтр на ПЛИС. В этой работе рассмотрены разные конструкции фильтров: для ситуаций, когда важнее создать быстрый фильтр, либо когда важнее затратить меньше аппаратных ресурсов. Предполагается, что современные средства высокоуровневого синтеза помогут создать более гибкое и параметризуемое описание устройства, чем традиционные сейчас языки разработки: Verilog и VHDL.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В этой работе я рассмотрел возможности синтеза цифровых фильтров при по¬мощи высокоуровневых средств проектирования.
Был проведён анализ разных типов цифровых фильтров и особенности их аппаратной реализации. Проведён сравнительный анализ средств высокоуровневого синтеза устройств на ПЛИС, их сильные и слабые стороны. Для разработки описаний для этой работы я выбрал язык Chisel, так как этот язык сейчас набирает популярность, он позволяет использовать возможности Scala для параметризации модулей и автоматической генерации устройства, но при этом оставляет разработчику возможность контролировать работу устройства на уровне регистровых передач.
Рассмотрен процесс разработки проектов в среде Lattice Diamond и составные части этой среды. Для того, чтобы получить прошивку для ПЛИС, из кода на Chisel сначала был я генерировал код Verilog, который поддерживается САПР Lattice Diamond. Отчёты САПР были использованы для сравнения результатов синтеза фильтров. Также синтезированные модули были проанализированы в симуляторе Aldec ActiveHDL.
В результате я получил параметризуемые модули на Chisel: простой нерекурсивный фильтр, вычисляющий результат параллельно, алгоритмический БИХ- фильтр и алгоритмический адаптивный БИХ-фильтр.
В ходе работы обнаружено, что на ПЛИС, имеющих аппаратные умножите-ли, использование параллельных умножителей (встроенных в язык операторов умножения *) позволяет задействовать меньше логических ячеек. С другой стороны, на ПЛИС без поддержки аппаратных умножителей наоборот, использование алгоритмических умножителей позволяет задействовать меньше логических ячеек.
Результаты работы синтезированных цифровых фильтров проверены в симуляторе, они совпадают с теоретическими значениями и результатами, полученными в Matlab.
В будущем я планирую усовершенствовать созданные описания: добавить возможность переключаться между типами умножителей, параллельным и последовательным, а также завести больше сигналов извне в адаптивную функцию. Также можно создать набор готовых адаптивных функций, реализующих разные адаптивные алгоритмы.



1. Бесекерский В.А., Попов Е.П. Теория систем автоматического управле¬ния. — СПб : Профессия, 2003. — 752 с. — ISBN 5-93913-035-6.
2. Бугров Владимир, Пройдаков Вадим, Артемьев Владимир. Поисковые тех-нологии проектирования целочисленных цифровых фильтров // Компонен¬ты и технологии. — 2014. — № 6. — с. 124—130.
3. Грант П.М., Коуэн К.Ф.Н. Адаптивные фильтры. — Москва: Мир, 1988. — 392 с. — ISBN 5-03-000004-6.
4. Д.А.Комолов, Р.Н.Золотухо, А.А.Антонов. Руководство по использованию САПР Diamond компании Lattice / пер. с англ. ООО "ЭФО". — Санкт- Петербург : Медиа-группа Файнстрит, 2018. — 176 с. — ISBN 978-5¬6040819-0-7.
5. Зыков А.Г., ПоляковВ.И. Арифметические основы ЭВМ. — Санкт-Петербург: Университет ИТМО, 2016. — 141 с.
6. Bachrach J., Izraelevitz A., Koenig J. Advanced Chisel Topics. — EECS UC Berkeley : EECS UC Berkeley, 2017. — 82 с.
7. Chisel/FIRRTL Hardware Compiler Framework. — URL: https : / / www . chisel- lang. org/.
8. CMOS Continuous-Time Adaptive Equalizers for High-Speed Serial Links / Chagoyen, Concepcion Aldea and Gasca, Cecilia Gimeno and Pueyo, Santiago Celma and Celma, Santiago. — Zaragoza, Spain: Springer International Publishing, 22.09.2016. — 172 с. — ISBN 978-3-319-38485-6. — URL: https : // www . ebook . de/de/product/26482200/concepcion_aldea_chagoyen_ cecilia _ gimeno _ gasca_ Santiago _ celma_ pueyo _ Santiago _ celma_ emos _ continuous _ time _ adaptive _ equalizers _ for _ high _ speed _ serial_links. html.
9. EECS150: Interfaces: “FIFO” (a.k.a. Ready/Valid). — UC Berkeley College of Engineering. — 5 с.
10. Ka Fai Cedric Yiu,YaoLu,ChunHokHo, Wayne Luk, Jiaquan Huo, Sven Nordholm.
Reconfigurable FPGA-based switching path frequency-domain echo canceller withapplications to voice control device // Digital Signal Processing. — 2012. — с. 376—390.
11. Lattice Semiconductor, inc. LatticeECP3 Family Data Sheet DS1021.—вер. 02.8EA. 2015. — URL: http : //www . latticesemi . com/-/media/LatticeSemi/ Documents/DataSheets/Lattice/LatticeECP3EAFamilyDataSheet.ashx
12. Lattice Semiconductor, inc. MachXO2 Family Data Sheet FPGA-DS-02056. — вер. 3.4. — 2019. — URL: http : / / www . latticesemi . com/ - /media/ LatticeSemi/Documents/Datasheet s/MachX023/FPGA-DS -02056 -3-4- MachX02-Family-Data-Sheet. ashx.
13. Madisetti V. K., Williams D. B. The Digital Signal Processing Handbook. — Boca Raton, Florida : CRC Press, 1999. — 1776 с. — ISBN 0-8493-8572-5.
14. Schoeberl M. Digital Design with Chisel. — Second Edition. — USA : Kindle Direct Publishing, 2019. — 164 с. — ISBN 9781689336031.
15. Stewart B. Adaptive IIR Filtering. — Scotland, UK, 2006. — 68 p.


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ