Uploaded by Роман Дэйн

МИКРОПРОЦЕССОРНАЯ СИСТЕМА СБОРА И АНАЛИЗА ДАННЫХ НА ПЛИС

advertisement
«Санкт-Петербургский государственный электротехнический университет
«ЛЭТИ» им. В.И.Ульянова (Ленина)»
(СПбГЭТУ «ЛЭТИ»)
11.03.02 – Инфокоммуникационные тех-
Направление
нологии и системы связи
Профиль
Мобильные системы связи
Факультет
РТ
Кафедра
РЭС
К защите допустить
Зав. кафедрой
Малышев В.Н.
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
БАКАЛАВРА
Тема: МИКРОПРОЦЕССОРНАЯ СИСТЕМА СБОРА И АНАЛИЗА
ДАННЫХ НА ПЛИС
Студентка
Аксютик П.Г.
подпись
Руководитель
Консультанты
Гайваронский Д.В.
доцент, к.т.н.
(Уч. степень, уч. звание)
подпись
Семенов В.П.
профессор, д.э.н.
(Уч. степень, уч. звание)
подпись
Санкт-Петербург
2018
ЗАДАНИЕ
НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ
Утверждаю
Зав. кафедрой РЭС
____________ Малышев В.Н.
«___»______________20___ г.
Студентка
Аксютик П.Г.
Группа 4181
Тема работы: Микропроцессорная система сбора и анализа данных на
ПЛИС
Место выполнения ВКР: кафедра РС
Исходные данные (технические требования):
Микропроцессор 8085, ПЛИС фирмы Altera Cyclone IV E
Содержание ВКР:
Описание микропроцессора 8085, Характеристики и основные функции
ПЛИС, Создание простых программ на языке описания аппаратуры Verilog,
проектирование микропроцессорной системы на основе языка Verilog
Перечень отчетных материалов: пояснительная записка, иллюстративный
материал, приложения
Дополнительные разделы: Обеспечение качества разработки продукции
(каф. МСК)
Дата выдачи задания
Дата представления ВКР к защите
«___»______________20___ г.
«___»______________20___ г.
Студентка
Руководитель
Аксютик П.Г.
Гайваронский Д.В.
доцент, к.т.н.
(Уч. степень, уч. звание)
2
КАЛЕНДАРНЫЙ ПЛАН ВЫПОЛНЕНИЯ
ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЫ
Утверждаю
Зав. кафедрой РЭС
____________ Малышев В.Н.
«___»______________20___ г.
Студентка
Аксютик П.Г.
Группа 4181
Тема работы: Микропроцессорная система сбора и анализа данных на ПЛИС
№
п/п
Наименование работ
Срок выполнения
1
Обзор литературы по теме работы
01.10 – 29.12
2
3
4
5
6
7
Описание микропроцессора серии 8085
ПЛИС
Язык программирования Verilog HDL
Описание микропроцессорной системы
Обеспечение качества программного продукта
Оформление пояснительной записки и приложения
10.01 – 01.02
02.02 – 14.02
15.02 – 25.03
26.03 – 15.05
16.05 – 20.05
03.05 – 28.05
Студентка
Руководитель
Аксютик П.Г.
Гайваронский Д.В.
доцент, к.т.н.
(Уч. степень, уч. звание)
3
РЕФЕРАТ
Выпускная квалифицированная работа содержит: 83 страницы, 47 рисунков, 7 таблиц, 8 приложений.
Ключевые слова: Микропроцессор 8085, программируемая логическая
интегральная схема, микропроцессорная система, квитирование
Целью выпускной квалифицированной работы является разработка
программно-аппаратного комплекса для изучения современных методов проектирования программируемых логических интегральных схем (ПЛИС).
С использованием языка описания аппаратуры Verilog HDL разработана микропроцессорная система сбора и анализа данных на базе микропроцессора семейства INTEL 8085.
Разработанный комплекс был отлажен в среде QuartusII для программирования в ПЛИС Cyclone IV фирмы Altera
4
ABSTRACT
The purpose of the work is a development of a hardware and software complex for for studing of FPGA design methods.
The microprocessor data analysis system is developed on the basis of the
INTEL 8085 family microprocessor using the Verilog HDL hardware description
language.
5
Содержание
Введение .........................................................................................................................................7
Техническое задание .....................................................................................................................8
1 ОПИСАНИЕ МИКРОПРОЦЕССОРА СЕРИИ 8085 ............................................................. 10
1.1 История создания первого микропроцессора .....................................................................10
1.2 8-разрядный микропроцессор серии 8085...........................................................................12
1.3 Архитектура фон Неймана ...................................................................................................14
1.4 Гарвардская архитектура ......................................................................................................15
1.5 Модифицированная гарвардская архитектура ...................................................................16
1.6 RISC и CISC процессоры ......................................................................................................16
1.7 Сигналы МП........................................................................................................................... 18
1.8 Особенности работы МП 8085 ............................................................................................. 19
1.9 Распределение адресного пространства подсистемы памяти МП-системы ....................21
1.10 Формат команд микропроцессора 8085.............................................................................22
1.11 Регистр флагов .....................................................................................................................23
Вывод ............................................................................................................................................24
2. ОСНОВНЫЕ ХАРАКТЕРИСТИКИ И ФЕНКЦИИ ПЛИС .................................................26
2.1 История развития ПЛИС ......................................................................................................26
2.2 Классификация ПЛИС ..........................................................................................................26
2.3 Cyclone IV фирмы ALTERA .................................................................................................30
Вывод ............................................................................................................................................33
3. ЯЗЫК ПРОГРАММИРОВАНИЯ VERILOG HDL ............................................................... 34
3.1 Операторы Verilog .................................................................................................................34
3.2 Представление чисел .............................................................................................................35
3.3 Логические уровни сигналов и переменных .......................................................................35
3.5 Пример применения языка Verilog ......................................................................................36
Вывод ............................................................................................................................................45
4. ОПИСАНИЕ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ ........................................................46
4.1 Проект на основе микропроцессора 8085 ...........................................................................46
4.2 Операции в модуле АЛУ ......................................................................................................52
4.3 Ввод и вывод данных без квитирования .............................................................................54
4.4 Ввод-вывод данных с квитированием .................................................................................56
Выводы .........................................................................................................................................61
5. ОБЕСПЕЧЕНИЕ КАЧЕСТВА ПРОГРАММНОГО ПРОДУКТА .......................................63
5.1 Операционные определения характеристик качества .......................................................67
Выводы .........................................................................................................................................70
Заключение...................................................................................................................................71
Список используемой литературы ............................................................................................. 72
ПРИЛОЖЕНИЕ А ОПЕРАТОРЫ И ИХ ПРИОРИТЕТ В ЯЗЫКЕ VERILOG.......................74
ПРИЛОЖЕНИЕ Б ПРЕДСТАВЛЕНИЕ ОПЕРАЦИИ КОНЪЮНКИИ ..................................75
ПРИЛОЖЕНИЕ В БЛОЧНЫЙ ВИД МУЛЬТИПЛЕКСОРА 2 В 1 .........................................76
ПРИЛОЖЕНИЕ Г АСИНХРОННЫЙ D-ТРИГГЕРА............................................................... 77
ПРИЛОЖЕНИЕ Д ВЫВОД ОДНОРАЗРЯДНОГО ЧИСЛА НА ДИСПЛЕЙ ........................78
ПРИЛОЖЕНИЕ Е АСИНХРОННЫЙ 4-РАЗРЯДНЫЙ СЧЕТЧИК ........................................79
ПРИЛОЖЕНИЕ Ж СЕКУНДОМЕР .......................................................................................... 80
ПРИЛОЖЕНИЕ З ТАЙМЕР И ЕГО БЛОК-СХЕМА ............................................................... 83
6
Введение
Программируемые логические интегральные схемы (ПЛИС) появились
более 20 лет назад и представляют собой электронный компонент для создания
цифровых интегральных схем. По сравнению с обычными цифровыми микросхемами логика работы ПЛИС не определяется при изготовлении, а задается посредством программирования.
ПЛИС отличается от микроконтроллеров тем, что интегральная схема
дает возможность реализовать свой собственный контроллер с собственными
функциями. Помимо вышеуказанного достоинства ПЛИС обеспечивают
большую гибкость и быструю работу, чем микроконтроллеры, так как гарантируют аппаратную реализацию требуемых функций. Однако микроконтроллеры больше функциональных возможностей, ограничиваемые исключительно объемом памяти.
В первой главе рассматриваются основные теоретические сведения о
микропроцессоре 8085. Подробно описаны две основных архитектуры построения микропроцессорной системы, особенности сигналов, применяемых
в ней, а также порядок распределения адресного пространства.
Во второй главе описаны главные функции и основные характеристики
ПЛИС, используемой в выпускной квалифицированной работе.
Третья глава посвящена небольшим программам, использующие простые операции для наглядного понимания работы логической схемы, а также
описан интерфейс программы, в которой был создан проект.
В четвертой главе подробно рассматривается каждый элемент проекта,
все его логические связи и приведены примеры временных диаграмм итоговых результатов для двух методов ввода и вывода информации.
7
Техническое задание
Используя ПЛИС фирмы Altera создать проект, реализующий микропроцессорную систему 8085.
Рис. 1 Техшинная архитектура МП-системы [1]
Название такой архитектуры произошло от структуры МП-системы, в
состав которой вошли шины данных, адреса и управления. В английской литературе часто упоминаются такие названия как Control Bus, Data Bus и
Address Bus. Помимо всего этого такая архитектура включает в свой состав
центральное процессорное устройство, в которое уже входят шинные драйверы, однокристальные МП, регистры адреса. Именно данное устройство
управляет чтением и выбором команд из памяти МП и передачей ее в МПсистему.
CPU (Central processing Units) – центральный процессор, включающий
однокристальный МП, адресные регистры, приемопередатчики и другие
вспомогательные ИС. Главная функция CPU – чтение команд из памяти МП
и передача данных в МП-системе.
АВ (Address Bus) – шина адреса является однонаправленной и используется центральным процессором для передачи адреса ячейки в память, при
выборе конкретного входного и выходного порта. Шина адреса может быть
8-ми, 12-ти, 16-ти, 20-ти или более разрядной. Количество бит в адресной
шине определяет минимальное количество байтов данных в памяти, к которым можно получить доступ. Например, 16-ти разрядная адресная шина мо8
жет обращаться к 216-ти байтам данных. Обычно она обозначается как
А0…Аn-1, где n – ширина битов адресной шины.
DB (Data Bus) – шина данных в отличие от шины адреса является двунаправленной, т.е. поток данных может передаваться как к ЦП так и от ЦП и
периферийных устройств. Существуют раздельно внутренняя и внешняя
шины данных. Внутренняя в отличие от внешней не соединена с входом/выходом и памятью. Именно шириной шины данных и характеризуется
МП. Размер внутренней шины данных определяет наибольшее число, которое может быть обработано микропроцессором. Шина обозначается как
D0…Dn-1, где n – ширина шины данных в битах.
CB (Control Bus) – шина управления содержит ряд отдельных линий
передачи, несущих сигнал синхронизации, который передается в память,
порты ввода/вывода и другие периферийные устройства для обеспечения
корректной работы. Данная шина осуществляет контроль сигналов, таких
как чтение и запись в память, чтение входного порта и запись в выходной
порт, удержание, прерывание и др., например, если требуется прочитать содержимое ячейки памяти, сперва ЦП отправляет адрес данной ячейки по
шине адреса и сигнал “Memory Read” по шине управления. Память отвечает
выводом данных, хранящихся в адресной памяти шины данных.
ROM (Read only memory) – память, используемая только для чтения.
RAM (Random access memory) – оперативное запоминающее устройство.
I/O (input/output) – многофункциональное устройство ввода/вывода, работающее как исключительно устройство ввода (I/O-2) или устройство вывода
(I/O-3).
9
1 ОПИСАНИЕ МИКРОПРОЦЕССОРА СЕРИИ 8085
1.1 История создания первого микропроцессора
Первое упоминание про интегральную схему (ИС) приходится на 1959
год. Тогда технологии не были так хорошо развиты, поэтому ИС представляла собой набор транзисторов, соединенных между собой без единого проводника, которые расположились на одной подложке кристалла. Первый огромный прорыв в создании первой ИС был представлен компанией Texas Instruments. Но уже спустя 9 лет, в 1968 году Роберт Нойс, Энди Гроув и Гордон
Мур решили объединить свои усилия и создали известную сейчас на весь
мир компанию INTEL, с которой и начинается история создания первого
микропроцессора. Первый крупный заказ для данной фирмы поступил от
японского инженера Масатоси Сима, которому было необходимо приобрести
набор ИС для калькуляторов. Так как данный заказ был достаточно объемным и сложным, Марсиан Хофф, специалист компании INTEL, выдвинул
свой проект, в котором он предложил использовать 4-разрядный универсальный микропроцессор для различных вычислительных операций. С того момента и был разработан первый микропроцессор компании INTEL, вступивший в продажу в 1971 году и получивший название 4004.
Рис. 1.1 Первый микропроцессор компании INTEL 4004.
Следующим открытие стали микропроцессоры 2 поколения. Отличие
было не только в появлении большего числа характеристик, но и качестве
10
производства. К таким МП относится используемый на данный момент МП
серии 8080. Именно он стал основоположником семейства однокристальных
МП. К улучшенным характеристикам МП 2 поколения можно отнести:
1. Переход на технологию n-МОП, что увеличило быстродействие МП
до 2..2,5 МГц, а также снизило потребляемую мощность;
2. Появилась возможность внедрить большее число операций, использовать широкий диапазон способов адресации, внедрена функция прямого
доступа к памяти МП, а также функция прерывания;
3. Если в МП 1 поколения шина адреса и данных были объеденены, то
уже в МП 2 поколение было произведено разделение, что уменьшило число
дополнительных интегральных схем.
Позже, на смену 2 поколению пришли МП 3 поколения, но на данный
момент классификация по поколениям остановилась, и ведется разделение
только на однокристальные и многокристальные МП [2].
Рис. 1.2 Дерево развития микропроцессоров
Сейчас микропроцессоры – база современного поколения интеллектуальных машин. На данный момент уже тяжело представить жизнь без прибо11
ров с микропроцессорами. Любые гаджеты, детские игрушки или продукты
домашнего быта включают в свой состав микропроцессоры.
1.2 8-разрядный микропроцессор серии 8085
Микропроцессор – управляющее и обрабатывающее устройство, изготовленное чаще на одном кристалле, с использованием технологии большой интегральной схемы. Как правило любой микропроцессор включает в себя:
 арифметико-логическое устройство
 устройство управления
 системная память (программная и память данных)
 устройство ввода информации
 устройство вывода информации
 программный счетчик
 шины данных, адреса и управления
 регистры различных команд
