МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ


Курсовая работа

по дисциплине

«Моделирование»

Факультет: АВТ

Группа: АМ-610

Студент:

Преподаватель:

Новосибирск 2009

1.  Постановка задачи.

Создать структурные и поведенческие модели исследуемого цифрового узла в пакетах OrCad 9.1, Active-HDL 6.1. Провести имитационные эксперименты с разработанным узлом, целью которых является подтверждение работоспособности узла и проверка на соответствие его временных задержек требуемым. Исследовать возможности используемых инструментальных средств проектирования.

Индивидуальное задание: Разработать четырехразрядный двоичный реверсивный счетчик – ИЕ7: зарубежный аналог - 193. Было принято решение разработать реальный элемент К555ИЕ7 – на элементной базе серии К555: зарубежный аналог – 74LS193, на базе серии 74LS.

2. Условное графическое обозначение моделируемого узла.

Ниже представлены условные графические обозначения моделируемого узла в пакетах OrCAD 9.1 (Рис. 1. слева) и Active-HDL 8.1 (Рис. 1. справа).


Рис. 1. Условное графическое обозначение узла, выполненное в пакетах OrCAD 9.1(слева) и Active HDL 8.1(справа).

3. Таблица назначения выводов узла.

Номер вывода

Обозначение

Назначение

Входные выводы

1

D0

Информационный вход

2

D1

Информационный вход

3

D2

Информационный вход

4

D3

Информационный вход

5

PE

Вход разрешения параллельной загрузки

6

R

Вход сброса

7

CU

Вход для счета на увеличение

8

CD

Вход для счета на уменьшение

Выходные выводы

9

Q0

Выход нулевого разряда

10

Q1

Выход первого разряда

11

Q2

Выход второго разряда

12

Q3

Выход третьего разряда

13

TCU

Вывод окончания счёта на увеличение

14

TCD

Вывод окончания счёта на уменьшение

4. Логическая таблица режимов работы узла.

НЕ нашли? Не то? Что вы ищете?

Режим

Вход

Выход

R

PE

CU

CD

D0

D1

D2

D3

Q0

Q1

Q2

Q3

TCU

TCD

Сброс

H

X

X

L

X

X

X

X

L

L

L

L

H

L

H

X

X

H

X

X

X

X

L

L

L

L

H

H

Параллельная загрузка

L

L

X

L

L

L

L

L

Qn=Dn

H

L

L

L

X

H

L

L

L

L

Qn=Dn

H

H

L

L

L

X

H

H

H

H

Qn=Dn

L

H

L

L

H

X

H

H

H

H

Qn=Dn

H

H

Счет на увеличение

L

H

H

X

X

X

X

Счет на увеличение

H

H

Счет на уменьшение

L

H

H

X

X

X

X

Счет на уменьшение

H

H

Примечание: L – низкий уровень

H – высокий уровень

X – неопределенное состояние

↑ - изменение сигнала с состояния «логического 0» в состояние «логической 1»

Qn-группа выходов Q, где n-номер разряда (с нулевого по третий)

5. Таблица реальных задержек работы узла.

Параментр

От входа

К выходу

TYP

UNIT

Fmax

25

MHz

tPHL

CU

TCU

17

ns

tPHL

18

tPLH

CD

TCD

16

ns

tPHL

15

tPLH

CU, CD

Q0,Q1,Q2,Q3

27

ns

tPHL

30

tPLH

PE

Q0,Q1,Q2,Q3

24

ns

tPHL

25

tPHL

R

Q0,Q1,Q2,Q3

23

ns

Требования к временным соотношениям в схеме

Время предустановки данных должно быть более 15 ns;

Время удержания данных после их загрузки с информационных входов (снятие сигнала ЗУ) должно быть более 5 ns;

6. Описание работы узла.

Микросхема ИЕ7 - четырехразрядный двоичный реверсивный счетчик. Импульсные тактовые входы для счета на увеличение CU (вывод 7) и на уменьшение CD (вывод 7) в этой микросхеме раздельные. Состояние счетчика меняется по положительным перепадам тактовых импульсов: от низкого уровня к высокому на каждом из этих тактовых входов.

Для упрощения построения счетчика с числом разрядов, превышающим четыре, микросхема имеют выводы окончания счета на увеличение TCU (вывод 13) и на уменьшение TCD (вывод 14). От этих выводов берутся тактовые сигналы переноса и заёма для последующего четырехразрядного счетчика.

По входу разрешения параллельной загрузки РЕ (вывод 5) запрещается действие тактовой последовательности и даётся команда загрузки четырехразрядного кода в счетчик, а по входу сброса R (вывод 6) – сброса кода.

В микросхеме ИЕ7 счетчик основан на четырех D-триггерах, который был искусственно превращен в T-триггер, путём подачи выхода триггера на вход D. Счетчик можно переводить в режимы сброса, параллельной загрузки, а также синхронного счета на увеличение и уменьшение.

