Дешифратор для семисегментного индикатора

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 05.04.2020
Размер файла 3,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего образования Российской федерации

"Южный Федеральный Университет"

Институт радиотехнических систем и управления

Кафедра радиотехнических и телекоммуникационных систем

Пояснительная записка

к курсовому проекту по дисциплине:

"Программируемые логические устройства и системы на кристалле"

на тему: "Дешифратор для семисегментного индикатора"

Выполнила: Яковлева К.Ю.

Проверил: Шеболков В.В.

Таганрог 2019

Техническое задание

1. Разработать дешифратор для семисегментного индикатора в заданной САПР (Quartus || и Xilinx ISE Design Suite 14.7). Структурное описание узла. Поведенческое описание. Размещение проекта в микросхеме.

2. Произвести синтез и реализацию проекта на ПЛИС.

3. Реализовать верификацию проекта. Сравнение вариантов проекта для двух заданных САПР.

4. Продемонстрировать принципиальную электрическую схему проектируемого цифрового узла.

Содержание

Введение

1. Анализ технического задания. Описание и принцип работы проектируемого узла

2. Описание программы и проектирование дешифратора для семисегментного индикатора в Xilinx ISE Design Suite 14.7

3. Синтез проектируемого устройства на RTL-уровне описания и на основе стандартных элементов ПЛИС

4. Описание семейства ПЛИС Cyclone II в Quartus II

5. Проектирование дешифратора для семисегментного индикатора в САПР Quartus II

Заключение

Список использованных источников

  • Введение
    • Система на кристалле (СнК), однокристальная система - электронная схема, выполняющая функции целого устройства и размещенная на одной интегральной схеме.

В зависимости от назначения СнК может оперировать как цифровыми сигналами, так и аналоговыми, аналого-цифровыми, а также частотами радиодиапазона - все на одной подложке чипа. СнК широко распространены на рынке мобильной электроники из-за низкого энергопотребления. Обычно применяются в сфере встроенных систем.

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

Типичная System-on-a-Chip (SoC) содержит:

· один или несколько микроконтроллеров, микропроцессоров или ядер цифровой обработки сигналов(DSP). SoC, содержащий несколько процессоров, называют многопроцессорной системой на кристалле(MPSoC).

· банк памяти, состоящий из модулей ПЗУ, ОЗУ, ППЗУ или флеш.

· источники опорной частоты, например, кварцевые резонаторы и схемы ФАПЧ (фазовой автоподстройки частоты),

· типовые цифровые узлы: таймеры, счётчики, цепи задержки после включения,

· блоки, реализующие стандартные интерфейсы для подключения внешних устройств: USB, Fire Wire, Ethernet, USART, SPI.

· блоки цифро-аналоговых и аналого-цифровых преобразователей.

· регуляторы напряжения и стабилизаторы питания.

Рисунок 1. СнК, построенная на микропроцессоре

Одной из типичных задач при проектировании систем на кристалле является автоматизированная разработка цифровых узлов.

В курсовом проекте рассматривается технология проектирования дешифратора для семисегментного индикатора.

Для проектирования цифровых устройств на ПЛИС с применением языка HDL-языков могут использоваться различные системы автоматизированного проектирования (САПР). В настоящем курсовом проекте используется рассматривается работа систем Xilinx ISE Design Suite и Quartus II корпорации Altera. электронный дешифратор индикатор

1. Анализ технического задания. Описание и принцип работы проектируемого узла

В соответствии с техническим заданием было необходимо разработать дешифратор для семисегментного индикатора. Семисегментные индикаторы предназначены для отображения арабских цифр от 0 до 9. Дешифраторы выпускаются в виде отдельных микросхем или используются в составе более сложных микросхем. В настоящее время десятичные или восьмеричные дешифраторы используются в основном как составная часть других микросхем, таких как мультиплексоры, демультиплексоры, ПЗУ или ОЗУ.

Условно-графическое обозначение микросхемы дешифратора на принципиальных схемах приведено на рисунке 1, на этом рисунке приведено обозначение двоично-десятичного дешифратора.

Рисунок 1. Условно-графическое обозначение двоично-десятичного дешифратора

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

Для отображения десятичных и шестнадцатеричных цифр часто используется семисегментный индикатор. Изображение семисегментного индикатора и название его сегментов приведено на рисунке 2. Для изображения на таком индикаторе цифры 0 достаточно зажечь сегменты a, b, c, d, e, f. Для изображения цифры '1' зажигают сегменты b и c. Точно таким же образом можно получить изображения всех остальных десятичных или шестнадцатеричных цифр. Все комбинации таких изображений получили название семисегментного кода.

Рисунок 2. Изображение семисегментного индикатора и название его сегментов

Составим таблицу истинности дешифратора, который позволит преобразовывать двоичный код в семисегментный. Пусть сегменты зажигаются нулевым потенциалом. Тогда таблица истинности семисегментного дешифратора примет вид, приведенный в таблице 1. Конкретное значение сигналов на выходе дешифратора зависит от схемы подключения сегментов индикатора к выходу микросхемы.

Таблица 1. Таблица истинности

