Разработка IP - ядра коммутационного микропроцессора

Автор работы: Пользователь скрыл имя, 01 Декабря 2012 в 20:48, курсовая работа

Краткое описание

IP-ядро является блоком логической схемы, которое используется в изготовлении программируемой матрицы логических элементов или специальных интегральных схем. Таким образом, IP-ядро является универсальным элементом при построении интегральных схем. Идеально, IP ядро должно быть полностью переносным – то есть легко устанавливаемым в любую технику. Универсальные асинхронные приемопередатчики, центральные процессоры, регуляторы (контроллеры) Ethernet, и интерфейсы PCI – все примеры ядер IP.

Содержание работы

Календарный план
Аннотация
Введение
Техническое задание
Разработка VHDL модели проектируемого устройства
• Граф переходов состояний микропроцессора
• Синтез устройства
• Структурная схема устройства
• Текст программы на языке VHDL

Содержимое работы - 1 файл

Разработка IP - ядра коммутационного микропроцессора.docx

— 413.70 Кб (Скачать файл)

Саратовский Государственный Технический  Университет

Кафедра «ТКИ»

 

 

 

 

 

 

 

 

 

 

 

 

Пояснительная записка к курсовой работе  
на тему:

«Разработка IP -  ядра коммутационного микропроцессора»

 

 

 

 

 

 

 

Выполнили: 
студенты группы УИТ-32 
************

************

************

 

Проверил: 
************

 

 

 

 

 

Саратов, 2007.

 

Аннотация

 

Основной задачей данной курсовой работы является проектирование IP – ядра коммутационного микропроцессора (БИС КМП типа К583).

Модель устройства разработана  на языке описания аппаратуры VHDL.

 

Для отладки и компиляции разрабатываемого устройства  использовались пакеты программного обеспечения «Or CAD Release 9.1» и «MAX+plus II 10.2». Кроме устройства выполняющего коммутационные функции, для проверки правильности работы было спроектировано диагностирующее устройство. С его помощью можно управлять коммутационным микропроцессором.

 

Процесс проектирования был  разделен на несколько этапов:

 

  • Создание графа переходов, характеризующего состояние системы микропроцессора.
  • Создание функциональных блок схем
  • Разработка  VHDL модели блоков устройства.
  • Отладка, оптимизация и компиляция VHDL модели.
  • Упрощение архитектуры микропроцессора для проверки его работоспособности на FLEX 8000 фирмы ALTERA.
  • Валидация проекта на макетной плате FLEX 8000 фирмы ALTERA с помощью программного обеспечения «MAX+plus II 10.2».

 

На данном этапе были выполнены  первые 4 пункта процесса проектирования.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Содержание

 

Календарный план

4

Аннотация

2

Введение

5

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

6

Разработка VHDL модели проектируемого устройства

  • Граф переходов состояний микропроцессора
  • Синтез устройства
  • Структурная схема устройства
  • Текст программы на языке VHDL

11

11

11

12

12

Временные диаграммы работы устройства

31


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Утверждаю

Зав каф. ТКИ 

***************

 

__________________

4.10.2007

 

Календарный план

к курсовой работе на тему:

«Разработка IP ядра логического микропроцессора»

 

начало  проектирования 4.10.07                                  защита проекта 26.12.07

 

Наименование этапа

Содержание этапа

Примечание

1

Календарный план

Получение задания на курсовое проектирование. Составление календарного плана.

11.10.2007

2

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

Обзор литературы, подбор материалов по теме курсового проекта. Разработка технического задания.

22.10.2005

3

Разработка VHDL модели проектируемого устройства.

Разработка автоматной модели проектируемого устройства. Оптимизация модели. Разработка VHDL модели проектируемого устройства

15.11.05

4

Разработка VHDL модели системы диагностирования проектируемого устройства.

Разработка автоматной модели системы  диагностирования. Оптимизация модели. Разработка VHDL модели СД.

25.11.05

5

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

 Разработка кросс-платы СД-ДУ. Конфигурирование ПЛИС. Временной анализ проектируемого устройства

6.12.05

6

Валидация проекта

Корректировка технического задания. Подготовка к защите..

20.12.05


 

 

 

Исполнитель ____________________________

 

 

Руководитель  проекта:

***************

 

 

 

 

 

 

 

 

Введение

 

Разработка IP-ядер.

 