Чаще всего при проектировании микроЭВМ используют МП, выполняющие различные арифметические операции и выступающие в роли устройств
управления. Такая архитектура значительно упрощает процесс создания МПсистем [3].
12
В 1976 году фирма Intel добилась того, что выпустила новый МП серии
8085, который полностью был совместим с программным обеспечением МП
8080. Первое отличие заключалось в технологии производства NMOS (N-
Channel Metal Oxide Semiconductor. Второе значимое отличие было в использовании всего лишь одно источника питания Vcc = +5В, со встроенным генератором тактовых сигналов. Дальнейшие версии МП серии 8085AH, 8085AH1 и 8085AH-2 отличались технологией производства HMOS (высококачественная n-МОП технология) и максимально допустимыми частотами тактовых
сигналов.
Рис. 1.3 Структурная схема МП 8085
В отличие от МП 8080 в МП 8085:
1. Генератор тактового сигнала CLK и системный контроллер встроены в
МП;
13
2. Появилось 4 входа запросов прерываний RST (5.5, 6.5, 7.5,) и TRAP;
3. Появились порты SID и SOD (ввода и вывода соответственно данных);
4. Возможность использования мультиплексивной шины адреса-данных
AD7-0..
8085 состоит из различных устройств, каждое из которых выполняет свои
функции:
1. Аккумулятор;
2. Арифметико-логическое устройство;
3. Регистр общего назначения;
4. Программный счетчик:
5. Указатель стека;
6. Временный регистр;
7. Флаги;
8. Регистр команд и Дешифратор;
9. Блок времени и управления;
10. Блок управления прерывания;
11. Управление вход-выхода;
12. Буфер адреса и адреса-данных;
13. Шина адреса, данных и управления [1, 3].
1.3 Архитектура фон Неймана
В 1946 г. американский математик Джон фон Нейман со своими коллегами А. Берксом и Г. Голдстайном выдвинул новую идею в модернизации
архитектуры ЭВМ, что используется многими устройствами в наши дни.
Раннее информация хранилась в памяти устройства в десятичном виде и обрабатывалась специальными кодами. Запрограммированную логику в устройстве можно было изменить только путем реорганизации структуры программы, что являлось достаточно трудоемким процессом. Фон Нейман выдвинул предложение о представлении информации в двоичном виде, тем самым он доказал, что данные, представленные в виде нулей и единиц куда
14
проще обрабатывать. Помимо этого, он так же предложил хранить программу сразу в памяти устройства, данное предложение имело название «хранимая программа». По началу программа задавалась перемычками, установленными на специальной коммутационной панели.
Архитектура, предложенная фон Нейманом включает в себя объединенное устройство управления и арифметико-логическое устройство в один
центральный процессор, устройство ввода и вывода, память устройства и
внешнюю память.
Центральный процессор преобразовывает информацию, поступающую
из внешних устройств и памяти. Память устройства хранит данные и программы устройства в двоичном коде. Еще одним необходимым элементом в
данной структуре является счетчик команд в устройстве управления. В ЭВМ,
построенной по данной схеме происходит последовательное считывание команд, а затем так же последовательное их выполнение. Адрес ячейки памяти,
из которой необходимо извлечь хранящуюся команду как раз и задается данным счетчиком.
Рис. 1.4 «Фон-Нейманская архитектура»
1.4 Гарвардская архитектура
В отличие от описанной выше архитектуры фон Неймана, Гарвардская
архитектура используется сейчас во многих современных микропроцессорах.
15
Она характеризуется своим быстродействием за счет разделения шины данных и шины адреса. В архитектуре фон Неймана процессор мог в один момент времени либо считывать (записывать) данные, либо читать код команды, в то время как в Гарвардской архитектуре Говард Эйкен предложил концепцию разделения шин, что позволяло устройству одновременно считывать
и код операции и данные из памяти. Гарвардская архитектура представляла
собой дорогостоящую и сложную конструкцию. Высокая стоимость заключалась в необходимости иметь вдвое больше интерфейсных выводов из-за
разделения каналов передачи команд и данных.
Рис. 1.5 Гарвардская архитектура
1.5 Модифицированная гарвардская архитектура
Чтобы снизить количество интерфейсных выводов, а следовательно, понизить стоимость устройства с данной архитектурой была разработана модифицированная версия Гарвардской архитектуры, которая заключалась в
объединении шины данных и шины адреса для внешних данных, а для внутри использовать шину команд, шину данных и 2 шины адреса раздельно.
Разделение шин в такой архитектуре происходит при помощи управляющих
сигналов чтения, записи или выбора области памяти.
1.6 RISC и CISC процессоры
Существует 2 вида процессоров по архитектуре и системе команд:
16
1) CISC (Complete instruction set computer) – процессор с полным набором инструкций и команд.
2) RISC (Reduced instruction set computer) – процессор с сокращенной системой команд и инструкций.
Процессоры с полным набором команд являются классическими, а в системе команд содержится большое количество команд, служащих для выполнения различных арифметических и логических операций, а также команд
ввода, управления и вывода данных. Такие процессоры реализуют любой алгоритм. Сперва происходит чтение кода команды из ПЗУ, следующим шагом
становится получение набора микроинструкций, которые в свою очередь
реализуют алгоритм выполнения команды. В настоящее время большинство
компьютеров содержат именно CISC-процессоры [4].
Что касается второго вида процессоров, то их сокращенный набор был
создан для достижения максимальной производительности. Все команды в
данном процессоре имеют одинаковую длину. Достоинством RISC является
наличие большого числа регистров, с помощью которых появляется возможность хранения большого числа информации на кристалле процессора, а также сохранять большое число переменных в регистрах без загрузки.
Чтобы описать достоинства и недостатки каждого вида, необходимо их
сравнить друг с другом:
Таблица 1
Сравниваемые харак- RISC
теристики
Кол-во регистров
Большое (все являются
универсальными)
Длина команды
Одинаковая для всех
Длительность выполнения команд
Скорость выполнения
команд за один цикл
процессора
Кол-во исполнительных устройств
Одинаковая
CISC
Малое (все являются
специализированными)
Различная для каждой
команды
Различная
Больше одной коман- Одна или менее одной
ды
Одно
Больше одного
17
В настоящее время процессоры RISC имеют больший набор функций,
чем процессоры CISC. Под термином «сокращенный набор инструкций» понимается небольшой объем работы, выполняемый каждой инструкцией по
сравнению с объемом работы процессора CISC, затрачивающие десятки циклов памяти для выполнения всего одной команды. Для RISC процессора характерны отдельные алгоритмы ввода, вывода и обработки данных.
1.7 Сигналы МП
Сигналы МП, поступающие на блок управления и синхронизации
RESET – сброс (запуск программы осуществляется с адреса 0000);
READY – входной сигнал готовности памяти МП к обмену (асинхронный
режим обмена);
HOLD – удержание шины;
– выходной сигнал записи. Возможна смена направления передачи данных от процессора к памяти или внешнему устройству.
– выходной сигнал чтения. Возможна смена направления передачи данных от памяти или внешнего устройства к процессору.
HLDA – выходной сигнал подтверждения захвата (режим прямого доступа в
память).
INTR – сигнал, запрашивающий прерывание по своему положительному
фронту (INTR=1).
ALE – сигнал, предназначенный для фиксации во внешнем регистре только
младшего байта А7-0. По спаду сигнала ALE можно гарантировать истинное
значение адреса. Данный сигнал не имеет Z-состояния.
S1, S2, IO/
– сигналы, указывающие на тот тип операции, который будет
выполняться МП в данном машинном цикле. Иначе их называют сигналами
состояния машинного цикла.
– автоматический входной сигнал сброса при включении МПсистемы. Данный сигнал переводит программный счетчик в нулевое состоя18
ние. При подаче питания на МП длительность данного сигнала не менее 10
мс. Если режим можно считать установившимся, то данная длительность составляет не менее 3 периодом сигнала CLK.
CLK – тактовый сигнал.
TRAP – сигнал запроса прерывания. Данный сигнал удерживает уровень
равный 1 до завершения выполнения команды, а также имеет наивысший
приоритет по сравнению с сигналами RST7.5, RST6.5, RST5.5 и INTR.
SID, SOD – для последовательного простого интерфейса данные сигналы являются входом и выходом канала для последовательной передачи информации.
X1, Х2 – входы, которые используются для подключения параллельного LCконтура, кварцевого резонатора и RC-цепи. Данное подключение задает частоту сигнала внутреннего генератора [4].
Таблица 2. Виды машинных циклов
Тип машинного цикла
Status
Control
Сигнал МП 8085
IO/
Чтение памяти (memory read)
0
0
1
Запись в память (memory write)
0
1
0
Чтение I/O (I/O read – ввод)
1
0
1
Запись в I/O (I/O write – вывод)
1
1
0
Сигнал RESET = 1
Z
Z
Z
-
Примечание: Z – z-состояние.
1.8 Особенности работы МП 8085
Как показано из схемы формирования рис.3 сигнал ALE становится активным (ALE = 1) при выдаче адресного сигнала
А7-0
в каждом первом такте
машинных циклов. Активным сигнал ALE загружает и производит фиксацию младшего байта в 8-разрядном потенциальном асинхронном регистре
1533ИР22. На схеме присутствует еще один блок под названием Transceiver.
Благодаря сигналу AEN производится управление данным приемопередат19
чиком. AEN поступает от контроллера прямого доступа к памяти и управляет Z-состоянием шин данных и адреса. В это время сигнал
рых схемах используют сигнал
или в некото-
управляет направлением передачи дан-
ных.
Рис. 1.6 Схема формирования шины данных и адреса [5]
Рис. 1.7 Временная диаграмма команды вывода
20
На рис. 1.7 изображена подробная работа МП при выполнении команды OUT port, где PCh и PCl – старший и младший байты адреса соответственно. DO и DI – данные выводимые из МП и вводимые соответственно.
При выполнении данной команды затрачивается 3 машинных цикла: М1 –
чтение кода операции (1-го байта команды), М2 – чтение адреса внешнего
устройства (2-ого байта команды, значения port), М3 – вывод во внешнее
устройство байта из аккумулятора по адресу port.
1.9 Распределение адресного пространства подсистемы памяти МПсистемы
Объем адресного пространства МП-системы определяется разрядностью шины адреса, а также перечнем управляющих сигналов интерфейса.
указанные сигналы могут определить вид объекта, к которому производится
обращение. Если же МП не отвечает сигналами, определяющих пассивное
устройство, то используются только адресные линии, где число адресуемых
объектов будет равно 2k, где k – разрядность адресной шины. Данное адресное пространство носит название «единое» [5].
Рис. 1.8 Структура единого адресного пространства
Рис. 1.9 Пример распределения единого адресного пространства
21
При использовании информации о виде устройства, которое запрашивается, можно назначать одинаковые адреса для разных устройств, но при
этом необходимо обеспечить селекцию с помощью управляющих сигналов.
В результате большая часть интерфейсов содержит отдельные управляющие линии для обращения к вводу/выводу и памяти, реже – к стеку или
ПЗУ. Так, МП выдает информацию о типе обращения, в итоге суммарный
объем адресного пространства МП-системы превышает величину 2k.
При необходимости расширить объем памяти используют диспетчер
памяти. Диспетчер памяти – программно-допустимый регистр, расположенный в пространстве ввода/вывода. В него заносят номер активного банка памяти, где объем банка равняется объему адресного пространства МП (2k). Из
описанного выше следует, в каждый момент времени МП доступен исключительно 1 банк. Если же необходим переход в другой банк памяти, МП
предварительно выполняет программную процедуру перезагрузки содержимого номера банка.
Рис. 1.10 Использование диспетчера памяти [6]
1.10 Формат команд микропроцессора 8085
Команды в МП 8085 обычно представлены с помощью одного, двух и
трех байтов.
22
Рис. 1.11 Графическое представление формата команд МП 8085
В первом байте всегда находится код операции, которые выполняет
МП, а так как он занимает только один байт, то количество различных команд не более 28 = 256. Далее для задания операндов используются второй и
третий байты
Команды, занимающие более одно байта, располагаются в последовательных ячейках памяти, где адресом всей команды является адрес первого
байта команды [6]. Из-за большего байта в команде затрачивается большее
время для ее выбора из памяти.
1.11 Регистр флагов
Содержимое регистра изменяется командами, результаты которых
фиксируются нем. Каждый флаг отвечает за определенную операцию в команде.
S-флаг – флаг знака отождествляет знак численного результата арифметической команды. Как и все последующие флаги, он может иметь два состояния: 0 и 1.
Рис. 1.12 Регистр F признаков
S-флаг =
В первом варианте результат является положи-
тельным, в другом – отрицательный.
Z-флаг – флаг нуля подтверждает нулевой результат выполнения команды.
23
Z-флаг =
AC-флаг – отождествляет наличие переноса между разрядами из D3 в D4.
АС-флаг =
Р-флаг – флаг-паритет показывает содержание четного или нечетного количества единиц в байте результата команды.
Р-флаг =
CY-флаг – флаг переноса (заема) из разряда D7.
CY-флаг =
Таблица 3. Влияние арифметических операций на состояние флагов
В таблице 3 знак «+» означает смену флага командой, соответственно «-»
показывает на неизменное состояние флагов.
Все 4 флага, описанные выше используются командами управления для переходов, вызовов подпрограмм и условных возвратов [6].
Вывод
МП-системы лучше использовать там, где необходимо решать множество
различных задач, не принимая во внимание низкое быстродействие и сложные алгоритмы обработки информации. В настоящее время цифровые системы на «жесткой» логике уже не используются, так как на практике неэффек24
тивно использовать большое количество устройств, выполняющих только
определенные задачи (для каждого устройства одна задача). Из-за большого
выпуска микросхем для МП-систем стоимость заметно снизилась, что послужило массовому использованию их в наши дни.
25
2. ОСНОВНЫЕ ХАРАКТЕРИСТИКИ И ФЕНКЦИИ ПЛИС
2.1 История развития ПЛИС
Варианты реализации ПЛИС в последнее время ориентируются на технологию «Система-на-кристалле» (Systemon-a-Chip – SoC), содержащую как
цифровую, так и аналоговую часть с цифро-аналоговыми и аналогоцифровыми преобразователями. Необходимо отметить, что среди популярных встраиваемых процессоров имеются процессоры как с сокращенной системой команд RISC, так и с комплексной системой CISC [7].
Микропроцессорные системы обладают большой универсальностью,
повышают надежность и функциональную сложность приборов физического
эксперимента. Однако, не имея достаточной параллельности вычислений и
управления, эти системы нуждаются в быстродействующих логических схемах, которые в свою очередь требуют высокую степень плотности. Решением
становится совокупность высокопроизводительного микроконтроллера с развитой периферией и программируемой логической матрицей CPLD или
FPGA [7, 8]. Применение встраиваемых микросистем, основанных, прежде
всего, на системах с ПЛИС, позволяет создавать гибкий перестраиваемый
специализированный комплекс – систему сбора данных (комплекс средств,
предназначенный для работы совместно с персональным компьютером и
осуществляющий автоматизированный сбор информации о значениях физических параметров).
Современные ПЛИС характеризуются низкой стоимостью, высоким
быстродействием, значительными возможностями, многократностью перепрограммирования, низкой потребляемой мощностью.
Однако, при всех достоинствах ПЛИС, они проигрывают заказным и
полузаказным ИС.
2.2 Классификация ПЛИС
Классификация ПЛИС по признакам:
 Схемотехнологии (ТТШЛ, КМОП и др.);
