Итак, сейчас я примерно определился со стилем изложения сего «кривоучителя».
В краце: завтра стартую с вводной главы, про то «шо енто такое и с чем его есть» . Все будет писаться на примере Alterы с еёйным Quartus-ом. По началу никакой аппаратной базы не потребуется, далее хватит любой FPGA со свободными выводами в кол-ве 20-30 штук и наличием доступа к JTAG-у (или демоборды, с ней ещё проще будет). Полезным бонусом будет наличие знаний по C (всетаки Verilog тащит многое по написанию оттуда). Заранее – CPLD тоже можно использовать, но нежелательно – во первых малая емкость, во вторых мало число циклов перезаписи. А можно и не использовать железо вообще
План глав:
1) Что это такое, различия между fpga, cpld, pal, и прочей программируемой логикой. Что надо сразу выбросить из головы, чтобы не мешало. Базовый синтаксис Verilog-а
2) Асинхронная логика (тут будем делать аналоги всяких простейших мсх. типа К155ЛА3, сумматоров и т.д. )
3) Синхронная логика (always, регистры, счетчики)
4) Упрощение свой жизни – тестовые стенды (автоматизация тестирования)
5) Упрощение жизни – циклы, копирование участков кода, функции, задачи
6) Конечные автоматы (мастхев, это база всего, что сложнее вантуза)
7) Вкусности, которые за нас уже сделаны (работа с готовыми IP блоками – нафига писать контроллер USB, если он уже есть)
Работа с железками (Мигалки светодиодом, часы, и т.п.)
9) Финишь – брейнфак компьютер, если у меня на это духу хватит (но получится забавно, если хватит)
Из софта рекомендую скачать Altera Quartus Web Edition (любая версия, желательно 8.1 и старше, но и 8.0 пойдет) и ModelSIM Altera Edition. Всё это добро живет на http://www.altera.com
Глава по времени может(и будет скорее всего) занимать более 1 поста. На каждую главу (за исключением вводной) я буду придумывать какие-нибудь простые задачки.