Если на вход CD подается импульсный перепад от низкого уровня к высокому (дается команда на уменьшение-down), от содержимого счетчика вычитается 1. Аналогичный перепад, поданный на входе CU, увеличивает (up) счет на 1. Если для счета используется один из этих входов, то на другом тактовом входе следует зафиксировать напряжение высокого логического уровня. Первый триггер счетчика не может переключиться, если на его тактовом входе зафиксировано напряжение низкого уровня. Во избежание ошибок менять направление счета следует в моменты, когда запускающий тактовый импульс перешел на высокий уровень, т. е. во время плоской вершины импульса.

На выходах TCU и TCD логический уровень - высокий. Если счет достиг максимума (Высокий логический уровень на всех выходах Q), то с приходом следующего тактового перепада на вход CU от высокого уровня к низкому на выходе TCU появится низкое напряжение. После возврата напряжения на тактовом входе CU к высокому уровню напряжение на выходе TCU останется низким еще на время, соответствующее задержке элемента, а потом переключится в состояние высокого логического уровня.

Аналогично на выходе TCD появляется напряжение низкого уровня, если на вход CD пришел счетный перепад низкого уровня (после низкого логического уровня на всех выходах Q). Импульсные перепады от выходов TCU и TCD служат как тактовые для последующих входов CU и CD при конструировании счетчиков более высокого порядка.

Если на вход разрешения параллельной загрузки РЕ подать напряжение низкого уровня, то код, зафиксированный ранее на параллельных входах DO-D3 (выводы 1, 2, 3, 4), загружается в счетчик и появляется на его выходах QO-Q3 (выводы 9, 10, 11, 12) независимо от сигналов на тактовых входах. Следовательно, операция параллельной загрузки - асинхронная.

Параллельный запуск триггеров запрещается, если на вход сброса R подано напряжение высокого уровня. На всех выходах Q установится низкий уровень. Если во время, а также после операций сброса и загрузки придет тактовый перепад от низкого в высокому уровню, микросхема примет его как счетный.

7. Моделирование узла в пакете OrCAD 9.1.

7.1. Условное графическое обозначение проектируемого узла в виде иерархического символа.

Условное графическое изображение проектируемого узла в виде иерархического символа представлено на Рис.

Рис.

7.2. SPICE – проект. Схема замещения проектируемого узла.

Схема замещения проектируемого узла создана на базе собственных элементов, представленных в отечественных графических обозначениях по ЕСКД. За основу брались элементы серии 74LS, которые путём модификаций превращались в элементы серии 555. Все созданные элементы – динамические, сохранялись в библиотеке PSPICEPROJECT. OLB. Представим зарубежные аналоги серии 555:

74LS00

К555ЛА3 (Элемент «И-НЕ»)

74LS02

К555ЛЕ1 (Элемент «ИЛИ-НЕ»)

74LS04

К555ЛН1 (Элемент «НЕ»)

74LS08

К555ЛИ1 (Элемент «2И»)

74LS10

К555ЛА4 (Элемент «3И-НЕ»)

74LS11

К555ЛИ3 (Элемент «3И»)

74LS74

К555ТМ2 (D-триггер)

Однако для полной реализации схемы замещения необходимы еще 2 элемента: «5И-НЕ» и «4И». Элемент «5И-НЕ» заменён 3мя разработанными элементами: (3И+2И)+(И-НЕ)= 5И-НЕ, а элемент «4И» заменён 3мя элементами «2И»: (2И + 2И) + 2И = 4И. Элемент «2ИЛИ» с инвертированными входами был заменён на элемент «2И», так как их таблицы истинности совпадали. D-триггер был искусственно превращен в Т-триггер путём подачи инвертированного выхода на информационный вход D.

Рис.

7.3. Схема верификации иерархического символа.

На схеме верификации присутствует как разработанный элемент К555ИЕ7, так и его зарубежный аналог 74LS193. По временным диаграммам убедимся, что созданный элемент функционирует логически верно.

Рис.


7.4. Результаты моделирования узла.

Рис.

Режимы работы элемента (Рис. ):

    1 – режим «Сброс» 2 – режим «Параллельная загрузка» 3 – режим «Счёт на увеличение» 4 – режим «Счёт на уменьшение»

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

Теперь покажем различные задержки работы микросхемы К555ИЕ7 . Отметим, что моделирование проводилось для номинальных (typical) задержек:

Рис. Задержка распространения сигнала от входа CU до выхода TCU при переключении его из 1 в 0(18 нс).

Рис. Задержка распространения сигнала от входа CU до выхода TCU при переключении его из 0 в 1(16 нс).

Рис. Задержка распространения сигнала от входа CD до выхода TCD при переключении его из 1 в 0(15 нс).

Рис. Задержка распространения сигнала от входа CD до выхода TCD при переключении его из 0 в 1(16 нс).

Рис. Задержка распространения сигнала от входа CU, либо CD до выхода Q при переключении его из 0 в 1(27 нс).

Рис. Задержка распространения сигнала от входа CU, либо CD до выхода Q при переключении его из 1 в 0 (30 нс).

Рис. Задержка распространения сигнала от входа PE до выхода Q при переключении его из 0 в 1(24 нс).

Рис. Задержка распространения сигнала от входа PE до выхода Q при переключении его из 1 в 0(25 нс).

