Автор работы: Пользователь скрыл имя, 01 Декабря 2012 в 20:48, курсовая работа
IP-ядро является блоком логической схемы, которое используется в изготовлении программируемой матрицы логических элементов или специальных интегральных схем. Таким образом, IP-ядро является универсальным элементом при построении интегральных схем. Идеально, IP ядро должно быть полностью переносным – то есть легко устанавливаемым в любую технику. Универсальные асинхронные приемопередатчики, центральные процессоры, регуляторы (контроллеры) Ethernet, и интерфейсы PCI – все примеры ядер IP.
Календарный план
Аннотация
Введение
Техническое задание
Разработка VHDL модели проектируемого устройства
• Граф переходов состояний микропроцессора
• Синтез устройства
• Структурная схема устройства
• Текст программы на языке VHDL
Саратовский Государственный Технический Университет
Кафедра «ТКИ»
Пояснительная записка к курсовой
работе
на тему:
«Разработка IP - ядра коммутационного микропроцессора»
Выполнили:
студенты группы УИТ-32
************
************
************
Проверил:
************
Саратов, 2007.
Аннотация
Основной задачей данной курсовой работы является проектирование IP – ядра коммутационного микропроцессора (БИС КМП типа К583).
Модель устройства разработана на языке описания аппаратуры VHDL.
Для отладки и компиляции разрабатываемого устройства использовались пакеты программного обеспечения «Or CAD Release 9.1» и «MAX+plus II 10.2». Кроме устройства выполняющего коммутационные функции, для проверки правильности работы было спроектировано диагностирующее устройство. С его помощью можно управлять коммутационным микропроцессором.
Процесс проектирования был разделен на несколько этапов:
На данном этапе были выполнены первые 4 пункта процесса проектирования.
Содержание
Календарный план |
4 |
Аннотация |
2 |
Введение |
5 |
Техническое задание |
6 |
Разработка VHDL модели проектируемого устройства
|
11 11 11 12 12 |
Временные диаграммы работы устройства |
31 |
Утверждаю
Зав каф. ТКИ
***************
__________________
4.10.2007
Календарный план
к курсовой работе на тему:
«Разработка IP ядра логического микропроцессора»
начало
проектирования 4.10.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 (логическое устройство).
-- 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
---------------------
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;
------------------------------
--------------------
---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';
------------------------------
--------------------
when "11100000" =>
Информация о работе Разработка IP - ядра коммутационного микропроцессора