цифровая электроника
вычислительная техника
встраиваемые системы

 

Verilog. Базовый курс. Часть II

Автор: Mike(admin) от 31-01-2014, 18:16

В первой части мы создали простой проект на Verilog типа «Hello World» и рассмотрели некоторые базовые моменты. В этой части мы углубимся в дело изучения этого языка и в сам процесс проектирования на ПЛИС.


Подготовка к программированию платы


В данном случае воспользуемся платой Digilent Basys 2 с ПЛИС Xilinx Spartan 3-E FPGA.


Digilent Basys 2

Итак, о чем же нам нужно в первую очередь позаботиться? Правильно, о UCF-файле. Следует помнить, что в зависимости от модели платы выводы могут иметь различное функциональное значение, то есть могут быть «привязаны» к светодиодам, кнопкам и т.п. Перед использованием платы стоит внимательно изучить схему.


Для данной платы назначение вывода будет следующим:

Verilog. Базовый курс. Часть I

Автор: Mike(admin) от 30-01-2014, 07:20

Проектирование схем на ПЛИС представляет собой не менее увлекательное и творческое занятие, чем программирование микроконтроллеров. Поэтому ниже будут показаны основы основ проектирования на языке Verilog, которые, возможно, станут отправной точкой для новичков в этом деле.


verilog

Перед началом изучения Verilog читатель должен иметь базовые представления о булевой логике и уметь решать хотя бы простейшие логические выражения. Например, чему будет равна функция F в выражении F = (A • B), если A в лог. «1», а B в лог. «0»? Если читатель знаком с языком C/C++, то ему будет легче понимать некоторые вещи, поскольку Verilog имеет схожий синтаксис. В целом, Verilog достаточно прост в изучении, поэтому поехали…

Иерархия в VHDL-коде

Автор: Mike(admin) от 1-11-2013, 18:11

Чтобы без особых проблем разрабатывать и поддерживать проекты, их нужно структурировать. В своих проектах люди используют абстракцию вне зависимости от характера разработки — будь-то электронное устройство, программа или механическая деталь. В этой статье пойдет речь о том, как использовать иерархию в VHDL-коде.


Зачастую весь VHDL-код умещают в одном файле на одном уровне. Если бы мы, к примеру, разрабатывали печатную плату, то не стали бы размещать на ней кучу дискретных компонентов. Вместо этого мы бы взяли микроконтроллеры, микросхемы памяти и другие устройства и классифицировали бы их как «компоненты», которые должны выполнять определенные функции. В некоторых случаях мы бы использовали на плате отдельные компоненты несколько раз. Это бы существенно упростило нашу работу.


плата с микросхемами

Рисунок 1 — плата с микросхемами

Если мы сравним разработку VHDL-кода с созданием печатной платы, то мы можем думать о нем, как об одноуровневой плате с большим количеством устройств и компонентов на ней. Плата не выполняет никаких других функций, кроме соединения определенным образом всех проводов. Этот же подход можно применить к VHDL, как показано на примере ниже.

Знакомство с программируемыми логическими интегральными схемами типов FPGA и CPLD

Автор: Mike(admin) от 29-08-2013, 15:23

В первой половине 60-х годов прошлого столетия электронные устройства разрабатывались на основе дискретных компонентов. Цифровые системы были похожи на лабиринты из лапши проводов, соединяющих компоненты. Однажды собрав схему, было сложно ее переделать. Иногда разработчики забывали о том, для чего вообще они проектировали свое устройство! Изготовление таких систем было очень затруднено, а при их починки или переделке у инженеров просто закрывались глаза от ужаса. Производители микросхем решили этот вопрос путем интеграции на одном кристалле не соединенных между собой вентилей ИЛИ-И, что в итоге назвали программируемым логическим устройством (programmable logic device или PLD).

PLD содержит в себе массив соединителей (предохранителей), которые могут быть разомкнуты (разорваны) или замкнуты для подключения к вентилям различных выводов. Мы можем запрограммировать PLD с помощью булевых выражений в виде суммы произведений, и тогда микросхема будет выполнять требуемую функцию.


Назад Вперед
Наверх