Входы

Символ

Выходы

8

4

2

1

a

b

c

d

e

f

g

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

1

1

1

0

0

1

1

1

1

0

0

1

0

2

0

0

1

0

0

1

0

0

0

1

1

3

0

0

0

0

1

1

0

0

1

0

0

4

1

0

0

1

1

0

0

0

1

0

1

5

0

1

0

0

1

0

0

0

1

1

0

6

0

1

0

0

0

0

0

0

1

1

1

7

0

0

0

1

1

1

1

1

0

0

0

8

0

0

0

0

0

0

0

1

0

0

1

9

0

0

0

0

1

0

0

Полученная принципиальная схема семисегментного дешифратора приведена на рисунке 3. Для облегчения понимания принципов работы схемы на выходе логических элементов "И" показаны номера строк таблицы истинности, реализуемые ими. Например, на выходе сегмента 'a' логическая единица появится только при подаче на вход комбинации двоичных сигналов 0001 (1) и 0100 (4). Это осуществляется объединением соответствующий цепей элементом "2ИЛИ". На выходе сегмента 'b' логическая единица появится только при подаче на вход комбинации двоичных сигналов 0101 (5) и 0110 (6), и так далее.

Рисунок 3. Принципиальная схема семисегментного дешифратора

В настоящее время семисегментные дешифраторы выпускаются в виде отдельных микросхем или используются в виде готовых блоков составе других микросхем. Условно-графическое обозначение микросхемы семисегментного дешифратора приведено на рисунке 4. В качестве примера семисегментных дешифраторов можно назвать такие микросхемы отечественного производства как К 176ИД 3. В современных цифровых схемах семисегментные дешифраторы обычно входят в состав больших интегральных схем.

Рисунок 4. Условно-графическое обозначение семисегментного дешифратора

2. Описание программы и проектирование дешифратора для семисегментного индикатора в Xilinx ISE Design Suite 14.7

Xilinx ISE Design Suite начиная с 4 версии по своей сути мало чем менялась. В основе оставался синтезатор XST, который "подпиливался" с выходом очередного семейства микросхем, ну и конечно же устранялись ошибки. То же самое можно отметить и об интерфейсе. Тем не менее, шли годы, ISE Design Suite становилась лучше. И имеем мы на сегодняшний день 14 версию САПР вполне даже пригодную к серьезной работе.

На рисунке 5 приведен интерфейс ISE Design. В рисунке выделены 5 основные области. Такой подход позволит качественно разобраться с назначением вкладок и разделов САПР.

Рисунок 5. Интерфейс ISE WebPACK Design Software 14.7

· Область #1 "Иерархия (Дерево проекта"). В этом окне отображается иерархия проекта. Все модули можно посмотреть именно в этом окне, каждый блок имеет собственный уникальный номер типа "XLXI_16" и наименование блока "BR_AK_4". Так же здесь отображается наименование корневого каталога, в котором хранится наш проект. Чуть ниже указан тип кристалла, для которого создан наш проект, т.е. тип ПЛИС (FPGA). Следующим в иерархии стоит верхний уровень проекта. И далее верхний уровень проекта делится на свои составные части в зависимости от сложности.

Рисунок 6. Иерархия созданного проекта

Область #2 "Процессы". Здесь располагаются основные узлы управления проектом: отчеты, заданные ограничения, процессы синтеза, трассировки кристалла и т.д. Теперь подробнее о самых основных:

Ш "Design Symmary/Reports" - основная информация о проекте. Здесь зачастую приходится контролировать ресурсы ПЛИС.

Ш "Design Utilities" - здесь расположены вспомогательные утилиты для работы в ISE. К ним относится утилита по созданию схематического образа компонента.

Ш "User Constraints" - пользовательские ограничения, то есть именно тут задают временные ограничения для глобальных тактовых линий.

Ш "Synthesize - XST" - синтезатор типа XST. Синтезирует проект для конкретно выбранного типа кристалла ПЛИС. Позволяет посмотреть "RTL" модель написанного или нарисованного блока.

Ш "Implement Design" - один из основных процессов. Транслирует, трассирует.

Ш "Generate Programming File" - генератор программного файла, т.е. то с чего конфигурируется ПЛИС.

Ш "Configure Target Device" - конфигуратор. Создает файл прошивки для флэш ПЛИС. А также отсюда запускается утилита "IMPACT" позволяющая программировать PROM и FPGA.

Ш "Analyze Design Using ChipScope" - логический анализатор по средствам интерфейса JTAG.

Рисунок 7. Окно процессов

· Область #3 "Консоль". В этом окошке отображаются все информационные рабочие процессы (системные сообщения).

· Область #4 "Общие сведения о проекте". Таблицы, отражающие информацию об используемом кристалле, версии САПР ISE, наименование проекта, количество ошибок, предупреждений и т.п. Основной таблицей этого раздела является отчет о доступных и задействованных ресурсов выбранного кристалла.

Создание шаблона проекта

Чтобы создать новый проект необходимо выбрать в файловом меню File -> New Project, откроется окно, представленное на рисунке 8.