26
 Зависимости задержек сигналов от направления их распространения;
 Системным свойствам;
 Однородности и гибридности (наличие или отсутствие специальных
методов проектирования (схема со стандартными ячейками, ПЛИС) в
микросхеме;
 Архитектуре (рис. );
 «Теневой» памяти (рис. );
 Числу циклов программирования;
 Уровню интеграции (рис. );
 Логической сложности [9, 10].
Рис. 2.1 Классификация ПЛИС по уровню интеграции [11, 12]
Рис. 2.2 Классификация ПЛИС по архитектуре [11, 12]
27
В связи с развитием ПЛИС, началось разделение на группы, название
которых связано с программируемыми блоками в данной интегральной схеме:
1) ПЛМ – программируемые логические матрицы. Это устройство,
включающее в свой состав 2 матрицы логических элементов на кристалле
микросхемы. Такая структура может выполнять заданный набор функций
при корректном соединении этих элементов в логические схемы. Первая
матрица – матрица типа «И», вторая – «ИЛИ» [13].
Рис. 2.3 Структурная схема ПЛМ
2) ПЗУ – постоянное запоминающее устройство в качестве подгруппы
ПЛИС позволяет минимизировать составление комбинационной функции, а
иногда и избежать ее полностью. Главная особенность ПЗУ – это малое количество входов в отличие от ПЛМ.
3) CPLD – сложное программируемое логическое устройство, позволяющее программировать входные и выходные линии соединения устройства между собой, а также запрограммировать таблицу истинности комбина28
ционного устройства. Соответственно из вышесказанного группа CPLD появилась в результате усовершенствования ПЗУ и ПЛМ.
Рис. 2.4 Внутренняя схема CPLD [13]
4) FPGA – программируемые вентильные матрицы. Отличительной
особенностью стало большое число логических блоков с распределенной
структурой внутренних соединений на всем кристалле. именно в распределенных ячейках хранится программа для FPGA.
Такая группа ПЛИС имеет самую гибкую архитектуру. FPGA может
работать в 2 режимах:
 на основе энергозависимых ячеек ОЗУ
 на основе Flash-памяти и перемычек
