Я студент EE и могу писать [по крайней мере простые] программы на большем количестве языков, чем у меня есть пальцы. Я только начал изучать VHDL, и мне было интересно, каким будет хороший проект, чтобы действительно узнать язык и соответствующие инструменты? У меня возникают проблемы с его созданием, потому что для меня это действительно другой стиль программирования.
Я сделал простые вещи, как сумматоры, но я ищу более долгосрочный (например, месяц или около того) проект.
В случае необходимости, у меня есть Xilinx Webpack и плата Digilent Spartan3.
Поскольку вы, кажется, интересуетесь программированием, вы можете создать простой микропроцессор.
источник
Вы должны проверить opencores.org и найти там интересный проект. Вы также можете скачать Sigasi HDT , который поможет вам освоить грамматику VHDL.
источник
В этом году мне понравилось работать с Хансом в Hardhack над проектом Rekonstrukt по созданию базового синтезатора в ПЛИС. Светодиодные проекты тоже хороши, но нет ничего лучше, чем подключить ПЛИС к стереосистеме. Он не строится с нуля, как светодиодный проект, потому что проект основан на процессоре с открытым ядром, который поддерживает далее. Итак, в начале вы узнаете, как в основном загружать FPGA с проектом, а затем вы можете играть с конвертами в FORTH. Но где вы начинаете больше узнавать о внутренностях FPGA, это когда вы хотите добавить функциональность, которая затем требует изучения VHDL.
источник
Проект, который мне нравился, заключался в реализации игры Milton Bradley Simon на FPGA.
В моем университете наш класс EDA использует ту же доску, которую вы упомянули. Некоторые из реализованных проектов включали:
Это может дать вам некоторые идеи.
Я поддержу идею opencores.org, а также реализую ваш собственный микропроцессор. Так как у вас есть Xilinx FPGA, вы также можете попробовать что-нибудь сделать с помощью microblaze или picoblaze.
Редактировать: форматирование.
источник
Я написал код VHDL для ядра xilinx virtex некоторое время назад. это была реализация будильника. Вот что я сделал:
Промыть, повторить 1-3. Я хотел бы отметить, что генерация битового потока в значительной степени интегрирована в IDE Xilinx. Вам просто нужно иметь четкий набор логики для реализации в HDL; все остальное делается в IDE.
источник
Осциллятор с цифровым управлением был бы забавным. Я только что сделал дизайн с моей Arduino-совместимой платой (см. Http://tinyurl.com/ydmz2su ), но это было бы идеально для FPGA.
Вот несколько ссылок на дизайн.
Снелл, Джон 1988 "Разработка цифрового генератора, который будет генерировать до 256 синусоид с низкими искажениями в реальном времени" Основы компьютерной музыки. Кембридж, Массачусетс: MIT Press
Мур, Ф. Ричард 1988 "Шум поиска таблицы для синусоидальных цифровых генераторов" Основы компьютерной музыки. Кембридж, Массачусетс: MIT Press
источник
То, что я делаю, делает немного процессора. Это хороший закругленный способ охватить все основы.
Вы осветите все основы большого проекта в VHDL и познакомитесь со всеми основными темами проектирования VHDL (часы, входы, выходы, логика, шины и последовательное проектирование), а также со многими основными электронными и компьютерными концепции дизайна и архитектуры, такие как регистры, операции с данными, память и компьютерная арифметика.
Вы можете начать с простого сложения и вычитания, а затем добавлять дополнительные функциональные возможности по мере того, как вы учитесь, переходя к полностью функциональному (хотя и простому ... или, как я предпочитаю, называть это "ретро") компьютеру. По крайней мере, это мой план.
Плюс, иметь свой собственный компьютер на чипе просто круто :) Как 16-битный Raspberry Pi: P
Другие общие проекты FPGA:
-Музыкальный синтезатор
DSP-генератор эффектов
-MIDI контроллер / прерыватель
-Биткойн-майнер
-Эмуляторы игровых приставок
-Пользовательские щиты Arduino
-Параллельные процессоры (очень полезно для определенных математических задач, в которых обычные компьютеры не очень хороши)
-Робототехника / системы управления
- Сбор данных (достаточно много осциллографов для FPGA, если вы знаете, как работать с операционными усилителями)
VHDL сам по себе не ужасно сложен. Важно помнить, что вы разрабатываете физическую электронную цифровую схему, а не пишете программу для микроконтроллера. По сути, ваша симуляция - это не программа, которая будет работать построчно, поэтому не позволяйте внешнему сходству с C обмануть вас, VHDL - это совсем другая парадигма.
источник