Рисунок 8. Создание проекта "KURS_RAB"

Из рисунка видно, что предлагается заполнить 5 граф:

· "Name" - здесь указываем ЛАТИНСКИМИ буквами наименование проекта;

· "Location" - указываем место расположения будущего проекта.

Использовать только латинские символы при указании пути;

· "Working Directory" - путь к рабочей директории;

· "Description" - описание к создаваемому проекту;

· "Top - level source type" - указываем тип верхнего (топового) уровня проекта.

Он может быть написан на любом из возможных поведенческих языков описания аппаратуры, НО 90 % случаев он именно в схематическом виде. Это связано с наглядностью, удобством, то есть на созданном схематичном листе можно рисовать блоки уже описанные на Verilog.

Далее нажать кнопку "Next" и перейти в окно "Project Settings" (Задание настроек проекта) - рисунок 9.

Рисунок 9. Создание проекта в окне "Project Settings"

В этом окне выбираем семейство микросхем Xilinx (например,"Spartan6"), затем саму микросхему (например, "XC6SLX4"). Далее указываем тип корпусного исполнения для выбранной микросхемы "CSG225" и её скорость "-3". Все перечисленные величины можно найти на маркировке самой микросхемы. Ниже указан тип топового (верхнего) уровня проекта - схемотехнический. Далее нам предлагается выбрать тип синтезатора, оставляем по умолчанию. Тут же можно указать симулятор, которым вы будете пользоваться при отладке. Нажимаем кнопку "Next" и переходим в окно "Заданные настройки" (Заданные настроек проекта) см. рисунок 10.

Рисунок 10. Заданные параметры в окне "Project Summary"

В этом окне можно проверить все то, что мы указали ранее. Нажимаем кнопку "Next" и видим пустой только что созданный проект (рисунок 11).

Рисунок 11. Пустой загрузившийся проект "KURS_RAB"

Моделирование работы дешифратора

По завершению создания проекта необходимо создать выбрать способ описания проектируемого модуля проекта (ему по умолчанию будет назначен верхний уровень проекта). Для этого необходимо выбрать в файловой строке вкладку Project -> New Source… . Откроется окно, показанное на рисунке 12.

Рисунок 12. Мастер создания нового модуля

В открывшимся окне в графе "Select source type, file name and its location" необходимо выбрать вид представления описания проектируемого модуля. То есть это может быть языки формального описания аппаратуры (Verilog или VHDL) или схемотехническое представление, либо генератор стандартных функций (IP CORE). Выберем самый наглядный и простой для начинающего схемотехнический вид "Schematic". Правее в соответствующей графе указываем имя будущего описания и место его нахождения. Жмем на кнопку "Next" и переходим в окно, показанное на рисунке 13.

Рисунок 13. Общие сведения о создаваемом модуле

Проверяем введенную информацию и нажимаем "Finish", после чего откроется чистое поле схемотехнического редактора с именем "seven.sch" (рисунок 14).

Рисунок 14. Окно схематического редактора

Необходимо обратить внимание, что на месте расположения списка файлов расположено окно с несколькими вкладками (Design, Symbols, Option, Library и др). Собственно, список файлов вызывается при открытии вкладки Design, а вкладка Symbols содержит список графических компонентов, разбитых на группы.

Теперь создадим и добавим в проект новый модуль, выполненный на основе описания на языке Verilog. Для этого следует вернуться к вкладке Design, вновь вызвать из главного меню функцию Project - New Source, задать тип нового модуля (Verilog Module) и присвоить ему имя "qwerty" (рисунок 15).

Рисунок 15. Добавление в проект модуля "qwerty", представляющего собой код поведенческого описания на языке Verilog

На следующем шаге необходимо определить интерфейс (указать входные и выходные порты) создаваемого логического модуля. Далее следует нажать кнопку Next и проверить правильность введенных данных, изучив выведенный отчет. После нажатия кнопки Finish, в навигаторе проекта появится новый модуль, а в окне документов станет доступным редактирование шаблона кода его описания. Работа с редактором кода аналогична работе с любым текстовым редактором. При вводе стандартных функций и директив языка для удобства работы цвет текста автоматически изменяется. Для решения поставленной задачи необходимо вписать в шаблон в строчку с кодом (рисунок 16):

assign A=(~x8&~x4&~x2&x1)|(~x8&x4&~x2&~x1);

assign B=(~x8&x4&~x2&x1)|(~x8&x4&x2&~x1);

assign C=(~x8&~x4&x2&~x1);

assign D=(~x8&~x4&~x2&x1)|(~x8&x4&~x2&~x1)|(~x8&x4&x2&x1);

assign E=(~x8&~x4&~x2&x1)|(~x8&~x4&x2&x1)|(~x8&x4&~x2&~x1)|

(~x8&x4&~x2&x1)|(~x8&x4&x2&x1)|(x8&~x4&~x2&x1);

assign F=(~x8&~x4&~x2&x1)|(~x8&~x4&x2&~x1)|(~x8&~x4&x2&x1)|

(~x8&x4&x2&x1);

assign G=(~x8&~x4&~x2&~x1)|(~x8&~x4&~x2&x1)|(~x8&x4&x2&x1);