29
В первом случае программа не сохраняется при отключении подачи
питания на схему, во второй же ситуации – программа сохраняется вне зависимости от наличия питания на схему.
Рис. 2.5 По типу «теневой» памяти
2.3 Cyclone IV фирмы ALTERA
Серия Cyclone IV FPGA входит в состав большой группы микросхем Cyclone FPGA и на данный момент является лидером за счет своей низкой
стоимости, малой потребляемой мощности и новой функции приемопередатчика. Отлично подходит для высокочувствительных устройств. Она позволяет увеличивать ширину полосы частот, оставляя цену такой же низкой.
Данная серия включает в себя:
 Cyclone IV GX FPGAs со встроенным приемопередатчиком на 3.125
Гб,
 Cyclone IV Е FPGAs для широкого спектра применения общей логики
[14, 15].
30
В данной работе используется микросхема серии Cyclone IV E.
Рис. 2.6 Упаковочная информация микросхемы серии Cyclone IV E
Для
реализации
проекта
была
выбрана
серия
микросхемы
EP4CE22F17C6. Данная микросхема имеет расширенную логику и память,
22 320 логических элементов и 256 пинов. FineLine – ведущая фирмапоставщик печатных плат. BGA – тип корпуса (поверхностно-монтируемый)
интегральной схемы. При данном типе выводы – это шарики из припоя на
контактных площадках с обратной стороны печатной платы. Помимо всего
вышеуказанного ее рабочая температура лежит в пределах от 0 до 850С, а
ранг скорости показывает на самую быструю работу микросхемы из всех
возможных вариантов. Cyclone IV Е FPGAs построен на оптимизированном
60нм малопотребляющем процессоре. Устройство последнего поколения
снижает ядра, что в свою очередь снижает общую мощность на 25 процентов
по сравнению с предшественником.
Таблица 4. Ресурсы ПЛИС (напряжение питания ядра 1.0 и 1.2В) [14]
Ресурсы
EP4CE22
Количество блоков встроенного ОЗУ М9К
31
66
Количество логических
элементов
Архитектурные
особенности
22 320
Количество умножителей
18*18
Объем встроенного ОЗУ
Количество блоков PLL
Количество глобальных цепей тактирования
594 кбит
4
Размер конфигурационного
файла
5.5 Мбит
Количество каналов LVDS
52
66
20
Рис. 2.7 Общий вид микросхемы Cyclone IV фирмы ALTERA [15]
Рис. 2.8 Назначение элементов микросхемы
32
Вывод
В настоящее время ПЛИС пользуются огромной популярностью и их
применяют все чаще в различных устройствах. Связано это с тем, что ПЛИС
на порядок превосходит любые цифровые микросхемы. При использовании
таких интегральных схем легко можно уменьшить габариты изделия, его
стоимость, а также повысить надежность и гибкость.
Выбором ПЛИС фирмы Altera в первую очередь послужила среда программирования Quartus II. Основным отличием Altera от Xilinx является
улучшенный графический интерфейс. Xilinx дает возможность обеспечить
минимальные временные задержки распространения сигнала, обладает малым энергопотреблением, что не мало важно, а также проекты в Xilinx «ложаться» лучше по причине большой гибкости. Еще одним преимуществом
этой фирмы стала климатика, т.е. ПЛИС строго держат заявленный температурный диапазон, однако Altera наиболее популярна за счет своей низкой
ценовой категории по сравнению с Xilinx. Она позволяет проводить временные анализы. Пользователь, который выбрал данную фирму, получает доступ к просмотру каждого блока программы, а все логические функции его
можно выделить, тем самым отследив задержки маршрутизации на сегментах.
В данной главе были рассмотрены все классификации ПЛИС фирмы
ALTERA и была выбрана подходящая для проекта в целом.
33
3. ЯЗЫК ПРОГРАММИРОВАНИЯ VERILOG HDL
В отличие от языка VHDL синтаксис языка Verilog очень прост и напоминает С++. На данный момент является самым популярным языком в
среде программирования микросхем, в организациях, где обеспечивается
цифровая обработка сигналов. Помимо всего прочего Verilog позволяет легко провести моделирование и синтез схем, позволяет проводить временное
моделирование с использованием задержек, а также создавать специальные
программы Test Bench, в которых можно самостоятельно задавать внешние
тестовые сигналы. Первые попытки написания программ на данном языке
были в 1987 году. Сейчас существует множество программ, работающих на
базе, поддерживающей язык программирования Verilog, интерфейс одной из
которых будет описан позже [8].
Синтаксис его контекстно-зависим, т.е. прописные и строчные буквы носят различную информацию. Также существует два типа комментариев:
 // - это комментарий, который можно расположить на одной строчке в
тексте программы;
 /*…*/ - блок комментариев; с помощью такой комбинации символов
можно выделить целые абзацы текста как комментарий.
3.1 Операторы Verilog
В Verilog существует 3 типа операторов: с 1, 2 или 3 операндами. Операторы с 1 операндом всегда располагаются слева от операнда, бинарные
операнды между двумя операторами, а тернарный оператор разделяет 3 операнда двумя операторами [16].
Приведем пример на каждый оператор:
 rst = ~rst; // ~ - унарный оператор, оператор отрицания, rst – операнд.
 a = b&c; // & - бинарный оператор «И», b и c – операнды.
 a = b?c:F; // ?: - тернарный оператор. «Если b – истина, тогда а = с,
иначе a = F».
34
Таблицы основных операторов и их приоритета в языке Verilog представлены в ПРИЛОЖЕНИИ А
3.2 Представление чисел
Каждое число в языке программирования Verilog можно представить в
двоичном, восьмеричном, десятичном и шестнадцатеричном виде. Существует 3 способа описания таких чисел:
 <Число> - формат записи числа в десятичном виде по умолчанию,
 <Разрядность числа>’<вид><число> - полный формат записи,
 <Основание><Число> - формат записи числа не менее 32 бит.
250 – простой вид записи десятичного числа
8’b11111010 – полный формат записи числа 250 в двоичном виде
hFA - в шестнадцатеричном виде [16, 17].
3.3 Логические уровни сигналов и переменных
Существует 4 состояния сигналов и переменных в языке Verilog:
 0 – низкий уровень, «false», «земля»
 1 – высокий уровень, «truth»
 x – неопределенное состояние
 z – высокоимпедансное состояние, иногда можно использовать знак