IP-ядро является блоком логической схемы, которое используется в изготовлении программируемой матрицы логических элементов или специальных интегральных схем. Таким образом, IP-ядро является универсальным элементом при построении интегральных схем. Идеально, IP ядро должно быть полностью переносным – то есть легко устанавливаемым в любую технику. Универсальные асинхронные приемопередатчики, центральные процессоры, регуляторы (контроллеры) Ethernet, и интерфейсы PCI – все примеры ядер IP.

Известны 3 вида IP-ядер - жесткие, твердые и мягкие. Жесткое ядро – материальное воплощение конструкции. Примером жесткого ядра являются приложения plug-and-play. Твердые ядра, иногда называемые полужесткими, также обладают свойствами жестких ядер, но могут быть конфигурированы к различным приложениям. Наиболее гибкие из этих трех категорий, мягкие ядра существуют как список соединений или как код описания аппаратного языка (VHDL).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

БИС КМП обеспечивает выполнение следующих операций: передачу информации из магистралей в регистры, из регистров в магистрали и между регистрами, межмагистральные передачи, логическую обработку байтовых данных (конъюнкция, дизъюнкция, суммирование по модулю 2); операции коммутации двухбайтовых данных; последовательный приём и одновременную выдачу до четырёх байтов данных; сравнение байтов данных из регистров на три магистрали;  операции приёма и выдачи 4-байтовых данных; сравнение байтов данных с выдачей признака равенства нулю; мажоритирование байтовых данных из трёх регистров по принципу 2 из 3 с записью результата в три регистра, мажоритирование байтовых данных из трёх магистралей по принципу 2 из 3 с записью результата в один регистр.

 

Условное графическое  обозначение БИС КМП должно соответствовать  схеме, приведённой ниже.

Рис. Условное графическое обозначение БИС КМП типа К583КП1.

 

 

 

Назначение выводов микросхемы представлено в таблице ниже.

 

Номер вывода

обозначение

Наименование

Примечание

1

S1

Синхросигнал приема микрокоманды

Вход

2

S2

Синхросигнал выполнения микрокоманды

Вход

3

S3

Синхросигнал стробирования  выдачи информации

Вход

4

Z

Признак нуля

Выход

5,6

8-13

L5

[00-07]

Магистраль

микрокоманды

Вход

7

CS

Сигнал выборки кристаллы

Вход

24

 

Общий

-

25

11

Питание

-

48

12

,,

-

14-23

26-47

L1-L4

[00-07]

Магистрали

данных

Вход/Выход


 

В состав микросхемы входят следующие функциональные узлы: восемь 8-разрядных регистров данных RA1-RA4, RB1-RB4; четыре 8-разрядных буферных регистров RL1-RL4; четыре 8-разрядных двунаправленных магистрали данных L1-L4; одноразрядная магистраль выдачи признака нулевого результата Z; 8-Разрядное логическое устройство; 8-разрядных регистр хранения микрокоманд, поступающих по магистрали LMI; одноразрядный регистр выборки кристалла RCS; устройство управления.

Структурная схема БИС  КМП приведена ниже.

 

 

 

 

 

 

 

 

 

 

 

 

Рис. Структурная схема БИС КМП.

 

К особенностям управления относится наличие вывода CS (выборка кристалла), используемого при построении микропроцессорных систем для указания о работе микросхемы в данном такте. Логическое устройство производит выполнение логических операций над операндами, содержащимися в регистрах RA1-RA4 или поступающих с магистралей L1-L4. Логическое устройство имеет два входа (A и B) и выполняет одну из четырёх логических операций: Дизъюнкция, конъюнкция, сложение по модулю 2, транзитная передача.

При выполнении любой операции логическое устройство формирует признак  нулевого результата, который выдается на вывод (если результат операции равен  лог. 0, то Z=0). Результат операции заносится в один из четырёх или в три из четырёх регистров RB1-RB4. Данные, хранящиеся в регистрах RB1-RB4, могут выдаваться на соответствующие магистрали L1-L4. Пересылка байтов данных возможна с любой из магистралей L1 и L4 на любую L2 и L3 или одновременно с магистралей L1 и L4 на магистрали L2 и L3.

 

 

 

 

 

 

 

 

Система микрокоманд

 

 

 

 

 

Управление работой микросхемы осуществляется системой 8-разрядных  микрокоманд, представленной на рисунках выше.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разработка VHDL модели проектируемого устройства

 

Граф переходов состояний  микропроцессора

 

В зависимости от кода микрокоманды происходит выполнение одной из 14 микрокоманд.

 

 

Синтез устройства

Синтез микропроцессора  осуществлялся с использованием двух программных продуктов «Or CAD Release 9.1» и «MAX+plus II 10.2».