Рисунок 16. Редактирование кода поведенческого описания модуля

Отредактированный код поведенческого описания следует сохранить (меню File - Save). Затем следует выполнить проектную процедуру проверки синтаксиса кода.

Для этого необходимо перейти на вкладку Design, далее в иерархическом дереве в окне модулей проекта выделить название редактируемого файла "qwerty.v" и в окне Process и дважды щелкнуть на строчке вызова приложения Check Syntax (см. рисунок 17).

Рисунок 17. Вывод сообщения об успешной проверки синтаксиса кода

Если проверка синтаксиса прошла успешно, то напротив строки с кнопкой вызова приложения Check Syntax появится зеленый кружок с галочкой. После этого следует выполнить процедуру создания символьного представления разработанного логического модуля (в данном случае - модуля qwerty.v).

Для создания символьного представления модуля и включения его в принципиальную схему следует выполнить следующие действия.

· Выделить в окне исходных модулей проекта строку с названием модуля "qwerty" (qwerty.v), после чего в окне Process откроется в список процессов, доступных для данного модуля.

· Дважды щелкнуть на строке Design Utilites - Create Schematic Symbol, проверить, что в окне консоли появилось сообщение об успешном выполнении компиляции графического символа логического модуля.

· Открыть из окна модулей процесса документ с принципиальной схемой проекта, раскрыть закладку Symbol и убедиться, что в списке библиотечных элементов проекта в категории "…<= All symbols =>" появился модуль "qwerty".

3. Синтез проектируемого устройства на RTL-уровне описания и на основе стандартных элементов ПЛИС

Контекстное окно Processes содержит список всех проектных процедур, доступных пользователю ISE в зависимости от выделенного модуля проекта. В общем случае процесс проектирования в среде ISE заканчивается выполнением процедур трансляции главного файла проекта.

Трансляция проекта включает три основных этапа:

· Synthesize (синтез устройства),;

· Implement Design (размещение устройства в выбранной микросхеме ПЛИС с использованием ее ресурсов);

· Generate Programming File (создание бинарного файла для выполнения процедуры прошивки конфигурации разработанного устройства в ПЛИС).

Рисунок 18. Пример списка процедур трансляции для модуля seven.sch

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

Рисунок 19. Пример результата выполнения процедуры Synthesize -XST - View RTL Schematic. Проектируемое устройство представлено в виде модуля верхнего уровня с интерфейсными портами.

Используя процедуру Synthesize -XST - View Technology Schematic, можно проследить, как транслятор ISE распорядился ресурсами микросхемы, т.е. проконтролировать, как устройство собрано из стандартных элементов, содержащихся в данной микросхеме ПЛИС. Пример приведен на рисунке 21.

Рисунок 20. Пример результата выполнения процедуры Synthesize -XST - View RTL Schematic на нижнем уровне иерархии.

Рисунок 21. Пример результата выполнения процедуры Synthesize -XST - View Technology Schematic .

Функциональное моделирование

Функциональное моделирование проекта является важным шагом в маршруте его разработки. Термин функциональное моделирование означает - программную симуляцию поведения виртуальной модели устройства при воздействии тестовых входных сигналов. САПР ISE также имеет встроенные средства моделирования - утилиту iSim. Это HDL- симулятор, который встроен в среду XILINX ISE. Он позволяет нам произвести функциональное и временное моделирование для языков VHDL, Verilog и смешанных конструкций этих языков.

При моделировании используется подход, основанный на создании и применении специальной моделирующей программы - "испытательного стенда" (TestBench), к которому подключается моделируемое устройство (UUT, Unit Under Test). TestBench представляет собой внешний модуль, в котором описываются тестовые воздействия, а UUT входит в этот модуль на правах компонента или модуля более низкого уровня иерархии.

TestBench может быть реализован на одном из HDL-языков. В САПР ISE для описания TestBench могут применяться либо Verilog, либо VHDL. Чтобы в проект добавить тестовый модуль необходимо ввести в главном меню команду Project|New Source…и в открывшемся диалоговом окне выбрать из списка тип вновь создаваемого модуля: Verilog Test Fixture (либо VHDL Test Bench).

Рисунок 22. Окно для создания модуля TestBench

При добавлении тестового файла в проект САПР ISE также запрашивает ассоциирование этого файла с одним из имеющихся модулей. Этот запрос необходим, чтобы сгенерировать шаблон теста испытательного стенда с автоматической привязкой к портам тестируемого модуля.

Рисунок 23. Привязка модуля описания тестовых воздействий к синтезируемому модулю проекта

При поведенческом описании тестового модуля необходимо строго придерживаться правил написания кодов на языке Verilog. Обратите внимание на то, что в созданном шаблоне имена портов модуля верхнего уровня совпадают с именами портов подключаемого компонента - модуля тестируемого устройства UUT. Такое совпадение допустимо и не является ошибкой, поскольку имена сигналов внутреннего модуля могут быть произвольными и не должны влиять на работу внешнего модуля. После внесения изменений необходимо выполнить синтаксический контроль модуля seven_seven_sch_tb. Для этого в окне Design необходимо указать на флаг Simulation, в дереве иерархии модулей указать на seven_seven_sch_tb (TB.v), а в окне процессов двойным щелчком мыши включить режим Behavioral Check Syntax (рисунок 24).

