Это новая версия популярной книги «Цифровая схемотехника и архитектура компьютера», ставшей одним из основных учебников во многих технических вузах России. Мы писали о ней в подборке книг по схемотехнике.
Лучшие книги по разработке цифровых микросхем: от схемотехники до верификации на SystemVerilog
Осенью стартовал новый поток Школы синтеза цифровых схем — нашей бесплатной образовательной программы о современных приемах проектирования цифровых микросхем. От серийных ASIC и микропроцессоров общего назначения до реконфигурируемых FPGA и специализированных вычислителей. По этим и связанным темам выпущено немало профессиональной литературы. Мы попросили преподавателей Школы — Юрия Панчула и Александра Рябова — выбрать книги, которые помогут при обучении в школе и самостоятельном освоении синтеза цифровых схем.
«Цифровая схемотехника и архитектура компьютера: RISC-V», Дэвид Харрис, Сара Харрис
У «Цифровой схемотехники и архитектуры компьютера» есть три версии, с уклоном в архитектуры MIPS, ARM и RISC-V. Первые пять глав у них различаются незначительно, они посвящены основам цифровой схемотехники и языкам описания аппаратуры SystemVerilog и VHDL. Далее идут главы про конкретную архитектуру (систему команд, интерфейс процессора для программиста), микроархитектуру (аппаратную организацию процессора в ракурсе специалиста по электронике) и использование готовых чипов на основе конкретной архитектуры. В разделе про микроархитектуру описана реализация простейшего процессорного ядра на языках описания аппаратуры. Это важное достоинство учебника.
В 1990—2000-е годы многие западные вузы использовали для обучения архитектуру MIPS, но в 2010-е ядра ARM стали так доминировать в коммерческих продуктах, что преподаватели стали переходить на учебники про ARM. К сожалению, компания ARM не разрешала университетским исследователям свободно экспериментировать с архитектурой, поэтому, когда появилась открытая архитектура RISC-V, именно она стала новым стандартом для образования.
В новой книге разбирают открытое процессорное ядро Wally из проекта OpenHW Group. В этом ядре есть устройство управления виртуальной памятью, контроллер прерываний. Реализованы команды с плавающей точкой. Книга демонстрирует процесс верификации таких ядер и запуска на них Linux. Сиквел Харрисов — это не обязательное чтение для всех студентов-электронщиков: некоторым интереснее углубиться в микроархитектуру ускорителей для машинного обучения, компьютерной графики, в сетевые чипы или другие типы микросхем.
— Юрий Панчул, микроархитектор и проектировщик цифровых схем на уровне регистровых передач
«Программирование FPGA для начинающих», Фрэнк Бруно
В самостоятельной работе также поможет книга Фрэнка Бруно, которая охватывает весь процесс программирования FPGA и проектирования аппаратных схем. Расширяя знания комбинационной логики и ПЛИС, вы начнете с переключения светодиодов, а в финале уже создадите целую подсистему вывода с использованием контроллера VGA. На этот увлекательный путь вы можете ступить даже с минимальными знаниями о языке SystemVerilog и FPGA-разработке.
«Логическое проектирование и верификация систем на SystemVerilog», Дональд Томас
Совершенствоваться в SystemVerilog — языке описания и верификации аппаратуры — поможет труд Дональда Томаса. SystemVerilog упрощает передачу инженерного замысла в моделях, включает программные абстракции, облегчающие тестирование, а также средства измерения функционального покрытия в процессе верификации.
Книга содержит не только описание SystemVerilog, но и дополнительные материалы по логическому проектированию. Для усвоения потребуется как минимум базовая подготовка в схемотехнике и программировании.
В отличие от других авторов, Дональд Томас не пересказывает стандарты синтаксиса, а объясняет смысл языка: зачем были введены те или иные конструкции. Он также касается методологий верификации, статического анализа временных задержек и организации интерфейсов между блоками. Наконец, книга включает главу про работу симулятора Verilog, без понимания которой многие элементы языка, например неблокирующие присваивания, выглядят для новичка как непонятные заклинания черной магии.
— Юрий Панчул, микроархитектор и проектировщик цифровых схем на уровне регистровых передач
Digital Design: A Systems Approach, Билл Далли, Р. Кертис Хартинг
Книга охватывает все темы, необходимые для работы с цифровыми схемами: создание и применение комбинационных и последовательных схем, тайминги, синхронизацию, эффективную разработку на Verilog. Теоретические материалы дополняются многочисленными примерами, ссылками на код и информативные слайды.
Читателю же стоит помнить, что эта книга покрывает не все. Например, в ней не описан контроль потока данных с помощью кредитных счетчиков, который предпочитают использовать во многих промышленных компаниях вместо конвейеров с двойной буферизацией. Но найти статьи на такие микроархитектурные темы можно самостоятельно, отталкиваясь от книги Далли и Хартинга.
— Юрий Панчул, микроархитектор и проектировщик цифровых схем на уровне регистровых передач
SystemVerilog for Verification: A Guide to Learning the Testbench Language Features, Крис Спир, Грег Тамбуш
Верификации на SystemVerilog стоит посвятить отдельную книгу. Спир и Тамбуш подробно рассказывают обо всех фичах, связанных с верификацией, разбирают основные концепции и предлагают сотни примеров. Кроме того, авторы объясняют разные подходы к верификации, позволяя читателям выбрать подходящие для их кейсов. В конце каждой части предусмотрены упражнения для самопроверки.
Освоив проектирование на уровне регистровых передач (RTL, Register Transfer Level) с помощью языка описания аппаратуры SystemVerilog, вы можете подробно рассмотреть, как проектировать широкий класс схем процессоров общего назначения, а также интегрировать их со специализированными вычислителями и структурами памяти в СнК и сетях на кристалле.
— Юрий Панчул, микроархитектор и проектировщик цифровых схем на уровне регистровых передач
Modern Processor Design: Fundamentals of Superscalar Processors, Джон Пол Шен, Микко Липасти
Используя единый подход, авторы сравнивают в книге множество мобильных, настольных и серверных процессоров — их архитектуру, конвейеры, реализацию памяти, систем ввода-вывода и другие параметры. Сравнение дополняют два реальных кейса разработки процессорных архитектур. Кроме того, книга включает обзор продвинутых технологий обработки инструкций и вопросы для самостоятельного размышления.
— Юрий Панчул, микроархитектор и проектировщик цифровых схем на уровне регистровых передач
Modern System-on-Chip Design on Arm, Дэвид Дж. Гривз
Если вы хотите сфокусироваться на дизайне однокристальных систем, эта книга вполне может стать для вас настольной. Начиная с концепции СнК в целом, автор в подробностях разбирает каждый аспект их работы, освещает последние достижения в этой сфере и в заключении обобщает всю основную информацию. Таким образом, книга подойдет даже тем, кто имеет лишь базовое представление об однокристальных системах.
— Юрий Панчул, микроархитектор и проектировщик цифровых схем на уровне регистровых передач
Microarchitecture of Network-on-Chip Routers: A Designer’s Perspective, Йоргос Димитракопулос, Анастасиос Псаррас, Иоаннис Сейтанидис
Сети на кристалле (Network-On-Chip, NOC) пришли на смену традиционной шине данных с увеличением количества и сложности IP-блоков в современных электронных схемах. Топология и микроархитектура NOC определяют, насколько эффективно процессорные ядра и прочие устройства смогут взаимодействовать друг с другом.
Авторы детально рассматривают эту подсистему, начиная с основ — valid-ready handshake и credit-based flow control — и доходя до более сложных концепций. Эти аспекты изложены настолько доступно, что будут понятны даже специалистам с небольшим опытом в отрасли. Если вы интересуетесь сетями компонентов в цифровых схемах и их проектированием, то эта книга для вас.
— Александр Рябов, RTL-разработчик, контрибьютор в BGM
Бонус: статьи Дэна Гисселквиста на zipcpu.com
Отдельно рекомендую две статьи из этого блога. В Lessons learned while building an ASIC design автор делится решениями проблем, с которыми он столкнулся при проектировании микросхемы. An Overview of a 10Gb Ethernet Switch раскрывает детали разработки высокоскоростного Ethernet-коммутатора, поднимает вопросы производительности, оптимизации и ключевых решений, принятых при проектировании.
— Александр Рябов, RTL-разработчик, контрибьютор в BGM
Книги — это полезно, но, чтобы в вашем образовании было меньше пробелов, не помешает системный подход. Последовательно освоить непростую разработку цифровых микросхем вы сможете в бесплатной Школе синтеза цифровых схем.
Программа обучения рассчитана на полгода и состоит из двух уровней. Первый, базовый, пройдет онлайн и офлайн в московском офисе YADRO, в учебных кластерах других городов России и даже в Минске. По итогам выполнения домашних заданий в ноябре состоится отбор на второй, углубленный уровень программы, который продлится до апреля и будет организован только офлайн. После прохождения углубленной программы мы выдаем сертификаты об участии в школе.