При создании структурных  схем руководствовались техническим  заданием, в частности, приведенной  в нем структурной схемой. Устройство блоков выполнялось на основе опыта, полученного при выполнении лабораторных работ, и часть программ были позаимствованы из них.

 

Структурная схема устройства

 

На рисунке приведена  структурная схема в среде  Or CAD 9.1

 

Текст программы на языке  VHDL

Как видно из структурной  схемы, проект состоит из нескольких иерархических блоков, для каждого  из которых был написан свой VHDL-код. Ниже приведён VHDL-код для следующих иерархических блоков – mng_device (устройство управления) и logical_device (логическое устройство).

  1. mng_device

-- VHDL created by OrCAD Express

Library ieee;

Use ieee.std_logic_1164.all;

Use ieee.numeric_std.all;

 

ENTITY mng_device is

PORT (

RMI_OUT : IN STD_LOGIC_VECTOR(0 to 7);

OP : OUT STD_LOGIC_VECTOR(0 to 7);

OP_L1 : OUT STD_LOGIC:='0';

OP_L2 : OUT STD_LOGIC:='0';

OP_L3 : OUT STD_LOGIC:='0';

OP_L4 : OUT STD_LOGIC:='0';

OP_RA1 : OUT STD_LOGIC:='0';

OP_RA2 : OUT STD_LOGIC:='0';

OP_RA3 : OUT STD_LOGIC:='0';

OP_RA4 : OUT STD_LOGIC:='0');

 

END mng_device;

 

ARCHITECTURE behavior OF mng_device IS

BEGIN   

OP(0 to 7) <= RMI_OUT(0 to 7);   --SEND OP to logical device

 

mng_device: process(RMI_OUT)               

begin   

case RMI_OUT is 

---------------------microcomand 3--------------------------

when "10000000" =>  OP_L1 <= '1'; --L1<=RB1_OUT;

when "10000100" =>  OP_L2 <= '1'; --L2<=RB2_OUT;

when "10001000" =>  OP_L3 <= '1'; --L3<=RB3_OUT;

when "10001100" =>  OP_L4 <= '1'; --L4<=RB4_OUT;   

 

when "10000001" =>  OP_L1 <= '1'; --L1<=RB1_OUT;

when "10000101" =>  OP_L2 <= '1'; --L2<=RB2_OUT;

when "10001001" =>  OP_L3 <= '1'; --L3<=RB3_OUT;

when "10001101" =>  OP_L4 <= '1'; --L4<=RB4_OUT; 

 

when "10000010" =>  OP_L1 <= '1'; --L1<=RB1_OUT;

when "10000110" =>  OP_L2 <= '1'; --L2<=RB2_OUT;

when "10001010" =>  OP_L3 <= '1'; --L3<=RB3_OUT;

when "10001110" =>  OP_L4 <= '1'; --L4<=RB4_OUT;

 

when "10000011" =>  OP_L1 <= '1'; --L1<=RB1_OUT;

when "10000111" =>  OP_L2 <= '1'; --L2<=RB2_OUT;

when "10001011" =>  OP_L3 <= '1'; --L3<=RB3_OUT;

when "10001111" =>  OP_L4 <= '1'; --L4<=RB4_OUT;

------------------------------------------------------------ 

 

--------------------microcomand 8--------------------------

---when "1101JJXX" =>  RAj <= Lj

 

when "11010000" =>  OP_RA1 <= '1';

when "11010100" =>  OP_RA2 <= '1';

when "11011000" =>  OP_RA3 <= '1';

when "11011100" =>  OP_RA4 <= '1';

 

 

when "11010001" =>  OP_RA1 <= '1';

when "11010101" =>  OP_RA2 <= '1';

when "11011001" =>  OP_RA3 <= '1';

when "11011101" =>  OP_RA4 <= '1';

 

when "11010010" =>  OP_RA1 <= '1';

when "11010110" =>  OP_RA2 <= '1';

when "11011010" =>  OP_RA3 <= '1';

when "11011110" =>  OP_RA4 <= '1'; 

 

when "11010011" =>  OP_RA1 <= '1';

when "11010111" =>  OP_RA2 <= '1';

when "11011011" =>  OP_RA3 <= '1';

when "11011111" =>  OP_RA4 <= '1';

----------------------------------------------------------

                             

--------------------microcomand 9--------------------------

 

when "11100000" =>

Информация о работе Разработка IP - ядра коммутационного микропроцессора