vhdl

Nios II Быстрый старт

Все популярнее становится тенденция создания устройства на одном кристалле. Да, в любой момент можно создать плату со жменей контроллеров и наладить между ними обмен (будь то spi, uart или еще что), но зачем это делать, если можно создать систему на одном кристале?! Всего одна микросхема! Как следствие простая схема и плата. Компактный размер.
ПЛИС безусловно в этом плане лидер. Но без процессора порой не обойтись. Ведь бизнес логику писать на vhdl/verilog как-то не вставляет.

VHDL Testbench с выборкой сигналов из файла

Волею судьбы занят сейчас программированием ПЛИС компании Altera семейства Cyclone IV. А тут, как известно, рано или поздно встает вопрос о моделировании.
Вы возможно скажете: "Ну так бери ModelSim и моделируй". Только одна проблема! Я ленивый...

Основы синтаксиса VHDL. Присваивание значения константе, переменной, сигналу

Первым отличием, которое встречает программист изучая VHDL является оператор присваивания. Тут, в отличии от других языков программирования, различают сигналы и переменные. Для каждого из них свой оператор присваивания:

Типы языка VHDL

ЦЕЛЫЙ ТИП

Обьекты целого типа используются для представления абстрактных
числовых значений. Тип integer является предопределенным. Добавочные
целые типы могут быть обьявлены явно заданием диапазона значений,
допустимых для обьектов данного типа. Рассмотрим несколько примеров
обьявлений целых типов.

type Apples is range 0 to 75;  -- диапазон задаётся по возврастающей
type Oranges is range 0 to 75;
type Word_index is range 31 downto 0; -- диапазон задаётся по убывающей

Почему библиотека "numeric_std" является более предпочтительной, чем "std_logic_arith" и другие

Эта статья основана на переписке по электронной почте, которую я вел с одним VHDL экспертом. Если вы просмотрите некоторые форумы о VHDL, то вы можете увидеть некоторые предложения, например, использовать "numeric_std" библиотеку вместо "std_logic_arith" и "std_logic_unsigned". Я в этом сомневался, прежде чем, (к сожалению я не знаю его фамилию) рассказал мне:

Счетчик в ПЛИС

При разработке для ПЛИС всегда есть два варианта, либо разрабатывать цифровое устройство схематически (путем составления его схемы из готовых элементов) или описание на его посредством языков вроде VHDL, Verilog.
Исключением не является и проектирование счетчиков.
Счетчики - одно из простейших цифровых устройств. Счетчики делят на суммирующие (с прямым счетом) и вычитающие (с обратным счетом). Другим не маловажным параметром является разрядность счетчика.
В данной статье речь пойдет о четырехразрядном суммирующем счетчике.

VHDL первые шаги. Секция architecture - описание архитектуры проекта

Мы уже знакомы с тем Что такое entity, теперь, когда мы уже умеем задавать входы и выходы для нашего цифрового устройства, позаботимся об описании процесса его функционирования.

Как видно из изображения архитектура это что-то вроде "внутренностей" цифрового устройства. К примеру откроем техническую документацию (так красиво обзывают datasheet) на буфер 74hc244 и перейдём в раздел Functional diagram:

Что такое VHDL

Программирование уже давно стало отдельной отраслью современной науки. Уже трудно представить электронное устройство, которое не нуждается в программной части.

Основная часть устройств реализуется с использованием микроконтроллера. Но существует огромное количество задач требующих экстремальных характеристик быстродействия, пропускной способности, энергопотребления.

Простейший сдвиговый регистр на VHDL

Довльно нужная вещь этот ваш сдвиговый регистр...

Напишем простейший вариант реализации на VHDL. Из входов у нас будет: тактирование (С, он же CLK), вход данных (serial input) и выход (serial output).

Принципиальных ограничений на разрядность нет, но мы сегодня будем стереотипными пацанами ;) сделаем 8-ми битный регистр.

Сдвиговый регистр

Будем использовать тип std_logic. Для чего будем использовать библиотеки:

Сборка логической схемы в Quartus II

Как я уже писал, заказал себе отладочную плату с EP2C5T144 на борту. Плата пришла, а вот программатор ещё к сожалению нет.

Тем временем смоделируем логическую функцию. Ну и первым делом создадим её конечно.
Quartus II позволяет создавать схему на базовых логических элементах.
Итак проект мы создали в предыдущей статье, добавим новый файл. Жмём File -- New или по обозначенной пиктограмме: