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 записи (records) предлагают мощный способ оптимизировать ваш дизайн, подобно структурам в C. Группируя связанные сигналы в единый тип, вы можете резко сократить дублирование кода, улучшить читаемость и упростить порт-мапы по множеству сущностей. Записи блестят, когда вы работаете с большими,
Что такое процедура VHDL? Процедуры принадлежат к семейству подпрограмм в VHDL. Они инкапсулируют повторно используемую логику, уменьшая дублирование кода и улучшая поддерживаемость. Определив процедуру один раз, вы можете вызывать её из нескольких процессов или архитектур, обеспечивая согласованное
Использование пакетов Numeric_Std и Std_Logic_Arith Ниже представлены наиболее часто используемые преобразования типов в VHDL. Статья разделена на два раздела: первый демонстрирует преобразования, основанные на современном пакете numeric_std, второй — эквивалентные преобразования с использованием ус
Введение Добро пожаловать в практическое руководство, которое проведет вас через создание простого мигающего светодиода на ПЛИС с использованием VHDL или Verilog. Пример демонстрирует ключевые концепции ПЛИС: параллельные процессы, синтез частоты и логику мультиплексора — все управляемые тактом 25 М
Использование блоков Process в VHDL и Always в Verilog И в VHDL, и в Verilog блоки Process (VHDL) и Always (Verilog) являются основными конструкциями для описания поведения аппаратуры. Они используются для моделирования двух различных типов логики: Комбинационная логика — выходы зависят только от т
VHDL (Very High Speed Integrated Circuit Hardware Description Language) — один из двух основных языков описания аппаратуры, используемых для проектирования ПЛИС и ASIC. Хотя он может показаться многословным по сравнению с языками программирования, его синтаксис точен и разработан для описания цифров
VHDL