Рисунок 24. Синтаксический контроль TB

После проведения синтаксического контроля можно перейти к моделированию работы созданного модуля. Для этого достаточно дважды щелкнуть по окне процессов по строке Simulation Behavioral Model (рисунок 24). В результате начнет работать программа моделирования iSim и по завершении теста откроется основное окно программы, содержащее: главное меню, палитру инструментов, окно имен классов и процессов проекта (Instance and Process Name), окно объектов моделирования (Object Name) и окно временной диаграммы с результатами моделирования.

Рисунок 25. Окно моделирования

4. Описание семейства ПЛИС Cyclone II в Quartus II

Семейство ПЛИС Cyclone II построено на основе оптимизированной полностью медной технологии 1.5В SRAM, и предлагает полную функциональность за половину цены конкурирующих устройств FPGA. С логической емкостью до 20'060 логических элементов (LE) и ОЗУ 288 Кбит, устройства Cyclone могут объединять в себе множество сложных функций. Устройства Cyclone содержат несколько полнофункциональных систем ФАПЧ (PLL), предназначенных для управления сетью тактовых сигналов и выделенных интерфейсов ввода/вывода, для работы с внешней памятью.

Таблица 2. Сравнительные характеристики семейств Cyclone

Семейство

Cyclone I

Cyclone II

Cyclone III

Количество логических элементов

до 20 тысяч

до 60 тысяч

до 120 тысяч

Число бит памяти

294 912

1 152 000

3 981 312

Встроенные умножители

-

до 150

до 576

ФАПЧ

до 2

до 4

до 4

Питание ядра

1.5 В

1.2 В

1.2 В

Тактовая частота

200 МГц

260 МГц

260 МГц

Технологический процесс

130 нм

90 нм

65 нм

Рекомендуется для новых разработок

Нет

Да

Да

Анонсировано

2002г.

2004г.

2007г.

Производительности этих СБИС вполне достаточно для реализации поставленной задачи. Если сравнивать производительность наилучшей модели первого поколения Cyclone и младшую модель второго поколения, то стоимость младшей модели Cyclone II будет значительно ниже. Разработка банка цифровых фильтров будет основана на ПЛИС фирмы Altera семейства Cyclone II. Семейство Cyclone II - второе поколение дешевых FPGA фирмы Altera. Они на 30% дешевле и в три раза более емкие, чем микросхемы первого поколения. Данные ПЛИС выпускаются на 300-мм пластинах по 90-нм технологическому процессу (в то время как Cyclone - по технологии 130 нм) с напряжением питания ядра 1.2В. Cyclone II имеют также и больше функциональности, в том числе, встроенные умножители, поддержку большего числа стандартов ввода/вывода, интерфейсов с новыми устройствами памяти. Они содержат до 68 тысяч логических элементов, до 622 пользовательских линий ввода/вывода и до 1.1 Мбит встроенной памяти в различных конфигурациях, включая двухпортовые и однопортовые RAM, ROM и FIFO. Особенностью семейства Cyclone II является наличие встроенных умножителей 18х 18, каждый из которых может использоваться как два умножителя 9х 9. Блоки ввода/вывода микросхем Cyclone II поддерживают различные стандарты, в том числе и дифференциальные. Для семейства Cyclone II оптимизировано уже более 40 IP-компонент от Altera.

5. Проектирование дешифратора для семисегментного индикатора в САПР Quartus II

САПР Quartus II - полная мультиплатформенная среда проектирования цифровых систем на программируемых логических интегральных схемах (ПЛИС), которую можно адаптировать для конкретной задачи проектирования. САПР Quartus II включает в себя необходимые программные средства для всех фаз проектирования цифровых систем на ПЛИС с FPGA и CPLD структурами. Технология проектирования цифровых устройств на ПЛИС в САПР включает следующие основные технологические операции:

· выбор типа FPGA микросхемы.

· ввод информации о проекте.

· синтез схемы проектируемого устройства.

· верификация проекта.

· размещение проекта в теле ПЛИС.

· программирование ПЛИС.

Под термином "проект" в САПР Quartus понимается набор файлов, связанных с проектируемым модулем, в котором можно выделить две группы файлов: логические файлы, описывающие алгоритм работы устройства и вспомогательные файлы.

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

Имя проекта должно совпадать с именем модуля верхнего уровня в иерархии описаний, а, следовательно, и именем логического файла, в котором хранится его описание. Имена модулей нижних уровней иерархии, в свою очередь, должны совпадать с именами файлов, в которых они описаны.

Логический файл - это файл одного из следующих типов.

Ш Block Design File (.bdf). Файл содержит блок-схему устройства, созданную в рамках пакета Quartus II;

Ш Graphic Design File (.gdf). Файл содержит принципиальную электрическую схему, созданную в рамках пакета Quartus II;