«?» вместо цифр. Лучше всего это состояние использовать в операторе
выбора CASE [18].
3.4 Плата ввода-вывода информации
Корректность работы программ, написанных на языке Verilog, проверялась с помощью платы ввода-вывода информации. Главным элементом
здесь является Плис фирмы Altera. Модель платы содержит 2 кнопки и 8
ключей для ввода информации, а также 10 светодиодов и дисплей с 4 индикаторами для вывода информации. Все программы, описанные ниже отлажены и безошибочно работают на данном устройстве.
35
Светодиоды
Индикаторы
Ключи для ввода
информации
Кнопка запуска
Кнопка остановки
или сброса
Рис. 3.1 Информация о плате расширения
3.5 Пример применения языка Verilog
Данный курсовой проект выполнен в среде программирования Quartus
II. Интерфейс программы очень удобен в использовании. Программа позволяет создать программу для микросхем на нескольких языках, провести временное моделирование, создавать блок диаграмму, а также проводить различные функциональные и логические анализы работы.
а)
б)
Рис. 3.2 Основные функции программы Quartus II а) и ее интерфейс б)
36
Данная программа предназначена для работы со схемами фирмы Altera.
Аналогом может являться САПР ISE WebPACK фирмы Xilinx.
При написании программы для ПЛИС программа по умолчанию устанавливает первый модуль в качестве основного, после чего проект будет
иметь название этого модуля.
Помимо этого, Quartus II может реализовывать стратегии нисходящего
(если задан алгоритм работы и набор определенных требований) и восходящего (если доступно полное структурное описание в определенном базисе).
При таких стратегиях модуль всегда представлен в виде взаимосвязанных
элементов низкого уровня в системе описания.
 Логический оператор «И»
В данном варианте а1, а2 и out являются сигналами. Сигнал – это носитель информации, физический процесс, направленный на передачу информации. Важная черта сигнала – его параметры изменяются пропорционально
изменениям информации сообщения. Блочная структура логического оператора «И» приведена в ПРИЛОЖЕНИИ Б.
Различить входные и выходные сигналы помоют провода с надписями
input и output. Для простой логической операции необходимо делать временную проверку, чтобы убедиться в правильности работы блочной схемы и
программы в целом.
Выходной сигнал
Входные сигналы
Рис. 3.3 Простая функциональная симуляция
37
Помимо блочной структуры программы можно создать программу текстовым способом. Текстовый вид программы приведен в приложении А.
При написании текстовой программы можно воспользоваться функцией RTL-viewer для удобного восприятия текста. Данная функция позволяет
наглядно посмотреть блок схему программы, все внутренние и наружные
провода, а также детально рассмотреть каждый модуль программы, его
внутреннюю конфигурацию в отдельности, если такой имеется.
Рис. 3.4 RTL-viewer
Остальные простые операции похожи на операцию «И», только идет замена самого блочного символа на другой или меняется операция в тексте
программы. Поэтому далее будут рассмотрены более сложные программы с
применением каждой операции в совокупности.
 Мультиплексор в блочном представлении
В ПРИЛОЖЕНИИ В представлен простой мультиплексор 2 в 1. В такой конструкции представлено 3 сигнала, один из которых сигнал-условие.
Мультиплексор, опираясь на данный сигнал подает на выход один из оставшихся 2 входных сигналов. Мультиплексор может программироваться разными способами: можно запрограммировать его переключение входных
сигналов по перепадам опорного (сигнала-условия), можно задать задержку
и тогда мультиплексор будет менять выходной сигнал по установившемуся
входному сигналу. Человек сам может выбрать при каком условии опорного
сигнала на выходе будет один или другой входной. Ниже приведен функциональный анализ работы мультиплексора.
Входные сигналы:
 а1, а2, а3
38
Выходной сигнал:
 q
Входные сигналы
Выходной сигнал
Рис. 3.5 Временная диаграмма мультиплексора
Сигнал а3 в данном случае является сигналом выбора. Т.е. если сигнал
а3 – «истина», его логический уровень = 1, то на выход поступает информация, которую несет сигнал а1, иначе на выходе наблюдается сигнал а2. Если
записывать данную программу в текстовом виде, то тут появится уже условие, которое необходимо будет описать через цикл и условное выражение
Case или Always. Подробнее про них будет описано далее.
 D-триггер (D-flip flop)
Текстовая программа асинхронного D-триггера представлена в ПРИЛОЖЕНИИ Г. По каждому тактовому сигналу (clk) или сигналу сброса (rst) в
приоритете находится сброс. Данные поступают на выход в том случае, если
сброс отсутствует. Ниже приведен простой текст на языке Verilog по описанию D-триггера.
Входные сигналы:
 clk – тактовый сигнал
 D – сигнал данных
 rst – сигнал асинхронного сброса
Выходной сигнал:
 q – выходной сигнал триггера
39
Тактовый сигнал
Сигнал сброса
Выходной сигнал
Входной сигнал данных
Рис. 3.6 Временная диаграмма работы D-триггера
Из рис. 3.6 можно сделать вывод, что по каждому положительному
фронту сигнала rst на выходе отсутствуют данные. По каждому положительному фронту сигнала clk (при условии отсутствия сигнала rst) на выход триггера поступают данные D.
 Простая программа по выводу одноразрядного числа на дисплей
В ПРИЛОЖЕНИИ Д приведен текст программы, описывающий вывод
числа на дисплей.
а)
б)
Рис. 3.7 Стандартный вид дисплея а) и результат кода 1000000 (цифры 0) на
дисплее б)
40
Сигналы, служащие для подсветки сегментов
Число, воспроизводимое на индикаторе
Сигнал, включающий первый индикатор
Рис. 3.8 Временная диаграмма
Входные сигналы:
 bcd – сигнал условие
Выходные сигналы:
 dig0 – сигнал, активирующий первый индикатор
 leds – сигналы, активирующие сегменты индикаторов
Из рис. 3.8 видно, что при значении bcd = 0, все 7 разрядов соответствуют коду 1000000. При каждой смене значения bcd разряды leds меняют
свои значения. Постоянному сигналу dig0 присваивается значение 1, т.е. используется индикатор с общим катодом. В схеме с общим катодом общий
вывод вешается на «плюс». В случае с общим анодом наоборот, общий провод заземлен, и сегменты загораются при подаче на них напряжения. Тогда в
данной ситуации на выход dig0 необходимо подать постоянный сигнал 0, т.е.
заземлить.
41
Рис. 3.9 Схемы индикаторов с ОА и ОК
 Счетчик
В ПРИЛОЖЕНИИ Е представлен код программы простого 4 разрядного
счетчика с асинхронным сбросом.
Входные сигналы:
 clk – тактовый сигнал
 rst – сигнал сброса
Выходные сигналы:
 out – сигнал счета
Тактовый сигнал
Выходной сигнал счетчика
Сигнал сброса
Рис. 3.10 Временна диаграмма 4-разрядного счетчика
42
По каждому положительному фронту тактового сигнала (при условии,
что сигнал сброса отсутствует) счет увеличивается на 1. Счет можно задать в
любом виде, например, в десятичном или шестнадцатеричном. В данной программе счет ведется в двоичной системе счисления. Пока сигнал сброса активен-счетчик обнулен.
 Секундомер
Данный секундомер работает по нажатию первой кнопки key1. По ее нажатию начинается счет с 00:00. При повторном нажатии кнопки производится остановка счета. В приоритете выставлена вторая кнопка – кнопка сброса.
По нажатию кнопки key2 происходит полный сброс секундомера в положение 00:00. Максимальное время счета такого секундомера 99:59, после чего
цикл счета повторяется заново.
Входные сигналы в этой программе:
 clk – тактовый сигнал
 key_my – сигнал запуска секундомера
 key2 – сигнал сброса секундомера
Выходные сигналы:
 leds – сегменты индикатора
 dig0..3 – сигналы индикаторов
По каждому тактовому сигналу происходит увеличение секундомера на 1.
Кнопка key_my производит запуск секундомера, key2 сброс соответственно.
Из временной диаграммы видно, что секундомер до появления тактового
сигнала сохраняет значение нуля, после чего по нажатию кнопки запуска
происходит загрузка 1. По нажатию кнопки сброса секундомер снова выводит на дисплей значение 0. Текст программы представлен в ПРИЛОЖЕНИИ
Ж.
43
Сигнал запуска
Сигнал сброса
Рис. 3.11 Временная диаграмма секундомера
 Таймер
Программа таймера работает следующим образом. Сперва сигнал загрузки (load) загружают в память ПЛИС, после чего числа, загруженные с
помощью комбинации ключей выводятся на дисплей и именно с этого времени начинается обратный отсчет. При нажатии кнопки key2 происходит остановка счета, на дисплее остается то время, при котором кнопка паузы была
нажата. По нажатию кнопки key1 происходит запуск таймера, и он в свою
очередь каждую секунду меняет свое значение на 1 в меньшую сторону. По
достижению во всех разрядах нулей, таймер начинает свой обратный отсчет
со времени 99. Текст программы представлен в ПРИЛОЖЕНИИ З.
Входные сигналы:
 clk – тактовый сигнал
 key_my – сигнал старта
 keysbr – сигнал паузы
 load – сигнал загрузки
Выходные сигналы:
44
 dig0..3 – сигналы индикаторов
 leds – сегменты индикатора
