FPGA chips

Изучаем САПР Altera Quartus II / Intel Quartus Prime, язык описания аппаратуры Verilog HDL и кое-что про VHDL. Программируем FPGA Altera / Intel Cyclone III, Cyclone IV, MAX II, MAX10. Экспериментируем с платами разработчика  FPGA серии Марсоход, Марсоход2, Марсоход3. А еще разбираемся с FPGA Gowin.


 Итак, мы решили «разработать свой чип» на базе микросхем фирмы Альтера. Для программирования микросхем фирмы Altera, вполне естественно, нам нужно и программное обеспечение фирмы Altera. Сразу возникают для вопроса: «Где взять и как дорого стоит эта программа?». Вопросы эти понятные, но не сложные. Мы скачаем бесплатную программу для разработчиков прямо с сайта компании Альтера. Нужная нам программа называется QuartusII v9.0 Web Edition.

Тут нужно сделать небольшое отступление:

  • Инструкция по скачиванию и установке программы, приведенная в этом описании, может со временем устареть. Это вполне естественно, так как компания Altera вправе менять свой сайт когда и как захочет. И меня они естественно не спрашивают. Smile
  • Я использую в качестве операционной системы Microsoft Windows 7, а мой интернет браузер – Mozilla Firefox. Если у Вас Windows XP и Explorer, то, конечно, ничего страшного, но диалоги могут выглядеть по другому. Вы даже можете использовать Red Hat Linux или CentOS или SUSE Linux. Тогда Вам нужно выкачивать другой инсталяционный файл. Честно скажу – я никогда не пробовал устанавливать под Linux.
  • Размер программы для скачивания довольно большой ~1,4 гигабайта. При скорости интернета 1Мбит/секунду время скачивания будет около 4-х часов. Пожалуйста учтите это обстоятельство. Если у Вас безлимитный интернет, то 4 часа это не очень много – можно даже оставить на ночь. Но если у Вас оплата за выкачанные мегабайты, то возможно, выгоднее поискать иные способы выкачать QuartusII. Осторожно! Если у Вас оплата например 1рубль за мегабайт, то стоимость выкачивания может быть более 1500 рублей!
  • Я хочу сделать очень подробную инструкцию по скачиванию и установке пограммы QuartusII. Может кому-то это описание покажется занудным, но причин для такой подробной инструкции две. Во-первых, мне хотелось бы заинтересовать программированием микросхем даже школьников. Во-вторых, и сайт www.altera.com и сама программа QuartusII англоязычны. Пояснения на русском языке, я думаю, будут не лишними. Мне говорят, что это слишком сложно для школьников. Не верю!!! Smile Мы на нашем сайте пытаемся сделать все как можно проще. Будет желание – и даже у школьника все получится! Не боги горшки обжигают!


Итак, приступим.
Наши следующие шаги:
1. Скачивание программы QuartusII с сайта Альтеры.
2. Установка QuartusII.
3. Первый запуск.

Еще на нашем сайте появились статьи "пошаговые инструкции" для Quartus II:

  1. Создание первого проекта, компиляция и прошивка платы Марсоход.
  2. Создание проекта двухбитного "сумматора" для платы Марсоход. 
  3. Симуляция проекта в среде Quartus II.

    Странно...

    Для чего может понадобиться «пустой проект»?
    Ну, во-первых, не «пустой», а «почти пустой». Это значит, что в нем уже кое что есть. А во-вторых, с чего-то же нужно начинать?
    Среда разработки компании Altera QuartusII позволяет создавать проекты совершенно разной сложности и основываясь на разных микросхемах и FPGA и CPLD. Про FPGA (Field Programmable Gate Array) можно прочитать здесь https://ru.wikipedia.org/wiki/FPGA.  А про CPLD (Complex Programmable Logic Device) можно прочитать здесь https://ru.wikipedia.org/wiki/ПЛИС. Микросхемы обоих типов производят несколько компаний, но мы сделали свой выбор в пользу Altera.
    Проблема начинающих разработчиков состоит в том, что для того, чтобы начать что-то делать нужно провести очень много подготовительной работы. Нужно развести и изготовить плату, поставить, припаять на нее микросхему, создать проект для среды программирования QuartusII. Все это требует и знаний и умений и времени. Мы же предлагаем простой путь для начинающих разработчиков, студентов и даже школьников. Мы предлагаем очень простую готовую плату «Марсоход». И мы предлагаем уже готовую «заготовку» для Вашего проекта.

    Сделаем простую видеоигру!

    Когда-то, в далекие времена Smile, появились в магазинах первые электронные телевизионные видеоприставки. Эти приставки позволяли своим счастливым владельцам играть в довольно незамысловатые игры: «питон», «теннис», «тетрис». Я помню мы, мальчишками, выстраивались в очередь, что бы поиграть. Приставка была только у одного моего друга. Конечно сейчас видеоиграми никого не удивить. Современные игры для компьютеров и приставок красочны, динамичны и увлекательны. Стоимость разработки таких настоящих игр в дизайн студиях исчисляется миллионами долларов и ведется много месяцев. Мы же сейчас поставим перед собой совсем простую цель. Мы будем делать примитивную игру «теннис».

    Вот что я хочу, чтобы было на экране монитора или телевизора:

План видео игры Теннис

 

    Прежде всего, немного теории музыки. Как известно, в музыкальной октаве двенадцать нот. Это если посчитать основные тона и плюс полутона: до, до-диез, ре, ре-диез, ми, фа, фа-диез, соль, соль-диез, ля, ля-диез, си.

    Следующая нота после «си» будет опять «до», но уже следующей октавы. Частота звука одинаковых нот соседних октав отличается ровно в два раза. Мы не будем сильно «занаучивать» и покажем простую формулу. Более подробно о частоте звука разных нот можно почитать здесь https://ru.wikipedia.org/wiki/Высота звука. Известно отношение частот между двумя соседними нотами, оно вычисляется по следующей формуле:

формула для музыкальной ноты