Ш AHDL Text Design File (.tdf). Файл содержит текстовое описание модуля на языке AlteraHDL;

Ш Waveform Design File (.wdf).Файл содержит временные диаграммы входных и выходных сигналов, созданные в рамках пакета Quartus II;

Ш VHDL Design File (.vhd). Файл содержит текстовое описание модуля на языке VHDL;

Ш Verilog Design File (.v). Файл содержит текстовое описание модуля на языке Verilog HDL;

Ш Xilinx Netlist Format File (.xnf). Файл содержит описание модуля, полученное в рамках пакета фирмы Xilinx.

Вспомогательные файлы хранят дополнительную информацию о проекте. Их имена совпадают с именем проекта. В качестве средства описания проекта будем использовать язык Verilog HDL.

Создание шаблона проекта

Шаблон нового проекта в САПР QUARTUS || можно создать с использованием встроенного мастера создания проекта (New Project Wizard). Последовательность создания нового проекта:

1) На жестком диске создается папка для размещения всех файлов проекта, назовём "KURS_RAB".

2) В меню File выберем команду New Project Wizard. Вследствие этого открывается информационное окно New Project Wizard.

3) Для перехода к первому шагу создания нового проекта следует нажать клавишу Next и в открывшемся окне необходимо указать:

· в верхнем поле - имя ранее подготовленной пустой папки "KURS_RAB" и путь к ней;

· в среднем поле - имя проекта (удобно чтобы оно совпадало с именем папки; в которой размещаются файлы проекта);

· в нижнем поле - имя головного файла проекта.

Рисунок 26. Создание проекта "KURS_RAB"

4) Для перехода ко второму шагу создания проекта следует нажать кнопку Next, после чего откроется окно, предназначенное для добавления к проекту и удаления из него каких-либо файлов и библиотек. Пропускаем этот шаг и переходим к следующему этапу, нажав кнопку Next, вследствие чего откроется окно, показанное на рисунке 27.

Рисунок 27. Выбор семейства и типа ПЛИС

В этом окне указываем семейство и тип ПЛИС, на которой будет реализовываться проект: микросхема EP2C5F256C6 семейства Cyclon II. Следующее окно для подключения к проекту других программных средства EDA можно пропустить этот шаг и перейти к окну (рисунок 28), которое отображает основные характеристики проекта.

Рисунок 28. Основные характеристики проекта

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

Рисунок 29. Основное окно Quartus

Теперь в шаблон проекта нужно добавить в него файлы, описывающие логику проекта. В соответствии с техническим заданием необходимо спроектировать дешифратор для семисегментного индикатора. Для проектирования используем язык Verilog HDL. В главном меню выбираем команду File|New и указываем тип файла Verilog HDL. Quartus откроет окно текстового редактора, в которое введем текст программы на языке VHDL, используя структурный способ описания проектируемого устройства.

module seven11(//имя модуля

input x1,x2,x4,x8, //входной порт

output A,B,C,D,E,F,G //выходной порт

);

Assign A=(~x8&~x4&~x2&x1)|(~x8&x4&~x2&~x1)|(x8&~x4&x2&x1)|

(x8&x4&~x2&x1);

Assign B=(~x8&x4&~x2&x1)|(~x8&x4&x2&~x1)|(x8&~x4&x2&x1)|

(x8&x4&~x2&~x1)|(x8&x4&x2&~x1)|(x8&x4&x2&x1);

Assign C=(~x8&~x4&x2&~x1)|(x8&x4&~x2&~x1)|(x8&x4&x2&~x1)|

(x8&x4&x2&x1);

Assign D=(~x8&~x4&~x2&x1)|(~x8&x4&~x2&~x1)|(~x8&x4&x2&x1)|

(x8&~x4&x2&~x1)|(x8&x4&x2&x1);

Assign E=(~x8&~x4&~x2&x1)|(~x8&~x4&x2&x1)|(~x8&x4&~x2&~x1)|

(~x8&x4&~x2&x1)|(~x8&x4&x2&x1)|(x8&~x4&~x2&x1);

Assign F=(~x8&~x4&~x2&x1)|(~x8&~x4&x2&~x1)|(~x8&~x4&x2&x1)|

(~x8&x4&x2&x1)|(x8&x4&~x2&x1);

Assign G=(~x8&~x4&~x2&~x1)|(~x8&~x4&~x2&x1)|(~x8&x4&x2&x1)|

(x8&x4&~x2&~x1);

endmodule //конец модуля

Рисунок 30. Текст программы на языке Verilog

После набора текста программы его нужно его сохранить в каком-нибудь файле (команда File|Save As). По умолчанию задается имя файла seven11.vhd. Имя файла должно обязательно совпадать с именем интерфейсной части модуля (в данном случае seven).

Командой Project|Set As Top Level Entity назначаем модулю seven верхний уровень иерархии проекта. Теперь переходим к компиляции проекта. Для пробной компиляции можно воспользоваться командой Ctrl+K, для полной Ctrl+L. После успешной компиляции переходим к верификации проекта.

Рисунок 31. Выполнение полной компиляции

Рисунок 32. Реализация проекта в теле ПЛИС на RTL-уровнt