Кнопка запуска
Кнопка остановки
Сигнал загрузки
Сигналы, включающие индикаторы
Сигналы, служащие для
подсветки сегментов
Рис. 3.12 Временная диаграмма таймера
Из временной диаграммы видно, что сигнал запуска хранит в себе информацию = 1. По появлению тактового сигнала программа загружает информацию с сигнала загрузки и выводит ее на индикатор. Как видно из обозначений сегментов, сначала программа хранит информацию 0, затем появляется 1 и начинается обратный отсчет при условии, что key_my активна.
Вывод
В этой главе были рассмотрены особенности языка программирования
Verilog на простых примерах. Данный язык пользуется огромным спросом
среди программистов в настоящее время и был выбран как наиболее простой
для программирования проекта в дальнейшем.
45
4. ОПИСАНИЕ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ
4.1 Проект на основе микропроцессора 8085
1. CPU8085
Существует 4 основных функции CPU:
1) Выбор (выбор адреса команды из памяти),
2) Расшифровка (перевод этой команды на язык Ассемблер (бинарные
инструкции, понятные процессору) для ее реализации),
3) Реализация (передача инструкции в АЛУ, перемещение данных, переход к другому адресу),
4) Выполнение (выходные данные записываются в память после выполнения инструкции).
Группа входных сигналов:
Intr – сигнал запроса прерывания,
Waitr – сигнал ожидания,
Reset – сигнал сброса,
Trap – сигнал запроса прерывания,
RST75, RST65, RST55 – сигналы запроса прерывания,
Clock – тактовый сигнал.
Группа выходных сигналов:
Addr[15..0] – 16-разрядная шина адреса,
Memrd – чтение данных из памяти,
Memwr – запись данных в память,
Iord – чтение данных из внешнего устройства,
Iowr – запись данных во внешнее устройство,
Inta – сигнал подтверждения прерывания.
Двунаправленный порт: Data[7..0] – шина данных.
46
Рис. 4.1 Структурная схема элемента cpu8085
2. Дешифратор 74138
Дешифратор 74138 представляет собой декодер 3 в 8.
Первая группа входных сигналов:
A – входной сигнал с адресом addr[11],
B – входной сигнал с адресом addr[12],
C – входной сигнал с адресом addr[13].
Рис. 4.2 Структурная схема дешифратора
Вторая группа входных сигналов:
memwr и memrd – сигналы управления. Эти сигналы объединены блоком
OR2, который выбирает тот или иной сигнал в качестве условия. В УГО дешифратора эта группа сигналов объединена в один информационный вход
G1.
Третья группа инверсных сигналов:
G2AN и G2BN – сигналы с адресами addr[14] и addr[15] соответсвенно. Данные инферсные сигналы являются сигналами разрешения работы.
47
Группа выходных сигналов: Y0N..Y7N – 8 выходных сигналов. Однако
в проекте задействовано только два выхода - CS00N и CS08N. Следовательно на выходе будет присутствовать либо CS00N, либо CS08N, либо ни один
из данных сигналов.
3. Регистр памяти 74273
Группа входных сигналов:
D1..D8 – сигнал шины данных.
CLRN – источник питания VCC.
CLK – тактовый сигнал, предшественником которого являются выходные
сигналы с CPU8085 iowr и с дешифратора CS00Nio, поступающие с блока
«ИЛИ».
Группа выходных сигналов:
Q1..Q8 – выходные данные, включающие соответствующие светодиоды.
Микросхема на рис. необходима в использовании, так как она позволяет хранить сразу 8 бит информации. Ее максимальная тактовая частота
достигает 30 МГц, ток потребления 62 мА, а время задержки сигнала достигает 17,5 нс
.Рис. 4.3 Регистр памяти
4. LPM_BUSTRI
В данном проекте этот модуль представляет собой двунаравленный
модуль с тремя состояниями.
48
Рис. 4.4 Структурная схема элемента
Таблица 5 Назначение портов
Имя порта Описание
Тип
data[]
Разрядность
определяется Входной порт
LPM_WIDTH. В данном проекте
разрядность =8.
enabledt
Обеспечивает прохождение сигна- Входной порт
ла с шины данных на шину
tridata[]
enabletr
Обеспечивает прохождение сигна- Входной порт
ла с шины tridata[] на шину result[]
result[]
Результат выхода шины tridata[]
Выходной порт
tridata[]
Выводы двунаправленной шины
Двунаправленный порт
Сигналы memwr, CS08N и memrd преобразуются в сигналы enabletr и
enabledt.
Рис. 4.5 Преобразование сигналов
49
Таблица 6 Принцип работы портов:
Входы
Двунаправленная ши- Выход
на
enabledt enabletr tridata[lpm_width – 1..0] result[lpm_width – 1..0]
0
0
Z (вход)
Z
0
1
Z (вход)
tridata[lpm_width – 1..0]
1
0
data[lpm_width – 1..0]
Z
1
1
data[lpm_width – 1..0]
data[lpm_width – 1..0]
5. DFF (D-flipflop)
Модуль представляет простой В-триггер, где данными является сигнал
Vcc. Сигналы memwr и memrd являются сигналами разрешения.
Рис. 4.6 Структурная схема D-триггера
6. LPM_RAM_DQ
Группа входных сигналов:
Data[] – 8-разрядная шина данных,
Address[] – 11-разрядная шина адреса,
Inclock – входной тактовый сигнал записи по положительному перепаду в
регистры памяти,
WE (write enable) – разрешение записи.
Выходной сигнал: Q[] – шина выходных данных.
50
Рис. 4.7 Параметризованная ОЗУ с отдельными входными и выходными
портами мегафункции
7. LPM_ROM
Группа входных сигналов:
Inclock – тактовый сигнал. Ввод данных происходит по переднему фронту
сигнала. Данный сигнал – результат выходного порта дешифратора 74138
– CS08N/
Outclock – тактовый сигнал выхода. Вывод данных происходит тпкже по
переднему фронту сигнала. Если же порты Outclock и Inclock не задействованы (не используются) в устройстве, то происходит асинхронный ввод
и вывод данных.
Address[] – порт, предназначенный для ввода адреса.
Memenab – порт, позволяющий переводить шину выхода в Z-состояние
(высокого импеданса) при значении = 0.
Выходной сигнал: Q – порт для вывода данных.
51
Рис. 4.8 Структурная схема устройства ПЗУ
Чтобы запрограммировать данное устройство необходимо создать файл
с расширением .mif, где будут храниться код и описание операций соответсвенно.
Файл формата MIF (Memory Initialization File) представляет текстовый
файл, содержащий графические данные и описание таблиц данных, содержащие определенную информацию, описывающую каждый из объектов в
этом файле.
4.2 Операции в модуле АЛУ
Операция add
52
Операция adc
Операция sub и cmp
Операция «И»
Операция xor
Операция or
Каждая операция имеет свой собственный код в двоичном виде, расшифровка которого расположена в файле формата MIF.
53
4.3 Ввод и вывод данных без квитирования
По сравнению с методом квитирования, где используются специальные
флаги – сигналы синхронизации, в методе без квитирования используется
непосредственно команды IN port и OUT port. Длительность таких команд
занимает 10 тактов. Определенно такой метод гораздо быстрее метода с квитированием, но он не позволяет синхронизировать скорости МП и внешних
устройств [1]. По сигналу
= 0 внешнее устройство должно быть готово
к передаче данных. Этот сигнал генерируется при выполнении команды IN
port. А по достижению сигнала
= 0, внешнее устройство должно быть
готово принять байты данных. Этот сигнал генерируется командой OUT
port. Роль внешних устройств в таких ситуациях выполняют регистры памяти, выполняемые в виде отдельных ИС и содержащиеся внутри интерфейсных БИС, если используется в качестве регистра состояния и управления –
ввод слова
состояния SW и вывод слова управления CW из МП. При передаче байт
блоков данных последовательно также необходимо согласовывать скорость
обработки данных внешнего устройства и МП.
Метод без квитирования был реализован в проекте с помощью дополнительного блока регистра 74373, который позволял удерживать данные в
памяти микропроцессора до следующей перемены данных. Такой метод работает по следующему алгоритму: с ключей платы вводятся данные в виде
двоичных чисел, после того как кнопку пуска будет нажата, данные отобразятся
на светодиодах, после каждой смены данных необходимо постоянно обновлять информацию на светодиодах кнопкой пуск [1].
Ниже представлена приближенная часть временной диаграммы, где
происходит запись данных в регистр и отображение их на светодиодах.
54
Ячейка памяти 0В отвечает за команду INPORT, а ячейка 0D за команду
OUTPORT.
Такой метод можно реализовать сразу четкой записью данных, которые
можно изменить только путем изменения информационного файла. Для этого
алгоритма необходима команда MVI и OUTPORT.
Открытие порта
ввода данных
Данные записаны
в память
Закрытие порта
ввода данных
Рис. 4.9 Временная диаграмма метода без квитирования
55
Запись информации для каждой ячейки выглядит следующим образом:
Рис. 4.10 Вид информационного файла
4.4 Ввод-вывод данных с квитированием
Ввод и вывод данных с квитированием отличается от остальных способов тем, что тут используются два специальных сигнала IBF и OBF. Подругому эти сигналы можно назвать сигналами синхронизации. Данный метод удобно применять там, где скорость работы входного устройства отлична от скорости работы микропроцессора. Сигналы синхронизации помогают
56
сопоставить скорости так, чтобы не было коллизий и потери информации.
Поэтому в ситуациях, когда, например, скорость внешнего устройства намного ниже, чем микропроцессора, при быстрой передаче данных на внешнее устройство используют метод квитирования (acknowledgement). С помощью данного метода внешнее устройство получит всю информацию, поступающую из микропроцессора. Рассмотрим подробнее принцип работы
такого метода.
Рис. 4.11 Структурная схема устройства ввода а) и вывода б)
Алгоритм работы метода с квитированием:
= 0, следовательно, идет запись данных D7-0 I/O во входной буфер и
1)
соответственно устанавливается флаг IBF =1.
2) IBF =1, следовательно, происходит ввод данных в МП (а именно чтение
входного буфера) и сброс флага IBF [1].
Таким образом флаг IBF является важной основой в этом методе. Пока
флаг не будет установлен в 1, передача информации просто невозможна.
Здесь
является стробом записи данных устройством ввода в буфер.
При выводе данных из МП во внешнее устройство установлен такой же алгоритм по такому же принципу.
1)
=0, значит происходит запись данных уже D7-0
гистр, а затем автоматически устанавливается флаг
2)
= 0, тогда
МП
в выходной ре-
=0.
=0 (подтверждение приема данных) и флаг
снова
устанавливается в исходное состояние = 1. В этом случае флаг OBF с инверсией играет ту же роль, что и флаг IBF при вводе данных.
57
Рис. 4.12 Алгоритм ввода и вывода данным методом с квитированием
Данные флаги формируются триггерами и их значения всегда могут
быть прочитаны в любой момент времени МП с помощью шины данных D70.
Если же речь идет о МП-системе с большим количеством внешних уст-
ройств, и у всех разные скорости передачи данных, то тогда все одноразрядные флаги могут быть объединены в один 8-разрядный регистр состояния
SW.
Пример записи такого регистра может быть следующим:
SW=
4IBF4
3IBF3
2IBF2
1IBF1.
Если же происходит ситуация, когда флаг IBF = 0, а МП уже готов
принимать данные, то МП будет считывать регистр состояния SW так долго,
пока флаг не будет установлен в 1, а значит пока внешнее устройство не передаст данные во входной буфер [1,2].
Метод с квитированием реализуется на практике путем добавления Dтриггера и регистра памяти. Информационный файл выглядит следующим
образом:
Рис. 4.13 Информационный файл проекта с квитированием
58
Первые две ячейки отвечают за открытие порта ввода данных о IBF
(флаг синхронизации). Затем проверяется последний бит перемножения данных:
0000 000IBF
&
_____0000 0001___
Если последний бит результата будет равняться 1, тогда происходит
открытие порта ввода данных с клавиатуры, иначе алгоритм повторяется до
тех пор, пока результат не достигнет 1. Ячейка с адресом 18 отвечает за закрытие порта, а далее происходит прыжок в начало к ячейке с адресом 0F и
алгоритм повторяется.
На временной диаграмме это можно проверить:
59
Открытие порта ввода
данных о IBF
«Прыжок», если IBF=1
Команда проверки последнего бита
Закрытие порта
ввода данных
Открытие порта
ввода данных
Возвращение к
ячейке 0F
«Возврат» к 0F, если IBF=1
Команда проверки
последнего бита
Открытие порта ввода
«Возврат» к 0F, если IBF=1
данных о IBF
Рис. 4.14 Временная диаграмма квитирования
На рис. 4.14 в верхней части показан случай, когда флаг IBF=1, тогда
после опроса в ячейке с адресом 13 происходит открытие порта ввода данных
с клавиатуры, во втором случае флаг IBF=0, поэтому после его опроса идет
переход к ячейке с адресом 0F и алгоритм повторяется.
60
Рис. 4.15 Результаты компиляции программы
Положение
ключей 10101010
(справа налево)
Положение
ключей 10000011
(справа налево)
Положение
светодиодов 10101010
Положение
светодиодов 10000011
Рис. 4.16 Результат проекта на плате
Выводы
В данной главе рассматривались два метода ввода и вывода информации. С помощью стандартной библиотеки Quartus II удалось реализовать эти
методы на практике. Результаты данной работы были проверены на учебной
ПЛИС Altera IV E.
Результаты компиляции показали, что количество пинов достаточно
для внедрения новых дополнительных элементов, количество логических
61
элементов занимает только 8 % от всех возможных, а значит проект можно
дополнить большим количеством функций.
Помимо этого, в четвертой главе были рассмотрены каждый блок проекта в отдельности, что позволило корректно спроектировать нужную модель
микропроцессора 8085.
62
5. ОБЕСПЕЧЕНИЕ КАЧЕСТВА ПРОГРАММНОГО ПРОДУКТА
В рамках проекта был разработан новый продукт, который внес большой вклад в развитие цифровой техники. При его производстве сперва нужно обратить внимание на его неотъемлемый вклад в цифровом мире, а также
на его качество производства и срок службы. Именно для обеспечения роста
эффективности производства данной продукции необходимо улучшить качество – на данный момент - это главное условие, чтобы быть конкурентоспособным на внутреннем и внешнем рынках. Если речь заходит об управлении качеством производства, необходимо разобраться в таких терминах
как «качество», «требование», «свойства» и «характеристика». Данные термины являются ключевыми словами в словаре стандартов ИСО 9000. Существует много определений понятия качества, одно из которых: «качество» –
это совокупность свойств и характеристик товара, обусловливающие способность его удовлетворять установленным или предполагаемым потребностям [19].
«Свойство» - это объективные особенности товара, выявляющиеся при
производстве, хранении и потреблении. Такие особенности количественно и
качественно характеризуют товар.
Свойства подразделяются на 2 вида:
1. Простые – отражают только одну особенность товара (цвет, твердость,
массу).
2. Сложные – отражают комплекс особенностей товара, представляющих
сумму простых особенностей (срок службы при эксплуатации, хранении).
Многие производители всегда стараются добиться высокого качества своей
продукции, так как это дает целый ряд привилегий:
 Возможность установления высокой цены.
 Обеспечение имиджа для производства и производителя товара.
 Повышение конкурентоспособности продукта на рынке.
 Полное удовлетворение потребительского спроса.
