Вопрос

Я разработчик встраиваемых систем-самоучка.В основном я использую AVR, запрограммированные на C и ASM, но я пробовал себя и с другими системами.Я собираюсь перейти на более сложные устройства, такие как CPLD и FPGA, но я понятия не имею, с чего начать.Итак, мои полтора вопроса таковы:

  1. Вы предпочитаете VHDL или Verilog и почему?
  2. Каков хороший способ для человека, не имеющего предварительного опыта работы с HDLS, начать изучать такого зверя?
Это было полезно?

Решение

Купите дешевый стартовый комплект у Xilinx или Altera (двух крупных игроков FPGA). Стартовый комплект Xilinx Spartan3 стоит 200 долларов.

Я лично предпочитаю VHDL. Он строго типизирован и обладает более продвинутыми функциями, чем Verilog. VHDL более популярен в Европе, а Verilog доминирует в США.

Купите книгу (например, Peter Ashendens Руководство для дизайнеров по VHDL) и начните моделировать свои проекты в бесплатном симуляторе. ModelSim от Mentor Graphis хорош, и есть бесплатные версии (с ограниченной скоростью симуляции).

Придумайте какой-нибудь интересный проект (мини-процессор, VGA-графика, синтезатор) и приступайте к проектированию. Всегда имитируйте и убедитесь, что ваш дизайн работает, прежде чем вводить его в аппаратное обеспечение ...

Если у вас нет опыта работы с цифровой электроникой, купите книгу по этому предмету.

Другие советы

В те времена, когда я работал над дизайном ASIC, это было в verilog. Во многих случаях в качестве дизайнера вы не можете выбирать: инструменты синтеза ASIC для HDL стоят значительных денег, а компании покупают полный набор инструментов только за один & Quot; blessed & Quot; язык. Мой работодатель стандартизировал Verilog, вот что мы использовали.

Инструменты синтеза FPGA значительно дешевле, поэтому у вас, как у разработчика FPGA, больше свободы выбора предпочитаемого вами языка и инструментов.

Есть также бесплатные симуляторы verilog, доступные на verilog.net .

Как упомянул @kris, стартовая плата FPGA также является хорошим вариантом. Когда ваш код verilog загорается, светодиод на доске бесконечно более удовлетворителен, чем форма волны симулятора на экране.

Также ознакомьтесь с opencores.org - здесь есть несколько статей и много открытого исходного кода. Verilog и VHDL вы можете поучиться у.

Насколько я могу судить, VHDL против Verilog становится таким же религиозным, как Ruby против Python или Java против C #. У разных людей есть свои любимчики.

Проверьте этот сайт: http://www.fpga4fun.com/

Хорошие простые проекты с использованием простых инструментов. Я использовал одну из этих плат несколько лет назад, чтобы создать небольшую систему VGA-дисплея для использования в качестве доски объявлений.

Снова просматривая сайт, я подумываю получить плату Xylo-LM, так как она имеет процессор ARM, а также SDRAM и Xilinx Spartan 3e.

Еще одной платой, которую я использовал раньше, был XPort 2 от Charmed Labs. Это включает Gameboy Advance, который хорошо поддерживается инструментами разработки с открытым исходным кодом.

Проверить: http://www.charmedlabs.com/index.php?option=com_virtuemart&page=shop.browse&category_id=6&Itemid=43

Еще одна вещь, о которой стоит подумать: стоит ли начинать с изучения HDL или изучения логической логики, карт Карно, теоремы Деморгана, гейтов, реализации арифметики в вентилях и т. д. Легко написать несинтезируемый HDL, если вы не имеют точной мысленной модели того, как будет выглядеть базовое оборудование.

Эта книга представляет собой версию Verilog один я использовал в старшекурснике, и он сделал довольно хорошую работу, по моему мнению. Он начинается с материала, упомянутого выше, а также с некоторой базовой, базовой информацией о реализации затворов на уровне транзисторов, а затем знакомит вас с HDL и позволяет вам постепенно создавать более сложные структурные и поведенческие аппаратные блоки. Да, я знаю, что это безбожно дорого, как и большинство учебников для колледжей, но это одна из тех вещей, для которых, по крайней мере, информация, которую я смог найти в Интернете, была крайне неадекватной.

Когда вы будете готовы выбрать HDL, я от всей души рекомендую Verilog (сначала изучив VHDL). Да, когда-то VHDL был гораздо более многофункциональным, чем Verilog, но более поздние версии языка (Verilog 2001, Verilog 2005, SystemVerilog и т. Д.) Обладали большинством интересных функций, а также значительно более надежной поддержкой инструментария. для Verilog и его варианта в наши дни, в дополнение к тому, что он является доминирующим языком, используемым в США (по моему опыту, VHDL используется здесь только при работе с крайними устаревшими блоками и в академических контекстах, частично из-за упомянутой поддержки инструментов ранее). Наконец, как только вы изучите HDL, у вас есть язык аппаратного подтверждения (HVL) в SystemVerilog со строгим синтаксисом, сохраняющим вам хорошую часть кривой обучения. Насколько мне известно, это не так для VHDL.

Altera и Xilinx встроили симуляторы в свои бесплатные наборы инструментов. Это ограниченные версии очень популярных инструментов Mentor ModelSim. Они будут соответствовать размеру дизайнов, которые вы, вероятно, поместите в & Lt; $ 500 (США) доска.

Для HDL выбор Verilog для C, как VHDL для ADA. Таким образом, с Verilog легче начать, но вы можете легко делать ошибки. Проверьте предупреждения симуляции и компиляции, чтобы избежать этих проблем.

Verilog намного проще в изучении и более простом синтаксисе. Это также более новый язык. Во-вторых, большинство людей используют verilog. VHDL имеет много типов данных, которые дают ему кривую обучения. Как только вы узнаете verilog, вам будет легче преодолеть разрыв с VHDL. Ох, и есть также макросы в Verilog, которые очень хорошо. Я изобрел язык с ним. Наконец, вы в конечном итоге сможете сделать смешанный дизайн HW Я начал с VHDL, затем выучил verilog и теперь я про verilog.

Я был в той же лодке, что и ты сейчас семестр назад. Моя любимая книга была этой , поскольку в ней говорилось о ПЛИС путем анализа цифровой логики. , Он также показывает параллельное сравнение кода VHDL и Verilog, так что вместо выбора того, к которому вас могут подтолкнуть люди, вы можете изучить тот, который вам нравится стилистически.

Что касается самой FPGA, используйте Веб-пакет ISE для программирования (бесплатный) и начните с FPGA, таких как Плата Basys2 FPGA . Это очень маленькая FPGA, которая должна помочь вам начать работу за небольшую цену, но у нее есть дополнительное преимущество: вы очень рано изучаете управление ресурсами и памятью. Вы можете использовать Adept Digilent (также бесплатно), чтобы упростить жизнь в загрузка вашего " скомпилированного " код для доски.

Удачи!

Перед тем, как погрузиться в Verilog / VHDL или купить комплект разработчика FPGA, я бы рекомендовал пройти вводный урок по цифровому дизайну. Есть хорошие классы OpenCourseWare MIT .

Удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top