Моделирование работы дешифратора

Первым этапом верификации работы созданного модуля проекта является моделирование его работы, в процессе которого проверяется логика работы устройства и временные соотношения между сигналами. Для моделирования работы модуля необходимо создать файл временных диаграмм (команда File|New|Vector Waveform File (рисунок 33).

Рисунок 33. Создание временных диаграмм

В открывшемся окне редактора временных диаграмм (рисунок 34) щелкнуть правой кнопкой мыши по левому полю окна редактора временных диаграмм, затем во всплывающем меню выполнить команду Insert|Insert Node or Bus, затем в открывшемся окне Insert Node or Bus (рисунок 34) нажать кнопку Node Finder, вследствие чего открывается одноименное диалоговое окно (рисунок 35).

Рисунок 34.

Рисунок 35.

Нажмем кнопку List, вследствие чего в поле Nodes Found появится список доступных сигналов в узлах схемы проектируемого устройства. Из этого списка выделить, те сигналы, которые необходимы для верификации. Выделенные сигналы необходимо перенести в окно Selected Nodes. Для переноса выделенных сигналов можно воспользоваться кнопками с символами: >, ", <, ". Эти символы указывают направление переноса сигналов. Щелкнем левой кнопкой мыши по полю окна Nodes Found, а затем нажмем кнопку ", все сигналы окажутся перенесенными в окно Selected Nodes (рисунок 36). Нажмем кнопку OK, откроется окно окна редактора временных диаграмм, в котором появились названия выбранных сигналов и временные оси для их редактирования (рисунок 37).

Рисунок 36.

Рисунок 37. Окна редактора временных диаграмм

Сохраним этот файл под именем diagramm.vwf и выполним моделирование работы модуля. Для проведения моделирования необходимо ввести команду Processing|Start Simulation (Ctrl+I). Результаты моделирования показаны на рисунке 38,39.

Рисунок 38. Функциональное моделирование

Рисунок 39. Временное моделирование

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

Рисунок 40. Реализация проекта в теле ПЛИС на технологическом уровне

Заключение

Таким образом, требования технического задания на проектирование выполнены в полном объеме. Проектируемый дешифратор для семисегментного индикатора может быть реализован на микросхеме EP2C5F256C6 семейства Cyclon II в среде Quartus II и на микросхеме XC6SLX4 в среде Xilinx ISE Design Suite 14.7. Среда Quartus II весьма удобна для реализации проектов цифровых устройств среднего уровня сложности. Среда Xilinx ISE Design Suite 14.7 подходит для реализации проектов более сложного уровня. В то время, в среде Quartus II разрешено производить функциональное моделирование на основе кода, а в среде Xilinx ISE создаем для начала символьное представление модуля с разрешением ".v", потом создаем и соединяем все элементы на схеме, и только лишь после всех произведенных шагов разрешено переходить у функциональному моделированию.

Список использованных источников

1. Бибило П.Н. Синтез логических схем с использованием языка VHDL. М.: Солон-Р, 2002.

2. Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL. - СПб.: БХВ-Петербург. 2003.

3. Зотов В.Ю. Проектирование цифровых устройств на основе ПЛИС фирмы XILINX в САПР WebPACK ISE. - М.: Горячая линия-Телеком. 2003.

4. Стешенко В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов. - М.: ДОДЭКА. 2000.

5. Кнышев Д.А., Кузелин М.О. ПЛИС фирмы XILINX: описание структуры основных семейств. - М.: ДОДЭКА. 2001.

6. Угрюмов Е.П. Цифровая схемотехника. - СПб.: БХВ-Петербург. 2001.

7. Гурин Е.И. Программируемые логические интегральные схемы. - Пенза: Изд-во ПГУ. 2003.

8. Бродин В., Калинин А. Учебные классы микропроцессорной техники и ПЛИС. // Chep News. - 2000. - .№ 10.

9. Тарасов И.Е., Потехин И.Е. Разработка систем цифровой обработки сигналов на базе ПЛИС. М.: Горячая линия - Телеком, 2007. - 248 с.

10. http://www.mentor.com

11. http://www.cadence.com/us/pages/default.aspx

12. http://www.synopsys.com/home.aspx

Размещено на Allbest.ru

...

Подобные документы

  • Проектирование цифрового устройства преобразующего входные комбинации двоичного кода в управляющие сигналы семисегментного индикатора с помощью метода карт Карно. Построение прибора в программе "Electronics Workbench 5.12" на элементах "И", "ИЛИ", "НЕ".

    курсовая работа [1,1 M], добавлен 21.02.2016

  • Основные способы реализации преобразователей кодов. Структурная схема преобразователя двоичного кода, описание работы ее составных элементов: DIP-переключателей, семисегментного индикатора с дешифратором. Основы моделирования схемы в среде Quartus II.

    контрольная работа [414,9 K], добавлен 31.07.2010

  • Разработка схемы преобразователя двоичного кода в код индикатора, ее реализация на базе простых логических элементов и с использованием комбинационных устройств. Получение совершенной дизъюнктивной нормальной формы, основные методы ее минимизации.

    курсовая работа [1,5 M], добавлен 28.12.2012

  • Разработка блока динамической индикации для тринадцатиразрядного светодиодного семисегментного индикатора с общим анодом. Хранение отображаемой информации (тринадцать цифр). Элементная база для разработки устройства. Разработка принципиальной схемы.

    реферат [679,6 K], добавлен 30.06.2014

  • Знакомство с особенностями выбора элементарной базы проектируемого цифрового устройства. Общая характеристика схемы дешифратора старшего разряда индикатора. Рассмотрение основных способов определения функций возбуждения триггера каждого разряда.

    контрольная работа [509,8 K], добавлен 27.04.2014

  • Разработка структурной схемы устройства. Принцип работы его блоков: источника напряжения, цифрового программируемого устройства, семисегментного дисплея, датчиков давления и температуры. Разработка алгоритма работы управляющей программы, ее блок-схема.

    курсовая работа [2,5 M], добавлен 23.06.2015

  • Формализация постановка и решение задачи разработки проектируемого устройства. Технические характеристики прибора для индикации уровня жидкости. Расчет и метрологическое обоснование параметров. Структурная и принципиальная схема, описание устройства.

    курсовая работа [169,9 K], добавлен 17.09.2014

  • Описание дешифратора и структурная схема устройства. Расчет потребляемой мощности и времени задержки. Описание мультиплексора и структурная схема коммутатора параллельных кодов. Устройство параллельного ввода слов в регистры. Ждущий мультивибратор.

    курсовая работа [2,3 M], добавлен 27.04.2015

  • Описание Автоматического Определителя Номера (АОНа). Характеристики микроконтроллера Z86E0812PSC, ЖК индикатора PANAPHONE. Ассемблирование и разработка алгоритма работы устройства. Управление АОН и описание функциональных узлов МПС, принципиальная схема.

    курсовая работа [913,0 K], добавлен 26.12.2009

  • Аналитический обзор средств отображения информации. Назначение, функции и описание структурной схемы многофункционального цветного индикатора. Проектирование печатной платы и конструкции модуля графического. Расчет вибропрочности и надежности платы.

    дипломная работа [893,8 K], добавлен 24.09.2012

  • Разработка аппаратных и программных средств для реализации цифрового термометра. Выбор способа измерения температуры. Функциональные возможности преобразователя DS18B20. Возможность использования LCD дисплея без подсветки и семисегментного индикатора.

    курсовая работа [2,2 M], добавлен 15.01.2013

  • Основные сведения о декодере. Принцип работы дешифратора. Двоичные логические операции с цифровыми сигналами. Способ увеличения количества выходов дешифратора. Проектирование электрической схемы для реализации дешифратора. Изготовление печатной платы.

    дипломная работа [1015,7 K], добавлен 29.12.2014

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

    курсовая работа [403,8 K], добавлен 28.10.2011

  • Описание внешних сигналов микропроцессора, генератора, контроллера. Изучение назначения, направления распространения и результата действия сигналов. Организация дешифрации микросхем памяти и порта. Обзор программы преобразования двоичного кода индикатора.

    курсовая работа [362,3 K], добавлен 22.02.2014

  • Краткий обзор теории проектирования цифровых устройств. Описание используемых микросхем: назначение и основные параметры. Восьмиразрядный управляемый по фронту регистр с параллельным вводом-выводом данных. Дешифратор возбуждения одноразрядного индикатора.

    курсовая работа [1,7 M], добавлен 15.12.2013

  • Разработка и расчет синхронного суммирующего восьмиразрядного счетчика на основе JK-триггера. Моделирование схемы в программе Electronic Work Bench. Дешифрирование входных сигналов. Характеристики цифро-буквенного индикатора АЛС314А и дешифратора 514ИД4А.

    дипломная работа [339,4 K], добавлен 13.04.2014

  • Дешифратор - комбинационные схемы с несколькими входами и выходами, преобразующие код, подаваемый на входы в сигнал на одном из выходов. Описание функционирования дешифратора с помощью системы конъюнкций. Характеристика микросхем преобразователей кодов.

    реферат [3,2 M], добавлен 09.12.2010

  • Приближенный расчёт электрических параметров двухвходовой КМОП-схемы дешифратора. Определение значений компонентов топологического чертежа схемы. Проведение схемотехнического анализа с помощью программы T-Spice, с соблюдением заданных технических условий.

    курсовая работа [352,7 K], добавлен 01.07.2013

  • Разработка структурной, функциональной и принципиальной схемы тахометра. Выбор генератора тактовых импульсов, индикаторов и микросхем для счетного устройства. Принцип действия индикатора. Описание работы тахометра. Расчет потребляемой тахометром мощности.

    курсовая работа [322,3 K], добавлен 30.03.2012

  • Устройство и принцип работы лампы бегущей волны (ЛБВ). Расчет ее электрических и геометрических параметров по схеме. Общий принцип работы ЛБВ, описание технологических процессов и алгоритм проведения расчетов при изготовлении коллекторного узла лампы.

    курсовая работа [1,9 M], добавлен 05.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.