63
 Повышение эффективности работы и товарооборота.
 Обеспечение социально-экономического эффекта от товара.
«Требование», предъявляемое качеству – потребительские предпочтения,
обеспечивающие удовлетворение спроса, позволяющие достигнуть наивысшего уровня по качеству.
Требования различают:
 Общее – ко всем товарам и их характеристикам (соответствие ценакачество, функции пригодности, общим стандартам).
 Специфические – к отдельным группам и их характеристикам (ремонтно-пригодность, экологичность).
 Потребительские – со стороны потребителей с учетом конкретной стороны потребления и потребности (эстетические, удобство, безопасность).
 Объективные – конкретной группе товаров с учетом их объективных
особенностей (качество материалов, уход).
 Субъективные – зависят от субъекта, который их выражает (от индивидуальных характеристик товара, от группы потребителей).
Неотъемлемым свойством при внедрении товара на рынок сбыта является
потребительское свойство.
«Потребительское свойство» - свойство, присущее готовым изделиям,
проявляющееся в процессе эксплуатации или потреблении товара. Потребность – необходимость, нужда в чем-либо, которая формируется индивидуально у каждого потребителя или групп потребителей. Потребности - это не
постоянное свойство, оно всегда изменяется и со временем развивается [19].
Потребности не могут существовать вне зависимости от различных факторов, они зависят от ряда причин:
 Группы потребителей,
 времени возникновения (сезонные, исторические),
 характера (первичные, вторичные),
64
 от особенности самого товара,
 от индивидуальной характеристики потребления,
Сами потребители делятся на индивидуальных и групповых. Каждый потребитель характеризуется рядом факторов:
 по полу и возрасту,
 по уровню доходов и платежеспособности,
 по образованию и роду деятельности,
 по национальности и географическому положению,
 по составу семьи
Все эти факторы так или иначе влияют на потребности потребления той
или иной продукции.
«Характеристика» - особое отличительное свойство. Этому термину, а
также и термину «характеристика качества» отведен большой раздел с пояснением и их детальным разбором. Ведь именно производитель, меняя характеристику товара и услуги, может добиться изменения отношения потребителя к этому товару или услуге. Характеристику можно разделить на несколько видов в каждой области:
1. Характеристика бывает назначенной (присвоенной) и присущей (собственной).
2. Характеристика может разделяться на качественную и количественную.
Если рассматривать термин «характеристика» подробнее, то можно разделить его на определенные классы:
1. Этический (правдивость и четность);
2. Функциональный (скорость максимальная и тд.);
3. Эргономический (физиологические характеристики и безопасность человека);
4. Временной (доступность, надежность и тд.);
5. Органолептический (связанный класс со зрением, вкусом и тд.);
65
6. Физический (различные химические, механические характеристики).
Что касается термина «характеристика качества», то его можно охарактеризовать как собственную характеристику товара или системы в целом, которая
относится к требованию». Т.е. из определения легко можно понять, что характеристика качества будет формироваться только при наличии требования
потребителя.
«Контроль качества» - один из основных наиболее объемных бизнеспроцессов при осуществлении управления качеством. Значение контроля качества заключается в том, что он позволяет выявить допущенные отступления, чтобы исправить их перед поставкой продукции заказчику [19].
Виды контроля качества:
1. По цели контроля
 приемочный
 контроль качества товара для оценки состояния технического процесса
2. По возможности использования контролируемой продукции
 разрушающий
 неразрушающий
3. По объему контролируемой продукции
 сплошной
 выборочный
4. По стадиям производства
 входной
 операционный
 готовой продукции
 хранения продукции
 транспортировка продукции
5. По контролируемому параметру
 по качественному признаку
66
 по количественному признаку
6. По характеру контроля
 инспекционный
 летучий
7. По принципам решения
 активный
 пассивный
8. По характеру поступления продукции на контроль
 непрерывный
 контроль партии продукции
9. По средствам контроля
 визуальный
 органолептический
 инструментальный
