Я рад поделиться, что курс VHDL и FPGA, над которым я работал последние шесть месяцев, приближается к завершению. Сейчас он в бета-версии, официальный запуск состоится этой осенью. Для кого этот курс? Эта программа разработана для разработчиков, которые уже знают другие языки программирования, но н
Когда я впервые столкнулся с интерфейсом AXI при проектировании модуля, я удивился его упрощенному подходу к управлению потоком. В отличие от традиционных протоколов, полагающихся на пары busy/valid, full/valid или empty/valid, AXI использует только два сигнала: ready и valid. Что начиналось как фру
Наполнение блочной памяти предопределенными значениями наиболее эффективно делается чтением бинарных или шестнадцатеричных литералов из ASCII-файла. Эта техника также служит для создания ROM, так как FPGA ROM — это просто RAM, из которого только читают. Для примеров ниже в декларативной области VHD
Чтение стимулирующих данных из внешнего файла — мощный способ управления Device‑Under‑Test (DUT) в VHDL. Скриптуя последовательность значений сигналов и времен симуляции в простом текстовом файле, проектировщики могут быстро менять тестовые паттерны без модификации логики тестбенча. Эта статья, втор
При работе с VHDL-тестбенчами простейший способ импорта изображения — использование растрового формата BMP. BMP-файлы нативно поддерживаются Windows и предоставляют сырые пиксельные данные без сжатия, что идеально для симуляции. Эта статья объясняет, как прочитать бинарный BMP-файл, сохранить его п
Это видео — вводная презентация о технологиях FPGA и программируемой логики. Я выступил с этим 45-минутным докладом на мероприятии, организованном 7 Peaks Software в Бангкоке, Таиланд, 19 ноября 2019 года. Основные моменты презентации: 05:07 – Кто использует FPGA? 09:06 – Что такое FPGA? 12:13 – Э
VHDL включает встроенный псевдослучайный генератор, выдающий вещественные значения в интервале [0, 1]. Масштабируя и смещая эти значения, можно создавать случайные данные любого типа — real, integer, std_logic_vector или time — подходящие для тестбенчей. Следующее руководство показывает, как строить
Широтно-импульсная модуляция (PWM) превращает цифровой вывод FPGA в мощный аналоговый контроллер. Переключая питание включено и выключено на высокой скорости, PWM доставляет точный средний ток, нужный устройству, никогда не генерируя настоящего аналогового напряжения. Типичные приложения PWM: аудио
Я заметил, что многие гаджеты, купленные мной за последние пару лет, перешли от мигания светодиодов к «дыханию». Большинство электронных устройств содержат статусный светодиод, поведение которого выдает указания на внутренние процессы. Моя электрическая зубная щетка мигает светодиодом, когда пора з
Когда VHDL-тестбенч достигает конца предполагаемого выполнения, нужно, чтобы симулятор остановился чисто и, по возможности, вернул управление вызывающему скрипту. Эта статья рассматривает наиболее распространенные и надежные техники остановки симуляции в основных VHDL-симуляторах, с примерами кода д
Большинство VHDL-симуляторов предоставляют Tool Command Language (Tcl) в качестве основного скриптового интерфейса. Когда вы вводите команду в консоли симулятора, вы используете Tcl, и также можете писать скрипты, которые управляют и наблюдают за вашим VHDL-проектом. Эта статья проведет вас через с
Радиоуправляемые (RC) сервоприводы — сердце любительских самолетов, машин и лодок. Они преобразуют радиокоманду в точную угловую позицию. Поскольку RC-системы существуют десятилетиями, индустриальным стандартом интерфейса является широтно-импульсная модуляция (PWM), а не чистый цифровой протокол. Бл
Оператор generate в VHDL позволяет проектировщикам автоматически реплицировать блок кода по нескольким экземплярам, каждый из которых подключен к отдельным сигналам. Представьте его как цикл for времени компиляции, который может создавать цепочки процессов или инстанциаций модулей, резко снижая объе
Текстовые строки в VHDL обычно ограничены массивами символов фиксированной длины. Это логично, ведь VHDL описывает аппаратное обеспечение, а строки произвольной длины требуют динамической памяти. Для определения массива строк нужно выделить место на этапе компиляции под максимальное количество стро
Это руководство проведет вас через использование ядер Integrated Logic Analyzer (ILA) и Virtual Input/Output (VIO) в Xilinx Vivado для отладки и мониторинга VHDL-проектов на кристалле. К концу вы научитесь вставлять пробники, настраивать триггеры и захватывать точное поведение сигналов без внешнего
Что такое формальная верификация? При проектировании VHDL для критически важных FPGA-приложений простого написания тестбенчей недостаточно. Инженеры должны математически доказать, что модуль ведет себя именно так, как указано в спецификации, без скрытых побочных эффектов. Формальная верификация пред
VUnit — ведущий открытый фреймворк верификации VHDL, объединяющий Python test-suite runner с посвященной VHDL-библиотекой. Вместе они автоматизируют компиляцию тестбенча, выполнение и отчетность результатов, позволяя инженерам следовать циклу разработки, управляемой тестами. В этом туториале Ахмадму
Хотели ли вы когда-нибудь запустить VHDL-симуляцию, включающую IP-ядро Quartus через фреймворк верификации VUnit? Именно это имел в виду FPGA-инженер Константинос Параскевопулос, но он не смог найти подходящий туториал. К счастью, он использовал свой талант, чтобы разобраться, как это сделать, и был
В VHDL переменные ведут себя похоже на переменные C: их значение доступно сразу после присваивания и остается неизменным до следующего присваивания. Это делает их идеальными для временного хранения и процедурных вычислений внутри процесса. Ключевые правила использования переменных в VHDL Переменные
Цифровые проектировщики полагаются на точную арифметику внутри ПЛИС и ASIC. Ключевая концепция — различие между знаковыми (signed) и беззнаковыми (unsigned) типами данных в VHDL. Оба типа определены в пакете numeric_std библиотеки IEEE. Хотя многие проектировщики все еще используют std_logic_arith,
VHDL
Топ конференций по управлению активами 2020: 50 ведущих событий для передовых стратегий отслеживания и управлен…
Тестирование кабелей: основные проверки и процедуры надежности
Программа фрезеровки кармана Haas G150: пошаговый пример для квадратного кармана 5x5x0.5 мм
Распашные двери: Конструкция, история и энергосберегающие преимущества