Проект для изучения VHDL


16

Я студент EE и могу писать [по крайней мере простые] программы на большем количестве языков, чем у меня есть пальцы. Я только начал изучать VHDL, и мне было интересно, каким будет хороший проект, чтобы действительно узнать язык и соответствующие инструменты? У меня возникают проблемы с его созданием, потому что для меня это действительно другой стиль программирования.

Я сделал простые вещи, как сумматоры, но я ищу более долгосрочный (например, месяц или около того) проект.

В случае необходимости, у меня есть Xilinx Webpack и плата Digilent Spartan3.

Ответы:


7

Мой проект "Привет, мир" FPGA был контроллером светодиодной матрицы с ШИМ и входом последовательного потока. Конечный результат был хорошим ( http://lbw.axe-man.org/led1.wmv ), но я признаю, что я сделал часть этого с помощью редактора схем Altera Quartus, чтобы увидеть, как были описаны части VHDL.


Эта великолепная идея; Я просто выбрал матрицу без контроллера 16x16, и контроллер был бы отличным. аккуратное видео!
Penjuin

Хорошее видео! И этот схематический редактор там будет использоваться.
Моника

10

Поскольку вы, кажется, интересуетесь программированием, вы можете создать простой микропроцессор.


НАСТОЯТЕЛЬНО рекомендуется. В итоге вы узнаете не только о FPGA и VHDL, но и о том, как работают процессоры, что необходимо для инструментов разработки для поддержки процессоров и т. Д.
Крис Страттон,


4

В этом году мне понравилось работать с Хансом в Hardhack над проектом Rekonstrukt по созданию базового синтезатора в ПЛИС. Светодиодные проекты тоже хороши, но нет ничего лучше, чем подключить ПЛИС к стереосистеме. Он не строится с нуля, как светодиодный проект, потому что проект основан на процессоре с открытым ядром, который поддерживает далее. Итак, в начале вы узнаете, как в основном загружать FPGA с проектом, а затем вы можете играть с конвертами в FORTH. Но где вы начинаете больше узнавать о внутренностях FPGA, это когда вы хотите добавить функциональность, которая затем требует изучения VHDL.


2

Проект, который мне нравился, заключался в реализации игры Milton Bradley Simon на FPGA.

В моем университете наш класс EDA использует ту же доску, которую вы упомянули. Некоторые из реализованных проектов включали:

  • Обработка изображения: медианный фильтр, растяжение гистограммы, определение края
  • Криптография: AES, различные алгоритмы хеширования и т. Д.
  • Связь: Ethernet, USB, I2C и др.
  • Игры: понг, космические захватчики и т. Д.

Это может дать вам некоторые идеи.

Я поддержу идею opencores.org, а также реализую ваш собственный микропроцессор. Так как у вас есть Xilinx FPGA, вы также можете попробовать что-нибудь сделать с помощью microblaze или picoblaze.

Редактировать: форматирование.


1

Я написал код VHDL для ядра xilinx virtex некоторое время назад. это была реализация будильника. Вот что я сделал:

  • Много читайте в руководстве по vhdl - я должен был бы пересмотреть его сейчас, но я нашел его довольно простым и простым в использовании hdl :-)
  • Использовал xilinx suite (компилятор, синтезатор) для получения битового потока
  • Загруженные битовые потоки с использованием jtag

Промыть, повторить 1-3. Я хотел бы отметить, что генерация битового потока в значительной степени интегрирована в IDE Xilinx. Вам просто нужно иметь четкий набор логики для реализации в HDL; все остальное делается в IDE.


1

Осциллятор с цифровым управлением был бы забавным. Я только что сделал дизайн с моей Arduino-совместимой платой (см. Http://tinyurl.com/ydmz2su ), но это было бы идеально для FPGA.

Вот несколько ссылок на дизайн.

Снелл, Джон 1988 "Разработка цифрового генератора, который будет генерировать до 256 синусоид с низкими искажениями в реальном времени" Основы компьютерной музыки. Кембридж, Массачусетс: MIT Press

Мур, Ф. Ричард 1988 "Шум поиска таблицы для синусоидальных цифровых генераторов" Основы компьютерной музыки. Кембридж, Массачусетс: MIT Press


0

То, что я делаю, делает немного процессора. Это хороший закругленный способ охватить все основы.

Вы осветите все основы большого проекта в VHDL и познакомитесь со всеми основными темами проектирования VHDL (часы, входы, выходы, логика, шины и последовательное проектирование), а также со многими основными электронными и компьютерными концепции дизайна и архитектуры, такие как регистры, операции с данными, память и компьютерная арифметика.

Вы можете начать с простого сложения и вычитания, а затем добавлять дополнительные функциональные возможности по мере того, как вы учитесь, переходя к полностью функциональному (хотя и простому ... или, как я предпочитаю, называть это "ретро") компьютеру. По крайней мере, это мой план.

Плюс, иметь свой собственный компьютер на чипе просто круто :) Как 16-битный Raspberry Pi: P

Другие общие проекты FPGA:

-Музыкальный синтезатор

DSP-генератор эффектов

-MIDI контроллер / прерыватель

-Биткойн-майнер

-Эмуляторы игровых приставок

-Пользовательские щиты Arduino

-Параллельные процессоры (очень полезно для определенных математических задач, в которых обычные компьютеры не очень хороши)

-Робототехника / системы управления

- Сбор данных (достаточно много осциллографов для FPGA, если вы знаете, как работать с операционными усилителями)

VHDL сам по себе не ужасно сложен. Важно помнить, что вы разрабатываете физическую электронную цифровую схему, а не пишете программу для микроконтроллера. По сути, ваша симуляция - это не программа, которая будет работать построчно, поэтому не позволяйте внешнему сходству с C обмануть вас, VHDL - это совсем другая парадигма.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.