Введение
1 Анализ технического задания 8
1 Разработка архитектуры микропроцессора 10
1.1 Функциональная схема 10
1.2 Арифметико-логическое устройство 13
1.3 Организация памяти 16
1.4 Программный автомат 20
1.5 Система команд 21
1.6 Выводы 26
2 VHDL описание микропроцессора 28
2.1 Разработка программной модели АЛУ 30
2.2 Разработка программной модели ОЗУ и ПЗУ 33
2.3 Разработка программного автомата 35
2.4 Выводы 39
3 Разработка тестов и тестирование микропроцессора 40
3.1 Результаты компиляции проекта 40
3.2 Тестирование АЛУ 41
3.3 Тестирование ОЗУ 43
3.4 Результаты тестирования работы микропроцессора 44
3.1 Выводы 46
ЗАКЛЮЧЕНИЕ 48
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 50
ПРИЛОЖЕНИЕ А
Микропроцессор – это функционально-законченное программно-управляемое устройство, осуществляющее процесс обработки информации, управления им, построенное на одной или нескольких больших (БИС) или сверхбольших интегральных схемах (БИС).
Стремительное развитие технологии программируемой вентильной матрицы (Field-ProgrammableGateArray, FPGA) привело к тому, что сегодня стало возможным создание soft-процессоров, которые по своим характеристикам сопоставимы с серийно-выпускаемыми процессорами общего назначения.
Важно, что подобные проекты, реализованные с помощью языков описания аппаратуры, не привязаны к конкретной модели ПЛИС, а могут встраиваться в различные семейства в качестве устройства управления прочими цифровыми узлами. Кроме того, разработка процессора как такового не обязательно превращается в чрезмерно сложный процесс, доступный только высококвалифицированным инженерам с богатейшим опытом работы.
Представления об архитектурах процессоров, принципах их работы и практические навыки их проектирования помогают формировать круг разработчиков, способных заниматься не только созданием процессоров на базе ПЛИС, но и проектированием процессоров как таковых. В рамках организации это означает, что наличие у разработчиков общих представлений о возможностях программируемой элементной базы позволит им выполнять реальные проекты, хорошо понимая все выгоды софт-процессоров или используя опыт одного из предыдущих проектов, выполненных при освоении данной технологии.
Таким образом, у студентов выбранной специальности и направления должно быть сформировано представление о микропроцессорах и принципах их работы. В следствии вышесказанного, реализация микропроцессора на ПЛИС для учебной практики наиболее перспективна. Каждый студент может наглядно изучить принцип работы микропроцессора, а при желании дополнить его своим функционалом и посмотреть, что из этого получится. Так же, когда изучение данного микропроцессора окончено, в ПЛИС можно загрузить новый проект и работать с ним.
При разработке микропроцессора были учтены возможности и особенности разработанных ранее моделей. Были рассмотрены работы других ВУЗов. Два рассмотренных далее методических указания основываются на уже готовых микропроцессорных системах серии КР580. Эти лабораторные комплексы разработаны для дисциплин «Микропроцессорные средства автоматизации» и «Микропроцессорные устройства автоматики» КемТИПП [1] и СибАДИ [2]. Данные работы сделаны на изготовленных микропроцессорных системах, и данных проектов, описанных с помощью языков описания аппаратуры нету в открытом доступе, что не позволяет студентам изучить устройство этих систем.
Помимо этого, создание собственного микропроцессора было обусловлено тем, что уже имеющиеся на кафедре модели не могли позволить программную работу того уровня, который требуется для студентов выбранной специальности и направления. Разработка учебного микропроцессора базируется на работе, в которой использовался стенд ОАВТ и сменная плата и изучались принципы работы арифметико-логического устройства. Недостатками такого стенда является его высокая габаритность, трудоѐмкость выполнения работы и ручное устройство управления. Также на данном стенде не удастся реализовать задачи проектирования на программном языке VHDL, который изучается по выбранному типу специальности. В целях всего перечисленного выявилась необходимость более современного, функционального и удобного оборудования для изучения учебного микропроцессорного комплекта на базе программируемых логических интегральных схем (ПЛИС).
Целью данной дипломной работы является создание VHDL описания микропроцессора (МП), предназначенного для использования в учебном процессе при проведении лабораторных работ по дисциплине «Проектирование цифровых устройств»
Задачами дипломной работы в связи с указанной целью являются:
а) разработать архитектуру микропроцессора, удовлетворяющего заявленным требованиям и систему команд;
б) подготовить на VHDL описание разработанного микропроцессора;
в) Выполнить тестирование работы созданного проекта.
Структура пояснительной записки в целом совпадает с поставленными задачами. В первой главе приведен анализ технического задания. Вторая глава посвящена разработке функциональной схемы и системы команд микропроцессора. В третьей главе описан процесс реализации микропроцессора на языке описания аппаратуры VHDL. В четвертой главе проведено тестирование работы созданного проекта, построены временные диаграммы, поясняющие работу микропроцессора
В рамках выпускной квалификационной был разработан простейший восьмибитный микропроцессор. Процесс разработки включал в себя этап выбора архитектуры, описание функционирования основных узлов микропроцессора, описание адресного пространства микропроцессора, выбор системы команд, а также разработку программного автомата. В результате был составлен VHDL- код микропроцессора и проведено тестирование.
Также был приведен процесс создания описания проектируемого устройства на языке VHDL в САПР Quartus. Проект представлен в виде иерархической структуры. Была определена файловая иерархия данного проекта. Полное VHDL-описание объекта состоит из двух отдельных описаний: описание интерфейса объекта и описание архитектуры объекта Таким образом разработаны и описаны модели основных компонент проекта - программная модель АЛУ , ОЗУ и ПЗУ. Представлен результат синтеза каждой модели. Кроме того, описан процесс создания программного автомата, приведены необходимые таблицы и составлен граф программного автомата.
В ходе тестирования проекта были построены временные диаграммы, подтверждающие корректность работы, что еще раз подтвердило успешное исполнение поставленного технического задания.
Микропроцессор состоит из следующих блоков: регистр аккумулятора (Reg_A), регистр временного хранения данных (Reg_B), арифметико- логическое устройство (ALU), регистры состояний (Reg_PSW_s и Reg_PSW_z), выходной порт (Reg_OUT), блок ПЗУ памяти программ (ROM), блок ОЗУ памяти данных (RAM), счетчик команд (PC), регистр инструкций (IR), мультиплексор шины данных (Mux_8), мультиплексор адреса памяти, программный автомат.
Микропроцессор поддерживает 16 команд. Это команды передачи данных, арифметические операции, логические операции, команды ввода и вывода информации.
К недостаткам можно отнести отсутствуют команд безусловного перехода, команд условного перехода, команд управления стеком, так как данные команды усложнили бы систему команд, архитектуру микропроцессора и принцип его работы. Однако, для образовательных целей, достаточно имеющегося набора команд.
Архитектура микропроцессора является открытой и при необходимости можно расширить систему команд и усложнить архитектуру. Для изменения системы команд, необходимо изменить программный автомат и составить новый граф работы программного автомата.