Для статистических методов контроля качества часто используют контрольную карту – график, отличающийся наличием предельных контрольных
линий: верхних и нижних, обозначающих допустимый диапазон разброса характеристик в обычном условии течения процесса.
Рис. 5.1 Связь элементов термина «качество» в графическом виде
5.1 Операционные определения характеристик качества
При разработке продукции необходимо детально подойти к вопросу
преобразования требования потребителя в характеристику качества. Помимо
этого, производитель должен обеспечить необходимую степень соответствия
67
вышеуказанных характеристик требованиям. Большую сложность данный
вопрос составляет в том случае, когда требования потребителя выражены в
двух и более характеристиках, например, покупка обуви, когда потребителю
важны такие детали как качество материала, пошива и удобства при носке.
Тогда американскому ученому Эдвардсу Дэмингу, консультанту в сфере менеджмента пришла идея ввести объединенное понятие «операциональное
определение». Операциональное определение (ОО) – своего рода уточнение
термина, относящегося к определенной системе, которая находится в определенных условиях и для людей, которые в этой системе задействованы [19].
Данный термин не имеет других определений, его отличие в том, что при
любых обстоятельствах, в любое время, разным людьми в разных социальных сферах оно имеет постоянное толкование. Поэтому при применении
термина ОО важны условия его применения. Существует 3 основных элемента, без которых невозможно сформировать термин:
1. Тест – метод испытания;
2. Критерий – стандарт, по которому оценивают третий элемент –
решение;
3. Решение – процедура (результат соответствует критерию или
нет).
Ниже в таблице 9 приведен пример разработки операционального определения. В свою очередь создание такого определения исключает двойное
толкование смысла в требованиях.
Таблица 7
Разработка Операционального определения «Быстродействующая
ПЛИС»
Быстрая
Элементы ОО
Комментарии
Критерий:
В данном случае стандарт заключается
корректная
работа в быстрой и безошибочной работе про-
ПЛИС без допущения ошибок и екта, запрограммированного на ПЛИС.
68
выхода из строя
В качестве числовых критериев:
Среднее количество логических элементов 22 320
Количество допустимых задержек в
программе < 1%
Тест:
Процедура тестирования, которая по-
Программирование определенной казывает соответствие ПЛИС стандарпрограммой,
фиксированный
подразумевающая ту:
набор
логиче- В выбранную ПЛИС фирмы Altera
ских элементов (22 320 шт.) и ис- прописывают программу, рассчитанключающая задержки
ную на быструю работу и включающую в себя 22 320 логических элементов
Решение:
Для принятия любого решения требу-
Если проект работает медленно, ется провести тестирование проекта на
то программе не хватает облег- его работоспособность. Если же проект
ченных вариантов операций и ло- работает исправно и в результатах не
гических элементов
появляются ошибки, значит количество допустимых задержек < 1% и количество логических элементов соответствует действительности.
При программировании ПЛИС необходимо учитывать:
 Тестирование схемы при максимальных нагрузках;
 Обеспечивать запас логических элементов;
 Использовать простые операции;
 Защита схемы от внешних воздействий.
69
Выводы
В данной выпускной работе был разработан проект, подразумевающий
быструю безошибочную работу ПЛИС. В проекте используется около 1900
элементов логики, что позволяет улучшать проект и даже видоизменять без
изменения аппаратной части, так как если выйдет несколько элементов логики из строя, всегда можно запрограммировать на свободные оставшиеся
элементы. Проект прошел тестирование и было произведено заключение,
что он полностью работоспособен и удовлетворяет поставленным условиям.
70
Заключение
В выпускной квалифицированной работе была спроектирована микропроцессорная система 8085 на основе интегральной схемы фирмы Altera.
Второй задачей работы служило создание метода ввода и выводы информации без квитирования и с квитированием. Ввод информации осуществлялся
через 8 ключей, а вывод ее был приведен на светодиоды. По нажатию кнопки
данные обновлялись, если положение ключей до этого было изменено.
Результаты полностью удовлетворили поставленные задачи. Их можно
было наблюдать на временных диаграммах, представленных в четвертой главе. В проекте остались свободные пины, что в дальнейшем позволяет добавлять функции данной микропроцессорной системе, тем самым ее усовершенствовать.
Основные команды для проекта записывались в информационный файл
формата MIF, который в любой момент можно отредактировать под нужную
работу.
Данный проект можно использовать в учебных целях на лабораторных
работах и практических занятиях.
71
Список используемой литературы
1. Пухальский Г.И. Проектирование микропроцессорных систем: Учебное пособие для вузов. – СПб.: Политехника, 2013. – 459 с.
2. Kaushik D.K. An Introduction to Microprocessor 8085. – New Delhi.:
Dhanpat Rai Publishing Company, 2010. – 536 c.
3. Балашов Е.П., Пузанков Д.В. Микропроцессоры и микропроцессорные
системы: Учебное пособие для вузов / Под ред. В.Б. Смолова. – М.:
Радио и связь, 1981. – 328 с.
4. Коффрон Дж. Технические средства микропроцессорных систем:
Практический курс. / Пер. с англ. – М.: Мир, 1983. – 344 с.
5. Тойкхам Р. Микропроцессоры: Курс и упражнения / Пер. с англ.; Под
ред. В.Н. Грасевича. – М.: Энергоатомиздат, 1987.
6. Гуртовцев А.Л., Гудыменко С.В. Программы для микропроцессоров:
Справ. пособие. – Мн.: Высш. шк., 1989. – 352 с.
7. Стешенко В.Б. ПЛИС фирмы Altera: элементная база, система проектирования и языки описания аппаратуры. – М.: Издательский дом
«Додэка-XXI», 2007. - 576с.
8. Армстронг Дж.Р. Моделирование цифровых систем на языке VHDL.
Пер. с англ.// М.: Мир, 1992, с.175.
9. Губанов Д.А., Стешенко В.Б., Храпов В.Ю., Шипулин С.Н. Перспективы реализации алгоритмов цифровой фильтрации на основе ПЛИС
фирмы «Altera».//Chip News, №9-10, 1997.
10.Вицин Н. Современные тенденции развития систем автоматизированного проектирования в области электроники. // Chip News, №1, 1997/
11.Стешенко В.Б. ACCEL EDA: технология проектирования печатных
плат. //М.: Нолидж, 2000.
12.Стешенко В.Б. ПЛИС фирмы «Altera»: проектирование устройств обработки сигналов //М.: «Додэка», 2000.
72
13.Шипулин С.Н., Губанов Д.А., Стешенко В.Б., Храпов В.Ю. Тенденции
развития ПЛИС и их применение для цифровой обработки сигналов //
Электронные компоненты, №5, 1999, с. 42-45.
14.IEEE Standart 1149.1a – 1993.
15.AN74 High Speed Boards Design, «Altera corporation», ver.1, April 1998.
16.Palnitkar S. Verilog HDL. A Guide to Digital Design and Synthesis, 2008.
17.David Harris, Sarah Harris. «Digital Design and Computer Architecture»,
2012.
18. Угрюмов Е.П. Цифровая схемотехника.Уч пособие для ВУЗов. 2-е
изд.
СПб.: БХВ-Петербург,2007.-800с.
19.Семенов В.П. Обеспечение качества разработки продукции: Методические указания, СПбГЭТУ «ЛЭТИ», 2015. – 15 с.
73
ПРИЛОЖЕНИЕ А ОПЕРАТОРЫ И ИХ ПРИОРИТЕТ В ЯЗЫКЕ VERILOG
Таблица ПA. 1 Основные операторы в языке Verilog
Тип оператора
Операция
Символ
Умножение
Деление
Арифметический Сумма
Разность
Остаток
«НЕ»
«ИЛИ»
Логический
«И»
Больше чем
Больше либо равно
Отношение
Меньше чем
Меньше либо равно
Поразрядный
Сдвиг
Условный
*
/
+
%
!
||
&&
>
>=
<
<=
Поразрядное «И»
Поразрядное «ИЛИ»
Сдвиг вправо
Сдвиг влево
&
|
>>
<<
Условный
?:
Таблица ПА. 2 Приоритет операторов в языке Verilog
Оператор
Приоритет
+ - ! ~ (unary)
*/%
<< >>
< <= => >
== !=
& ~&
&&
||
?:
Высший
Низший
74
ПРИЛОЖЕНИЕ Б ПРЕДСТАВЛЕНИЕ ОПЕРАЦИИ КОНЪЮНКИИ
module andmy(output out, input a1, input a2); // описание всех портов
assign out = a1 & a2; // функция assing задает постоянное значение выходному
// порту out, как функцию от входа
endmodule
// обязательное окончание программы
75
ПРИЛОЖЕНИЕ В БЛОЧНЫЙ ВИД МУЛЬТИПЛЕКСОРА 2 В 1
76
ПРИЛОЖЕНИЕ Г АСИНХРОННЫЙ D-ТРИГГЕРА
77
ПРИЛОЖЕНИЕ Д ВЫВОД ОДНОРАЗРЯДНОГО ЧИСЛА НА ДИСПЛЕЙ
78
ПРИЛОЖЕНИЕ Е АСИНХРОННЫЙ 4-РАЗРЯДНЫЙ СЧЕТЧИК
79
ПРИЛОЖЕНИЕ Ж СЕКУНДОМЕР
80
Два остальных модуля counter3 и counter4 по структуре напоминают первый
моду, также запрограммирован счетчик по модулю 10 и имеется сигнал
переноса.
81
82
ПРИЛОЖЕНИЕ З ТАЙМЕР И ЕГО БЛОК-СХЕМА
83
… Модуль counter2 выполнен по тому же алгоритму, что и counter1…
84
ПРИЛОЖЕНИЕ И СХЕМА МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ
85
Download