Рис. Задержка распространения сигнала от входа R до выхода Q (23 нс).

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

7.5. Оценка предельных скоростных возможностей узла.

В элементе К555ИЕ7 тактирование производится по входам CU или CD(при увеличении или уменьшении счета). Для демонстрации предельных возможностей будем подавать периодический сигнал на вход CU с разной частотой импульса.

Работа элемента при тактовой частоте 25МГц.

Рис. Работа элемента при тактовой частоте 25МГц.

Рис. Работа элемента при тактовой частоте 36МГц.

При частоте входного импульса более 35Mhz в элементе К555ИЕ7 происходят многочисленные сбои в работе, узел перестаёт функционировать верно.

7.6. PCB Simulate – проект. Схема замещения проектируемого узла.

Условное графическое обозначение проектируемого символа

Рис.

Рис.

7.7. Схема верификации и результаты моделирования узла.

Рис.

Рис.

Режимы работы элемента в PCB Simulate – проекте полностью соответствуют режимам работы в SPICE – проект, поэтому приводить режимы работы на диаграмме не будем.

Рис. Задержка распространения сигнала от входа CU до выхода TCU при переключении его из 1 в 0(18 нс) , при переключении из 0 в 1(16 нс).


Рис. Задержка распространения сигнала от входа CD до выхода TCD при переключении его из 1 в 0 (15 нс), при переключении из 0 в 1(16 нс).

Рис. Задержка распространения сигнала от входа CU, либо CD до выхода Q при переключении его из 0 в 1 (27 нс), при переключении его из 1 в 0 (30 нс).

Рис. Задержка распространения сигнала от входа PE до выхода Q при переключении его из 0 в 1 (24 нс), при переключении его из 1 в 0 (25 нс).

Рис. Задержка распространения сигнала от входа R до выхода Q (23 нс).

9.4. Сравнение результатов моделирования SPICE и PCD Simulate проектов.

7.8. Поведенческая VHDL-модель узла.

-- Подключение необходимых библиотек

library IEEE;

-- Библиотека логических переменных и операций

use IEEE. STD_LOGIC_1164.all;

-- библиотеки двоичной арифметики use

use IEEE. STD_LOGIC_ARITH. all;

use IEEE. STD_LOGIC_UNSIGNED. all;

-- описание портов (входов-выходов) объекта

entity k555ie7_pov is

port(

CD : in STD_LOGIC;

CU : in STD_LOGIC;

D1 : in STD_LOGIC;

D2 : in STD_LOGIC;

D3 : in STD_LOGIC;

D0 : in STD_LOGIC;

PE : in STD_LOGIC;

R : in STD_LOGIC;

Q0 : out STD_LOGIC;

Q1 : out STD_LOGIC;

Q2 : out STD_LOGIC;

Q3 : out STD_LOGIC;

TCD : out STD_LOGIC;

TCU : out STD_LOGIC

);

end k555ie7_pov;

-- Описание функционирования счетчика

architecture k555ie7_pov of k555ie7_pov is

signal z : STD_LOGIC_VECTOR(3 downto 0);

signal temp : STD_LOGIC_VECTOR(3 downto 0);

-- внутреннее состояние счетчика begin

begin

N: process (D0, D1, D2, D3, PE, CU, CD, R)

begin

TCU<='1'after 16 ns; TCD<='1'after 16 ns;

-- Начальная установка при R=1

if (R='1') then z<="0000" after 23 ns;

-- параллельная запись данных с входов D

elsif (R='0' and PE='0') THEN

if z(0)='0' then z(0)<=D0 after 24 ns;

else z(0)<=D0 after 25 ns;

end if;

if z(1)='0' then z(1)<=D1 after 24 ns;

else z(1)<=D1 after 25 ns;

end if;

if z(2)='0' then z(2)<=D2 after 24 ns;

else z(2)<=D2 after 25 ns;

end if;

if z(3)='0' then z(3)<=D3 after 24 ns;

else z(3)<=D3 after 25 ns;

end if;

-- Режим суммирования

elsif (R='0' and PE='1' and CD='1' and CU'event and CU='1')

then z<=z+1;

-- Режим вычитания

elsif (R='0' and PE='1' and CU='1' and CD'event and CD='1')

then z<=z-1;

end if;

if(z="1111" and CU'event and CU='0')

then TCU<='0' after 18 ns;

end if;

if(z="0000" and CD'event and CD='0')

then TCD<='0' after 15 ns;

end if;

end process N;

Q0<=z(0);

Q1<=z(1);

Q2<=z(2);

Q3<=z(3);

check1: process

begin

wait until (PE'event and PE='0');

assert D0'stable (15ns)

Report "!!!Setup Time D from PE < 15ns!!!"

Severity warning;

end process check1;

check2: process

begin

wait until (z'event and PE='0');

assert PE'stable(5ns)

Report "!!!Hold Time D from LOAD < 5ns!!!"

Severity warning;

end process check2;

end k555ie7_pov;

7.9. Схема верификации узла с подключенной VHDL-моделью.

Рис.

Рис.

контроль временных соотношений: