Эмулятор контроля АЛУ по модулю 3
Построение универсального лабораторного комплекса вычислительной техники. Создание программы-эмулятора контроля арифметическо-логического устройства с использованием остаточных кодов по модулю 3. Обоснование элементной базы; синтез основных узлов АЛУ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 01.10.2013 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
СОДЕРЖАНИЕ
Введение
1. Расчетно-теоретическая часть
1.1 Принцип построения УЛК ВТ
1.2 Анализ методов контроля
1.2.1 Контроль с проверкой на четность
1.2.2 Контроль с использованием остаточных кодов
1.3 Разработка схемы электрической структурной контроля АЛУ
1.3.1 Описание работы схемы электрической структурной контроля
1.4 Синтез основных узлов АЛУ
1.4.1 Синтез параллельного сумматора
1.4.2 Синтез схемы кодирования
1.5 Обоснование элементной базы
1.6 Разработка схемы электрической принципиальной контроля АЛУ
1.7 Расчет показателей надежности
2. Конструкторско-технологическая часть
2.1 Выбор среды и языка программирования
2.2 Разработка алгоритмов эмуляторов
2.3 Разработка методики проведения лабораторных работ
3. Экономическая часть
3.1 Определение трудоемкости разработки программного продукта
3.2 Расчёт затрат на оплату труда
3.3 Расчет сметной стоимости программы
4. Мероприятия по обеспечению безопасных условий труда, экобиозащите и противопожарной технике
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
ВВЕДЕНИЕ
В настоящее время вычислительная техника активно развивается и стала неотъемлемой частью жизни современного человека. Для ее дальнейшего развития необходима подготовка новых специалистов высокого уровня.
Для подготовки специалистов любой квалификации в состав обучения должны быть включены лабораторные работы, во время проведения которых будущий специалист должен получить практические навыки по работе со средствами вычислительной техники. Для освоения принципов работы основных цифровых узлов, таких как регистр, счетчик, дешифратор, лучше всего использовать макеты или эмуляторы. В 1987 году для этих целей предприятием УОКО был разработан универсальный лабораторный комплекс вычислительной техники (УЛК ВТ).
Достоинствами УЛК ВТ являются:
- высокая степень наглядности принципа действия смоделированного устройства;
- привитие студентам мануальных навыков в сборке и анализе цифровых схем любой сложности.
Комплекс используется для обучения на протяжении уже двадцати лет. Несмотря на высокий уровень обслуживания, столь долгий период эксплуатации привел к тому, что комплекс дает сбои при выполнении лабораторных работ. Интенсивность отказов и сбоев в работе УЛК ВТ увеличивается, что может привести к его полному выходу из строя. Это повлечет за собой снижение качества учебного процесса.
Поэтому для проведения лабораторных работ было принято решение разработать комплекс на основе новых технологий, а именно программным путем эмуляции различных сложных цифровых схем на базе IBM совместимых ЭВМ с использованием современных программных средств.
В данном дипломном проекте будет разработана программа-эмулятор, имитирующая работу контроля АЛУ с использованием остаточных кодов по модулю 3. Дипломный проект разрабатывался совместно со студентом 418 группы Бергом Виктором Андреевичем.
1. РАСЧЕТНО-ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1 Принцип построения УЛК ВТ
Универсальный лабораторный комплекс вычислительной техники (УЛК ВТ) предназначен для проведения цикла лабораторных работ и обучения студентов навыкам в области схемотехники и микропроцессорной техники. Он позволяет моделировать работу различных электронных устройств.
Комплекс предназначен для непрерывной эксплуатации в течение 8 часов при следующих условиях:
- температура окружающей среды от +10 до +35С;
- относительная влажность воздуха от 40 до 80% при температуре +35С;
- относительное давление от 84 до 107,6 кПА;
- вибрация с частотой 25 Гц и амплитудой не более 0,1 мм.
Питание комплекса осуществляется от сети переменного тока напряжением 220 В с частотой 50 Гц. Допустимые изменения напряжения сети от 187 до 242 В.
В основу комплекса положен метод имитационного моделирования с помощью ЭВМ. Данный метод обладает высокой степенью наглядности при демонстрации принципа действия смоделированного устройства, что является его несомненным достоинством при обучении. УЛКВТ является уникальным средством обучения в своем роде.
Тематикой лабораторных работ комплекса являются:
- “Логические элементы”;
- “Триггеры”;
- “Шифраторы и дешифраторы”;
- “Мультиплексоры и демультиплексоры”;
- “Регистры”;
- “Счетчики”;
- “Сумматор двоичный”;
- “Сумматор десятичный и АЛУ”;
- “Контроль АЛУ по модулю 3”.
- и другие.
В состав комплекса, представленного на рисунке 1, входят следующие узлы:
- базовая ЭВМ (БЭВМ);
- видеопросмотровое устройство (ВПУ);
- контроллер лабораторной установки (КЛУ);
- лабораторная установка (ЛУ);
- устройство ввода информации с гибких магнитных дисков (УВГМД).
ЭВМ базовая ДС-5003 (БЭВМ), выполненная на базе микропроцессора КР580ВМ80, служит для обеспечения функционирования всего комплекса в соответствии с программой выполнения данной лабораторной работы.
Рисунок 1 - Принцип построения УЛКВТ
В состав БЭВМ входят следующие устройства:
- блок питания (БП);
- системный блок (СБ).
Системный блок включает в свой состав следующие узлы:
- блок связи с монитором (БСМ);
- блок ввода/вывода (БВВ).
Блок связи с монитором (БСМ) содержит блок ОЗУ (микросхемы КР565РУ5Д21). На передней панели блока имеется разъем для осуществления передачи информации в монитор.
Блок ввода/вывода (БВВ). На передней панели данного блока имеются специальные разъемы, с помощью которых может осуществляться связь:
- с устройством ввода информации с гибких магнитных дисков (через последовательный порт);
- с локальной компьютерной сетью;
- с пультом клавиатуры;
- имеются порты "ввод" и "вывод".
На печатной плате блока ввода/вывода располагаются основные вычислительные узлы БЭВМ, в том числе микропроцессор КР580ВМ80А. Тактовая частота работы процессора определяется частотой работающего кварца (16000 кГц) через делитель частоты.
Видеопросмотровое устройство ВД-1101 (ВПУ) служит для отображения графической и символьной информации, поступающей по видеоканалу от БЭВМ, обеспечивая диалог ЭВМ с учащимся, вывод на экран указаний по выполнению лабораторной работы, а также моделирует работу 4-х лучевого осциллографа. В верхней части корпуса ВПУ установлена панель управления, на которой размещены ручки регулировки яркости и контрастности изображения. ВПУ содержит автономный источник питания. Включение источника питания производится выключателем сети, расположенном на панели управления ВПУ. Над выключателем сети расположен индикатор, который светится, если ВПУ включено.
Контроллер лабораторной установки (КЛУ) служит для связей модулей лабораторной установки с системным интерфейсом БЭВМ. КЛУ обеспечивает формирование специализированных интерфейсов для модулей лабораторной установки, а также дополнительно содержит ПЗУ (32 Кб) для хранения языка программирования лабораторных работ (ЯПЛР). КЛУ конструктивно выполнен на двухсторонней печатной плате, размещаемой на свободном месте в системном блоке БЭВМ.
Лабораторная установка (ЛУ) состоит из следующих составных частей:
- каркаса;
- модулей клавиатуры (МК);
- модулей индикации (МИ);
- модуля микропроцессора (ММП);
- кабелей-удлинителей для МК;
- кабелей-удлинителей для МИ;
- соединительного кабеля;
- комплекта мнемосхем.
Основной частью ЛУ является каркас, на котором устанавливаются модули и мнемосхемы. Каркас состоит из рамы с панелью, крышки, стенки и блока устройства распределительного (УР). С обратной стороны рама закрывается деревянной крышкой, которая ограничивает доступ учащихся к модулям и формирует место для хранения мнемосхем.
Модуль индикации, представленный на рисунке 2, служит для управления 8-разрядным линейным светодиодным индикатором обслуживания гнезд с целью определения соединений между ними. Модули индикации соединяются между собой в последовательную информационную цепь, которая имеет начало и конец в КЛУ. МИ размещается на печатной плате без корпуса. Вдоль длинной стороны в специальной планке с отверстиями установлены в два ряда (по 8 штук) гнезда и светодиодные индикаторы. МИ имеет два разъема: один (розетка) установлен на плате, другой (вилка) -- вынесен на жгуте. С обратной стороны платы имеется четыре ножки для установки МИ в установочную панель каркаса ЛУ.
Модуль клавиатуры, представленный на рисунке 3, служит для размещения четырех кнопок без фиксации, обеспечивающих коммутацию координатных цепей (матричная клавиатура) и управления 4-разрядным линейным светодиодным индикатором. МК размещается на печатной плате без корпуса. Вдоль длинной стороны платы установлены в два ряда четыре кнопочных переключателя и в специальной планке с отверстиями -- четыре светодиодных индикатора. МК имеет два разъема: один (розетка) установлен на плате, другой (вилка) -- на жгуте.
Рисунок 2 - Модуль индикации
Рисунок 3 - Модуль клавиатуры
Модуль микропроцессора (ММП) служит для управления светодиодными индикаторами (168 шт.) индикаторной панели. Индикаторы располагаются строго определенно в соответствии с мнемосхемой. Модуль микропроцессора размещается на крупногабаритной печатной плате. С одной стороны платы установлены два разъема. Один разъем (розетка) -- на плате, другой разъем (вилка) -- на жгуте.
Напряжение питания (+5В, 4А) для КЛУ и модулей ЛУ поступает из блока питания БЭВМ. Питание передается по последовательной цепи, соединяющей КЛУ с модулями и модули между собой.
В качестве устройства ввода информации в УЛК ВТ разработчиками предполагалось использовать бытовой магнитофон (например «Соната 213С»), у которого имеется ряд недостатков:
- увеличиваются временные затраты, связанные с загрузкой необходимых лабораторных работ;
- большое число сбоев при загрузке и записи программ;
- недолговечность магнитного покрытия, то есть необходимо производить надлежащий уход за магнитной лентой и периодически производить перезапись информации.
От этих недостатков свободно устройство ввода информации с гибких магнитных дисков (УВГМД), которое служит в качестве внешнего запоминающего устройства и осуществляет загрузку в память ЭВМ следующих программ:
- программы выполнения лабораторных работ для изучения принципов построения узлов и устройств ЭВМ;
- тестовые программы;
- программы для использования языка “ЯПЛР” (язык программирования лабораторных работ).
УВГМД представляет собой отдельную ЭВМ, построенную на базе компьютера «SCORPION ZS 256». УВГМД имеет шесть портов вывода и один порт ввода информации, которые подключаются к гнезду «МАГ» БЭВМ отдельными соединительными кабелями.
По сравнению с накопителем на магнитной ленте, УВГМД позволяет повысить:
- скорость и надежность загрузки программ;
- срок и надежность хранения программ.
Универсальный лабораторный комплекс, наряду с достоинствами, обладает рядом недостатков:
- низкая технологичность применяемых модулей, которая при частой их перекоммутация (при смене лабораторных работ) приводит к выходу из строя разъемов модулей;
- коммутация модулей в мнемосхеме является достаточно трудоемкой работой.
Наиболее эффективным путем увеличения числа новых лабораторных работ является разработка программной модели цифровой схемы.
В данном дипломном проекте будет разработана программа, моделирующая работу схемы контроля АЛУ по модулю 3.
1.2 Анализ методов контроля
В любых средствах вычислительной техники (СВТ) передача, хранение и обработка данных осуществляется с помощью специальных кодов. Желательно, чтобы эти коды помимо перечисленных задач могли параллельно обеспечить решение задач контроля и диагностики СВТ. Если коды символов, т.е. букв или цифр, а так же коды команд содержат одинаковое количество разрядов, то такие коды называют равномерными.
Если в коде символов имеется n-разрядов, то с его помощью можно представить 2n различных комбинаций, которые и образуют полный алфавит. Код, в котором все n-разрядов являются информационными, т.е. отведенными для представления символов, называются простыми кодами. Основным недостатком простых кодов является то, что ошибка в любом разряде превращает код одного символа в код другого символа. На практике наибольшее применение для целей контроля получили избыточные коды.
В избыточных кодах для представления символов используют не все возможные 2n комбинации, а только часть из них, другая же является запрещенной, она не используется для кодирования символов. Появление запрещенного кода фиксируется специальными средствами контроля и классифицируется как ошибка. Избыточные коды используются для контроля передачи данных и для контроля арифметических операций.
Известно, что любая арифметическая операция относится к многотактным операциям, поэтому выполнение таких операций СВТ имеет ряд особенностей. Первой особенностью является то, что после каждого рабочего такта информация не остается постоянной. Следовательно, контроль арифметических операций должен производиться на каждом такте обработки. В противном случае ошибка может распространиться и привести к искажению всех дальнейших вычислений. Чтобы этого не произошло средства контроля (СК) должны обладать высоким быстродействием, обеспечивающим выявление ошибок на каждом такте.
Вторая особенность заключается в том, что арифметические действия представляют собой последовательность, состоящую из двух операций: передача данных и их преобразование. Преобразование данных предусматривает такие действия, как сдвиг, преобразование инверсных кодов и собственно арифметическое действие.
Наибольшее распространение для контроля арифметических операций получили следующие избыточные коды:
- контроль с проверкой четности (нечетности);
- контроль с использованием остаточных кодов.
1.2.1 Контроль с проверкой на четность
Код с проверкой четности образуется путем дополнения к группе информационных разрядов одного дополнительного контрольного разряда, т.е. общее число разрядов n будет n = m + 1, где m - число информационных разрядов.
Этот код является самым несложным избыточным кодом с минимальным кодовым расстоянием dmin = 2. Минимальным кодовым расстоянием называется наименьшее число разрядов, значение которых достаточно изменить, чтобы одна кодовая комбинация могла превратиться в другую незапрещенную.
При формировании избыточного кода в контрольный разряд добавляется 0 или 1, таким образом, что сумма единиц в коде, включая и контрольный разряд, была бы либо четной (при контроле по четности), либо нечетной (при контроле по нечетности).
К примеру, закодированное по четности число 10100101 примет вид 10100101.0. Контрольный разряд равен 0, т.к. число уже содержит четное количество единиц.
А это же число, закодированное по нечетности, имеет вид 10100101.1.
Контрольный разряд равен 1, т.к. число единиц при данном виде контроля должно быть нечетным в избыточном коде.
Известно, что при алгебраическом сложении кодов чисел разряды суммы могут быть определены в соответствии со следующими уравнениями:
S1 = a1 b1 p1
S2 = a2 b2 p2
...
Sm = am bm pm,
где
a, b - разряды слагаемых;
p - содержимое переноса.
Произведем суммирование по модулю 2 правых и левых частей. Тогда получим:
S1 S2 ... Sm = (a1 a2 ... am) (b1 b2 ... bm) (p1 p2
... pm)
Обозначив четность суммы - rS, четность слагаемых - ra и rb, четность переносов - rp, можно условие соблюдения четности в процессе суммирования записать так:
rS = ra rb rp
rS ra rb rp = 0
Эти равенства лежат в основе организации контроля правильности выполнения арифметических операций. Они обозначают, что при отсутствии ошибки при суммировании двух чисел четность суммы должна совпадать с четностью слагаемых и четностью переноса. При невыполнении данного условия схема контроля должна выработать сигнал ошибки. Пример контроля приведен на рисунке 4.
Рисунок 4 - Пример контроля арифметических операций по четности
Из приведенных примеров следует, что внесенная в сумму двойная ошибка не обнаруживается, а внесенные ошибки нечетной кратности обнаруживаются.
Однако одиночная ошибка в цепях переноса может привести к образованию двойной ошибки в результате, что не будет обнаружено средствами контроля.
Следовательно, для реализации контроля суммирования двух чисел на четность необходимо:
- в регистрах слагаемых иметь дополнительные разряды, в которых должны быть сформированы значения контрольных разрядов четности: ra и rb;
- предусмотреть возможность формирования четности переноса: rp;
- предусмотреть возможность формирования четности суммы: rS;
- предусмотреть возможность сравнения полученных величин.
Достоинство кода с проверкой четности:
- код обладает невысокой информационной избыточностью, а следовательно, не требует больших аппаратурных затрат на построение схем контроля;
- код обладает высокой обнаруживающей способностью, он обеспечивает 100% обнаружение одиночных ошибок и 100% ошибок нечетной кратности;
- код с проверкой на нечетность позволяет отличить передачу нуля от отсутствия передачи.
Недостатки кода с проверкой четности:
- код не обеспечивает обнаружение двойных ошибок и ошибок четной кратности;
- код не является корректирующим, т.е. он не позволяет найти место ошибки и исправить ее.
Однако по совокупности достоинств и недостатков код с проверкой четности является основным, если к СВТ не предъявляется повышенных требований по надежности.
1.2.2 Контроль с использованием остаточных кодов
Организация данного контроля аналогична организации контроля по четности. Контрольной характеристикой данного контроля является остаток от деления контролируемого слова на модуль q, где q - любое целое положительное число.
r(A) = A-{A/q}q, (1)
где
r(A) - остаток от деления числа A на q;
A - положительное целое число;
{A/q} - целая часть от деления числа А на q.
Данный вид контроля нашел широкое применение, т.к. для него легко реализуется известное из теории чисел выражение:
(2)
Это выражение лежит в основе организации контроля операций сложения по модулю, т.е. после выполнения самой операции сложения над числами Ai и этой же операции над контрольными кодами сравнивают остатки от деления r(Ai) на модуль q (mod q) обоих результатов.
Таким образом, для операции сложения A и B записывают:
r(A+B) mod q = r[r(A) mod q + r(B) mod q] mod q, (3)
что означает, что контрольный код суммы двух чисел A и B по mod q равен контрольному коду от суммы контрольных кодов этих чисел по mod q. В дальнейшем для упрощения записи выражений (mod q) будет опускаться.
При выборе величины mod q необходимо руководствоваться следующими требованиями: любая одиночная ошибка должна приводить к нарушению условий сравнимости результатов по mod q, т.е. ошибка в i-ом разряде двоичного числа должна приводить к искажению этого числа на величину ±2i. Следовательно, контролируемое число примет искаженное значение A±2i. Чтобы обнаружить такую ошибку контрольные коды чисел A и A±2i не должны совпадать: r(A) ? r(A±2i). В соответствии с выражением (3) можно записать r(A±2i) = r[r(A) ± r(2i)]. Из полученной формулы видно, что mod q должен быть выбран таким образом, чтоб число 2i никогда не делилось на q без остатка. В цифровой технике, как правило, используют q = 3, 7, 15, но наибольшее распространение получил q = 3.
Выбор модуля позволяет определить контрольный код r(A) не делением числа A на 3, а суммированием чисел по mod 3, группируя двоичные разряды по 2, начиная с младшего разряда. Получаются четверичные числа в двоичной записи. Кодирование числа с помощью остаточного кода по mod 3 и контрольные характеристики, которые могут получиться при кодировании, представлены на рисунке 5. Нужно отметить, что r(A) = 00 можно представить как 11, т.к. и в том, и в другом случае при делении на модуль получается одно и то же число.
Рисунок 5 - Пример кодирования по модулю 3
Контроль по модулю 3 выполнения арифметической операции сложения двух чисел представлен на рисунке 6.
Равенство левой и правой частей свидетельствует о том, что ошибки отсутствуют. Можно показать, что внесение в сумму одиночной ошибки будет всегда выявлено. Кратные ошибки средства контроля могут выявить, но не во всех случаях.
Рисунок 6 - Пример контроля арифметической операции по модулю 3
Преимуществом контроля по mod 3, по сравнению с контролем по четности (контроль по mod 2), является то, что он обеспечивает более высокую вероятность обнаружения ошибок четной кратности (в том числе, обнаруживает двойные ошибки с вероятностью 50%). Однако снижается вероятность обнаружения ошибок нечетной кратности (? 75%), а также возрастает аппаратурная избыточность. Также как и код четности, остаточные коды не обладают корректирующей способностью.
В данном дипломном проекте рассматривается контроль арифметических операций по модулю 3.
1.3 Разработка схемы электрической структурной контроля АЛУ
Схема электрическая структурная контроля АЛУ с использованием остаточных кодов по модулю 3, представленная в Приложении А, включает в свой состав следующие элементы:
- регистр слагаемого A (RG A), который является четырехразрядным параллельным регистром, предназначенным для хранения слагаемого А;
- регистр слагаемого В (RG В), который является четырехразрядным параллельным регистром, предназначенным для хранения слагаемого B;
- контролируемый сумматор (SM), который является четырехразрядным параллельным сумматором, выполняющим сложение поступающих на него двух четырехразрядных слагаемых;
- узел формирования остатка суммы (УФО S), который является схемой свертки, сворачивающей сумму к контрольной характеристике;
- узел формирования остатка слагаемого A (УФО A), который является схемой свертки, сворачивающей слагаемое A к контрольной характеристике r(A);
- узел формирования остатка слагаемого B (УФО B), который является схемой свертки, сворачивающей слагаемое B к контрольной характеристике r(B);
- сумматор контрольных характеристик (SM R), который является двухразрядным сумматором, выполняющим сложение контрольных характеристик r(A) и r(B);
- узел формирования остатка суммы остатков (УФО R), который является схемой свертки, сворачивающей сумму контрольных характеристик слагаемых A и B к контрольной характеристике
r[r(A)+r(B)];
- схема сравнения, предназначенная для сравнения контрольной характеристики суммы с контрольной характеристикой суммы контрольных характеристик каждого из слагаемых, выход которой является сигналом ошибки.
- регистр суммы (RG S), который является четырехразрядным параллельным регистром, предназначенным для хранения полученного результата суммирования;
1.3.1 Описание работы схемы электрической структурной контроля АЛУ
Алгоритм работы схемы электрической структурной контроля АЛУ представлен на рисунке 7.
Слагаемые A и В записываются соответственно в регистры RG A и RG B.
С выходов регистров слагаемые поступают на сумматор SM. Одновременно с этим слагаемое A подается на УФО A, а слагаемое B - на УФО B, где формируются соответственно их контрольные характеристики r(A) и r(B).
С выхода сумматора SM сумма поступает в регистр суммы RG S и на УФО S для формирования контрольной характеристики суммы r(A+B).
Полученные контрольные характеристики r(A) и r(B) складываются в сумматоре остатков SM R.
УФО R делит сумму контрольных характеристик слагаемых по mod 3 и полученный результат поступает на схему сравнения.
Схема сравнения формирует сигнал ошибки (единицу), если контрольная характеристика суммы не соответствует контрольной характеристике суммы контрольных характеристик слагаемых.
Основой схемы электрической структурной контроля АЛУ по модулю 3 является параллельный сумматор и схема кодирования. Для построения схемы электрической функциональной необходимо произвести их синтез.
Рисунок 7 - Алгоритм работы схемы электрической структурной контроля АЛУ по модулю 3
1.4 Синтез основных узлов АЛУ
1.4.1 Синтез параллельного сумматора
Сумматором называют функциональный узел цифровой техники, выполняющий алгебраическое сложение кодов чисел.
Для выполнения операций сложения над многоразрядными числами применяют многоразрядные суммирующие схемы, которые подразделяются на два вида:
- последовательные, когда суммирование осуществляется последовательно разряд за разрядом;
- параллельные, когда слагаемые поступают параллельно, т.е. во все разряды одновременно.
Параллельные сумматоры в свою очередь по организации цепей переносов подразделяются на:
- сумматоры с последовательным переносом, в которых сигнал межразрядного переноса в каждом разряде образуется после приема сигнала переноса из предыдущего разряда, в результате чего идет последовательное формирование суммы из разряда в разряд;
- сумматоры с ускоренным переносом, в которых разряды слагаемых обрабатываются одновременно, за счет наличия специальных схем, что позволяет повысить быстродействие сумматоров.
Параллельные сумматоры строятся на основе одноразрядных сумматоров. Поэтому для синтеза параллельного сумматора сначала необходимо провести синтез одноразрядного сумматора на 3 входа (ОС-3).
Существует несколько способов построения ОС-3:
- эмпирический;
- классический.
Эмпирический способ построения сумматора базируется на том, что алгебраическое сложение кодов чисел по существу сводится к совокупности элементарных логических операций.
Пример:
Сложением по модулю 2 (mod 2) получится следующее:
Таким образом, для каждого i-ого разряда можно записать следующие логические выражения:
где
ai, bi - i-й разряд слагаемого а и b соответственно;
ri - промежуточная сумма по mod 2 в i-ом разряде;
pi - перенос в i-ый разряд;
Si - сумма в i-ом разряде.
По полученным выражениям можно построить схему электрическую функциональную одноразрядного сумматора, представленную на рисунке 8.
Рисунок 8 - Сумматор одноразрядный
Схема электрическая функциональная
Условное графическое обозначение (УГО) ОС-3 представлено на рисунке 9.
Рисунок 9 - Сумматор одноразрядный ОС-3 УГО
Таким образом, для построения четырехразрядного сумматора с последовательным переносом, схема электрическая функциональная которого представлена на рисунке 10, необходимо использовать четыре одноразрядных сумматора ОС-3, соединенных последовательно цепями переносов.
1.4.2 Синтез схемы кодирования
Схемы кодирования предназначены для преобразования простых кодов в избыточные. Схемы кодирования называют ещё схемами свертки, вследствие того, что они сворачивают большую кодовую комбинацию к нескольким разрядам.
Рисунок 10 - Сумматор четырехразрядный. Схема электрическая функциональная
При контроле АЛУ по модулю 3 схема свертки представляет собой сумматор по модулю 3.
Поэтому для синтеза схемы кодирования необходимо произвести синтез сумматора по модулю 3.
Существует несколько способов построения таких сумматоров.
Можно произвести синтез сумматора, как синтез комбинационной схемы, имеющей несколько входов и выходов, а можно построить сумматор по модулю 3 на основе синтезированных ранее одноразрядных сумматорах ОС-3.
Сначала построим сумматор по модулю 3, УГО которого представлено на рисунке 11, как комбинационную схему.
Для этого необходимо проделать несколько этапов синтеза.
Рисунок 11 - Сумматор по модулю 3 четырехразрядный УГО
Первый этап. Составление таблицы истинности таблица 1, отражающей работу сумматора.
Таблица 1
Таблица истинности сумматора по модулю 3
a3 |
a2 |
a1 |
a0 |
S1 |
S0 |
|
0 |
0 |
0 |
0 |
* |
* |
|
0 |
0 |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
0 |
1 |
0 |
|
0 |
0 |
1 |
1 |
* |
* |
|
0 |
1 |
0 |
0 |
0 |
1 |
|
0 |
1 |
0 |
1 |
1 |
0 |
|
0 |
1 |
1 |
0 |
* |
* |
|
0 |
1 |
1 |
1 |
0 |
1 |
|
1 |
0 |
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
1 |
* |
* |
|
1 |
0 |
1 |
0 |
0 |
1 |
|
1 |
0 |
1 |
1 |
1 |
0 |
|
1 |
1 |
0 |
0 |
* |
* |
|
1 |
1 |
0 |
1 |
0 |
1 |
|
1 |
1 |
1 |
0 |
1 |
0 |
|
1 |
1 |
1 |
1 |
* |
* |
Второй этап. Составление СДНФ на основании таблицы истинности.
Третий этап. Минимизации полученной СДНФ.
Карта Карно для S0:
Карта Карно для S1:
Четвертый этап. Построение схемы электрической функциональной сумматора по модулю 3, представленной на рисунке 12, на основании МДНФ.
Другой способ построения сумматора по модулю 3 - эмпирический. Его можно построить на двух одноразрядных сумматорах ОС-3, определенным образом соединив выходы переносов. Тогда схема электрическая функциональная такого сумматора будет иметь вид, представленный на рисунке 13.
Рисунок 12 - Сумматор по модулю 3 четырехразрядный. Схема электрическая функциональная
Рисунок 13 - Сумматор по модулю 3 четырехразрядный. Схема электрическая функциональная
Как видно, схема сумматора по модулю 3, построенная на основе сумматоров ОС-3, получилась более компактная и наглядная.
1.5 Обоснование элементной базы
Для построения устройств вычислительной техники широкое применение находят цифровые микросхемы серии К155, изготавливаемые по стандартной технологии биполярных микросхем транзисторно-транзисторной логики (ТТЛ). Имеется свыше 100 наименований микросхем серии К155. При всех своих преимуществах - высоком быстродействии, обширной номенклатуре, хорошей помехоустойчивости - эти микросхемы обладают сравнительно большой потребляемой мощностью. Поэтому им на смену были выпущены микросхемы серии К555. При сохранении быстродействия микросхем серии К555 на уровне серии К155 удалось уменьшить ее потребляемую мощность примерно в 4-5 раз.
Дальнейшее развитие микросхем серий ТТЛ - разработка микросхем серий КР1531 и КР1533. Их основное эксплуатационное отличие от схем серии К555 - это в 1,5-2 раза меньше потребляемая мощность при повышении быстродействия. Достигается это использованием интегральных транзисторов Шоттки с очень малым объемом коллекторной области, чем обеспечивается практически предельное быстродействие.
Для сохранения значительной нагрузочной способности серий КР1531 и КР1533 при безопасной плотности коллекторного тока, входной ток низкого уровня у этих серий уменьшен в 5-10 раз по сравнению со старыми сериями (0,1-0,2 мА для КР1533 и 0,4 мА для КР1531 против 1,6 мА для К155).
Микросхемы серий КР1531 и КР1533 имеют наибольшее пороговое напряжение переключения равное 1,52 В и, как следствие, наибольшую помехоустойчивость.
Средняя задержка распространения сигнала у микросхем серии К155, К555, КР1533 примерно 15...20 нс. В случаях, когда требуется более высокое быстродействие, используют микросхемы серии КР1531.
Серии КР1531 и КР1533 при всех их достоинствах невозможно было использовать при построении схемы контроля АЛУ по модулю 3, т.к. в них отсутствуют необходимые элементы. Серия К555 превосходит серию К155 по своим параметрам, поэтому она применяется в качестве элементной базы для данного дипломного проекта.
Базовый логический элемент выполняет функцию И-НЕ и представлен на рисунке 14.
Рисунок 14 - Элемент базовый серии К555
Применяемые для построения схемы электрической принципиальной ИМС перечислены в таблице 2.
Таблица 2
ИМС, используемые для построения схемы
Параметры |
К555ЛП12 |
К555ИМ5 |
К555ИМ6 |
К555ИР16 |
|
Iвх0, мА |
-0,8 |
-0,8 |
-0,8 |
0,42 |
|
Iвх1, мкА |
40 |
40 |
40 |
3 |
|
Uвых0, В |
0,5 |
0,5 |
0,5 |
0,48 |
|
Uвых1, В |
2,7 |
2,7 |
2,7 |
2,5 |
|
Pпотр., мВт |
52,5 |
81,4 |
191,6 |
102,4 |
|
Kразв. |
10 |
7 |
10 |
10 |
|
tзд.р.0-1, нс |
30 |
20 |
20 |
70 |
|
tзд.р.1-0, нс |
30 |
20 |
20 |
60 |
|
Корпус |
201.14-1 |
201.14-1 |
201.16-5 |
201.14-1 |
На основании схемы электрической структурной и проведенного синтеза узлов с использованием заданной серии ИМС строится схема электрическая принципиальная.
1.6 Разработка схемы электрической принципиальной контроля АЛУ
Схема электрическая принципиальная контроля АЛУ с использованием остаточных кодов по модулю 3, представленная в Приложении Б, включает в свой состав следующие элементы:
- три четырехразрядных универсальных регистра, представленные микросхемами D1, D2, D11 и использующиеся для хранения слагаемого А, слагаемого В и суммы соответственно;
- четырехразрядный сумматор, представленный микросхемой D3 и выполняющий суммирование поступающих на него слагаемых А и В;
- шесть пар одноразрядных сумматоров, размещенных в микросхемах D4-D9. Пары одноразрядных сумматоров, расположенных в микросхемах D4-D6, D8, D9 выполняют функцию четырехразрядных сумматоров по модулю 3, а пара одноразрядных сумматоров, расположенная в микросхеме D7, выполняет функцию двухразрядного параллельного сумматора;
- три двухвходовых логических элемента Исключающее ИЛИ, размещенных в микросхеме D10 и выполняющих роль схемы сравнения контрольных характеристик суммы и суммы контрольных характеристик слагаемых, которая выдает сигнал ошибки.
1.6.1 Описание схемы электрической принципиальной
Схема предназначена для контроля четырехразрядного АЛУ по модулю 3. На четырехразрядные регистры D1, D2 поступают слагаемое А и В соответственно. На входах W и V, предназначенных для выбора режима работы регистров, действует постоянная единица. Такой режим соответствует режиму работы параллельного регистра. По переднему фронту импульсов синхронизации СИ1 и СИ2 слагаемые записываются в соответствующие регистры.
Далее четырехразрядный сумматор D3 выполняет сложение поступивших на его входы слагаемых. С выходов регистра D1 слагаемое А также поступает на пару одноразрядных сумматоров D4, формирующих его контрольную характеристику по модулю 3. Аналогично формируется контрольная характеристика слагаемого В, поступающего с выходов регистра D2 на сумматоры D5.
Разряды полученной суммы, за исключением переноса из старшего разряда, с выхода сумматора D3 поступают на входы выходного регистра D11 и на сумматор по модулю 3, представленный парой сумматоров D6. На выходе формируется контрольная характеристика по модулю 3. На основе переноса из старшего разряда и полученной контрольной характеристики разрядов суммы в сумматорах D8 формируется контрольная характеристика всей полученной суммы.
Двухразрядный параллельный сумматор, построенный на двух одноразрядных сумматорах D7, суммирует контрольные характеристики слагаемых, поступающие с выходов сумматоров D4, D5. Сумматоры D9 сворачивают сумму контрольных характеристик слагаемых к контрольной характеристике этой суммы.
Если полученная контрольная характеристика суммы слагаемых и контрольная характеристика суммы контрольных характеристик слагаемых будут различны, то схемы Исключающее ИЛИ D10 вырабатывают сигнал ошибки.
По переднему фронту синхроимпульса СИ3 сумма с входов регистра D11 поступает на его выходы.
1.7 Расчет показателей надежности
Общие положения
На основании схемы электрической принципиальной считается надежность при заданных условиях надежности.
Надежность - это возможность СВТ сохранять работоспособность в течение некоторого заданного промежутка времени.
Невосстанавливаемыми устройствами являются устройства, не обладающие свойствами самовосстанавливаться.
Для невосстанавливаемых устройств основными показателями надежности являются:
- среднее время наработки на отказ Tо (или математическое ожидание времени наработки до появления первого отказа Mо), ч;
- интенсивность отказов о (или мгновенная плотность вероятности возникновения отказа в единицу времени), 1/ч;
- вероятность безотказной работы Pбо(t) (или вероятность того, что в пределах времени t отказа не произойдет).
При расчете надежности невосстанавливаемых устройств принимаются следующие условия:
- отказы отдельных элементов в устройстве независимы;
- отказ одного элемента приводит к отказу всего устройства в целом;
- последствия отказов могут быть устранены только путем замены отказавших элементов на исправные;
- оценка показателей надежности производится на участке нормальной эксплуатации (т.е. о = const), следовательно будут справедливы выражения:
;
Интенсивность отказов отдельных элементов выбирается из справочников по надежности. Вследствие того, что у однотипных элементов показатели надежности отличаются, то в справочниках обычно приводится максимальное, среднее и минимальное значения интенсивности отказа. Поэтому расчет показателей надежности производится для трех групп показателей оmin, оср, оmax. В результате получится некоторый диапазон значений показателей надежности, что обеспечивает более полную их оценку.
Расчет показателей надежности производится поэтапно:
- ориентировочный расчет показателей надежности, при котором не учитываются влияния на надежность условий эксплуатации;
- предварительный расчет показателей надежности, при котором производится учёт влияний условий эксплуатации;
- окончательный расчет показателей надежности, при котором учитываются влияния на надежность режимов работы отдельных элементов устройства.
Ориентировочный расчет показателей надежности
Расчет показателей надежности осуществляется на основе разработанной принципиальной схемы Приложение Б.
В использованных справочниках по надежности не приводились данные по интенсивности отказов ИМС. Т.к. ИМС по своей структуре представляет сложное устройство повышенной надежности, то расчет интенсивностей отказов ИМС (о ИМС) производится по специальной методике. Однако можно рассчитать интенсивность отказов по эмпирической формуле, которая рассматривает ИМС
как совокупность отдельно взятых электрорадиоэлементов:
о ИМС = n11т + n22д + (3n1 + 2n2 + n3)c,
где
n1 - количество транзисторов внутри ИМС;
n2 - количество диодов, конденсаторов, резисторов и т.д.;
n3 - число внешних выводов ИМС;
1, 2 - температурные и нагрузочные коэффициенты (будем считать, что 1 = 2 = 1,0 при to = 20oC);
т - интенсивность отказов транзистора; (1,010-8 1/ч)
д - интенсивность отказов диодов; (0,610-8 1/ч)
с - интенсивность отказов связей внутри ИМС. (0,110-8 1/ч)
За основу расчета берется базовый элемент заданной серии ИМС.
К555ИР16 о ИР16 = 2041,010-8 + 2041,00,610-8 + (3204 + 2204 +
14)0,110-8 = 5,11410-6
К555ИМ5 о ИМ5 = 1121,010-8 + 1120,610-8 + (3112 + 2112 +
14)0,110-8 = 2,814 10-6
К555ИМ6 о ИМ6 = 2241,010-8 + 2240,610-8 + (3224 + 2224+ 16)0,110-
8 = 5,61610-6
К555ЛП12 о ЛП12 = 801,010-8 + 800,610-8 + (380 + 280 + 14)0,110-8 =
2,01410-6
о ср = (о ИР16 + о ИМ5 + о ИМ6 + о ЛП12)/4 = (5,11410-6 + 2,81410-6 +
5,61610-6 + 2,01410-6)/4 = 3,89010-6
о max = 5,61610-6
о min = 2,01410-6
Все полученные данные заносятся в таблицу 3.
Таблица 3
Показатели интенсивности отказов использованных элементов
Наименование элементов |
Количество элементов |
Номинальная интенсивность отказов одного элемента i 10-6 1/ч |
Общая интенсивность отказов n элементов о i = nii 10-6 1/ч |
|||||
min |
ср |
max |
о min |
о ср |
о max |
|||
К555ИР16 |
3 |
2,014 |
3,890 |
5,616 |
6,042 |
11,669 |
16,848 |
|
К555ИМ5 |
6 |
2,014 |
3,890 |
5,616 |
12,084 |
23,337 |
33,696 |
|
К555ИМ6 |
1 |
2,014 |
3,890 |
5,616 |
2,014 |
3,890 |
5,616 |
|
К555ЛП12 |
1 |
2,014 |
3,890 |
5,616 |
2,014 |
3,890 |
5,616 |
|
Конденсатор |
3 |
0,003 |
0,050 |
0,290 |
0,009 |
0,150 |
0,870 |
|
Резистор |
1 |
0,003 |
0,050 |
0,290 |
0,003 |
0,050 |
0,290 |
|
Суммарная интенсивность отказа устройства |
22,166 |
42,985 |
62,936 |
По полученным результатам определяется среднее время наработки на отказ Tср:
Далее определяется вероятность безотказной работы за заданное время t = 2000 ч:
Расчеты сводятся в таблицу 4.
Таблица 4
Показатели безотказной работы устройства
t, ч |
о mint |
о срt |
о maxt |
Pбо(t)max |
Pбо(t)ср |
Pбо(t)min |
|
200 |
0,00443 |
0,00860 |
0,01259 |
0,99558 |
0,99144 |
0,98749 |
|
400 |
0,00887 |
0,01719 |
0,02517 |
0,99117 |
0,98295 |
0,97514 |
|
600 |
0,01330 |
0,02579 |
0,03776 |
0,98679 |
0,97454 |
0,96294 |
|
800 |
0,01773 |
0,03439 |
0,05035 |
0,98242 |
0,96620 |
0,95090 |
|
1000 |
0,02217 |
0,04298 |
0,06294 |
0,97808 |
0,95793 |
0,93900 |
|
1200 |
0,02660 |
0,05158 |
0,07552 |
0,97375 |
0,94973 |
0,92726 |
|
1400 |
0,03103 |
0,06018 |
0,08811 |
0,96944 |
0,94160 |
0,91566 |
|
1600 |
0,03547 |
0,06878 |
0,10070 |
0,96516 |
0,93354 |
0,90421 |
|
1800 |
0,03990 |
0,07737 |
0,11328 |
0,96089 |
0,92555 |
0,89290 |
|
2000 |
0,04433 |
0,08597 |
0,12587 |
0,95664 |
0,91762 |
0,88173 |
|
2200 |
0,04877 |
0,09457 |
0,13846 |
0,95240 |
0,90977 |
0,87070 |
По результатам таблицы 4 строится график безотказной работы схемы контроля АЛУ при заданной вероятности безотказной работы Pбо(t)зад = 0,85, представленный на рисунке 15.
Рисунок 15 - График безотказной работы
Из графика видно, что при заданном количестве часов t = 2000 ч требования безотказной работы устройства будут выполнены.
Предварительный расчет показателей надежности
В предварительном расчете учитываются заданные условия эксплуатации. При этом учет условий производится с помощью поправочных коэффициентов б1, б2, б3. Интенсивность отказов с учетом условий эксплуатации определяется по формуле:
оэ = о срб1б2б3,
где
б1 - коэффициент, учитывающий вибрации и ударные нагрузки;
б2 - коэффициент, учитывающий влияние to и влажности;
б3 - коэффициент, учитывающий влияние атмосферного давления, а
также гидростатическое давление для подводных объектов.
Заданными условиями эксплуатации являются лабораторные условия эксплуатации. Данным условиям эксплуатации соответствуют следующие значения поправочных коэффициентов:
б1=1,0;
б2=1,0;
б3=1,0.
Для упрощения расчетов предварительный расчет показателей надежности производится только для средних значений:
о ср э = о срб1б2б3 = 42,98510-6111 = 42,98510-6 1/ч
Таким образом, с вероятностью 50% можно утверждать, что отказ в схеме контроля АЛУ произойдет раньше или позже, чем через 23264 ч.
Показатели Pбо(t)ср э с учетом лабораторных условий эксплуатации за время работы t = 2000 ч представлены в таблице 5.
Таблица 5 - Показатели безотказной работы с учетом условий эксплуатации
t, ч |
о ср эt |
Pбо(t)ср э |
|
200 |
0,00860 |
0,99144 |
|
400 |
0,01719 |
0,98295 |
|
600 |
0,02579 |
0,97454 |
|
800 |
0,03439 |
0,96620 |
|
1000 |
0,04298 |
0,95793 |
|
1200 |
0,05158 |
0,94973 |
|
1400 |
0,06018 |
0,94160 |
|
1600 |
0,06878 |
0,93354 |
|
1800 |
0,07737 |
0,92555 |
|
2000 |
0,08597 |
0,91762 |
|
2200 |
0,09457 |
0,90977 |
По полученным данным строится график, представленный на рисунке 16.
Рисунок 16 - График безотказной работы с учетом условий эксплуатации
Из графика видно, что при заданном количестве часов t = 2000 ч требования безотказной работы устройства будут выполнены.
Окончательный расчет показателей надежности
Окончательный расчет производится на завершающем этапе проектирования, когда известен окончательный вариант схемы, типы комплектующих элементов, реальные электрические и тепловые расчеты, т.е. окончательный расчет проводится после стендовых испытаний окончательного варианта устройства.
Окончательный расчет надежности производится по тем же методикам, что и ориентировочный и предварительный расчеты. Отличие состоит лишь только в том, что при оценке интенсивности отказов отдельных элементов, которые берутся из справочников по надежности, в их значения вносят поправки, учитывающие электрические и температурные режимы их работы.
Кроме того, определяются облеченные режимы работы изделия, уменьшающие , приведенные в справочниках, но следует заметить, что форсированный режим работы увеличивает его .
лабораторный эмулятор арифметический логический
2. КОНСТРУКТОРСКО-ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ
2.1 Выбор среды и языка программирования
В современном мире информационных технологий существует множество языков, используемых специалистами для написания программ по поставленным задачам. К наиболее распространенным и применяемым языкам программирования относятся Java, Delphi, Visual C++, C# и Visual Basic.Net (VB.Net).
Язык Java является идеально переносимым языком, программы на котором эффективно исполняются на стороне клиента WWW. В виду специфики окружения, язык Java наиболее приспособлен для разработки систем, построенных на Internet или Intranet технологии.
Язык Delphi ориентирован на быстрое создание приложений (Rapid Application Developing, RAD). Это инструментальное средство позволяют в кратчайшие сроки создать рабочую программу из готовых компонентов, которые решают некоторые задачи за программиста. Особое место в таких системах занимают возможности работы с базами данных.
Язык Visual C++ обеспечивает полный и эффективный доступ ко всем ресурсам компьютера, средства программирования высокого уровня, переносимость программ между различными платформами и операционными системами. С++, сохраняя совместимость с C, вносит возможности объектно-ориентированного программирования, выражая идею класса (объекта) как определяемого пользователем типа. Благодаря перечисленным качествам, C/C++ занял позицию универсального языка для любых задач. Но его применение может стать неэффективным там, где требуется получить готовый результат в кратчайшие сроки, либо там, где невыгодным становится сам процедурный подход.
Языки C# и VB.Net объединены единой платформой .Net, достоинствами которой являются: повышение удобства в обработке ошибок, используя единую модель обработки исключений, наличие сборщика мусора, отвечающего за освобождение неиспользуемых ресурсов. В основу .Net положена объектно-ориентированная модель программирования, упрощающая процесс написания программ. VB.Net отличается от C# более простыми конструкциями, но вместе с тем и ограниченными возможностями в отдельных аспектах программирования. Средой разработки для платформы .Net является MS Visual Studio .Net. Как и любая другая хорошая среда разработки, она включает средства управления проектами, редактор исходного текста, конструкторы пользовательского интерфейса, помощники, компиляторы, компоновщики, инструменты, утилиты, документацию и отладчики.
Для разработки программной модели работы устройства контроля АЛУ с использованием остаточных кодов был выбран язык программирования VB.Net, как наиболее современный и приспособленный для выполнения поставленной задачи с меньшими затратами времени. Соответственно средой разработки выбрана MS Visual Studio .Net.
2.2 Разработка алгоритмов эмуляторов
Одним из самых важных этапов разработки любого программного продукта является построение общего алгоритма его работы. Алгоритм строится с целью определения структуры программы, а также наглядного её представления.
Конечная программа-эмулятор включает в себя четыре независимых программных модели работы:
- одноразрядного сумматора ОС-3;
- АЛУ параллельного действия;
- АЛУ последовательного действия;
- контроля АЛУ по модулю 3.
Эмуляторы всех схем сделаны по единому принципу, поэтому общий алгоритм запуска и работы будет одинаков для каждого из них.
Указанные программные модели являются самостоятельными эмуляторами лабораторных работ по цифровой схемотехнике и средствам контроля.
Рассматриваться алгоритм будет по уровням, начиная с самого высокого, наиболее укрупненного, и затем спускаясь при необходимости на более низкий уровень, подробнее описывающий работу эмулятора.
Выбор эмулятора осуществляется в главном окне программы. В зависимости от выбранного пункта меню запускается требуемый эмулятор. Алгоритм работы меню выбора эмулятора представлен на рисунке 17.
Рисунок 17 - Алгоритм работы меню программы
Работа эмулятора в общем виде показана на рисунке 18. При запуске эмулятора блокируются кнопки управления схемой, чтоб студенты не могли подавать сигналы на её входы, пока она не будет собрана. Собрав схему, студент её запускает. При запуске схемы проверяется правильность её сборки. Если она собрана верно, то снимается блокировка кнопок управления схемой. После этого студент может приступать к выполнению лабораторной работы.
Рисунок 18 - Алгоритм работы эмулятора общий
Опускаясь на ещё один уровень ниже, теперь детально рассмотрим каждый блок в отдельности.
Т.к. диплом выполнялся совместно с Бергом Виктором, часть алгоритмов разрабатывалась им. В данном дипломе рассмотрен алгоритм сборки схемы, общий вид которого приведен на рисунке 19.
Основным объектом при сборке схемы является коннектор. Коннектором называется линия связи, соединяющая выходы одних элементов с входами других.
Рисунок 19 - Алгоритм сборки схемы
Для понимания построения и удаления коннектора рассмотрим алгоритмы, положенные в их основу.
Алгоритм построения коннектора представлен на рисунке 20. Для построения коннектора необходимо иметь информацию о контактах элементов, которые он должен соединить. В зависимости от взаимного расположения соединяемых контактов определяется начальная и конечная точки коннектора. Если это не первый коннектор, который соединяет контакт с другим контактом, то коннектор будет считаться дочерним относительно первого. Если коннектор определен как дочерний, то ищется наиболее оптимальное место узла между дочерним и родительским коннекторами. Узлом в данном случае называется начальная точка дочернего коннектора, лежащая на родительском коннекторе. Далее определяется положение всех препятствий на схеме, представленных элементами схемы и другими коннекторами. Положение каждой новой точки коннектора корректируется в соответствии с этими препятствиями. Как только все точки, составляющие коннектор найдены, проводится их оптимизация, заключающаяся в устранении промежуточных точек.
Рисунок 20 - Алгоритм построения коннектора
На основании сформированных точек строится коннектор, а затем добавляется в список коннекторов контакта.
Алгоритм удаления коннектора представлен на рисунке 21. Коннектор удаляется со схемы и из всех мест, где на него ссылаются (список коннекторов у контакта, список дочерних коннекторов) в том случае, если он не является родительским. Иначе перед этим определяется самый крайний (удаленный) из дочерних коннекторов, устанавливаемый родителем, точки, находящиеся до узла, и дочерние коннекторы удаляемого коннектора передаются новому родителю.
Рисунок 21 - Алгоритм удаления коннектора
Для примера программной реализации алгоритмов на языке VB.Net приведена реализация алгоритма удаления коннектора. Этот алгоритм выполняется процедурой DeleteMe().
Текст процедуры DeleteMe():
Public Sub DeleteMe()
Dim fFirst As Boolean = True
Dim newParent As Connector = Nothing
Подобные документы
Виртуальный лабораторный практикум в инженерном образовании. Особенности лабораторного практикума для естественнонаучных дисциплин. Программный эмулятор (виртуальный ПК) Emu8086. Вывод значения байта в десятеричной системе счисления, методика выполнения.
дипломная работа [430,2 K], добавлен 09.07.2010Общие сведения об операционной системе МВК "Эльбрус". Оценка эффективности внедрения программы-эмулятора, реализующей алгоритм обучения и контроля готовности номеров дежурных смен к самостоятельному несению боевого дежурства. Состав программного продукта.
дипломная работа [679,0 K], добавлен 02.10.2012Предотвращение угроз информационной безопасности. Использование криптографических методов защиты в информационных системах. Разработка блока обратного преобразования для системы нелинейного шифрования на основе операции возведения в степень по модулю.
дипломная работа [565,1 K], добавлен 01.07.2011Создание дискретной системы автоматического управления кистью руки робота андроида. Технические характеристики; выбор и обоснование элементной базы: микропроцессора, датчиков, усилителя. Синтез аппаратного и программного корректирующего устройства.
курсовая работа [925,3 K], добавлен 09.03.2012Проектирование блоков устройства контроля по модулю три матричного умножителя с сокращением вычислений для обработки мантисс чисел с плавающей точкой. Методика выполнения арифметических операций, порядок обработки мантисс по n-разрядным операндам.
курсовая работа [125,2 K], добавлен 24.09.2010Разработка программы эмулятора, которая должна имитировать рабочий цикл процессора для каждой команды. Анализ структуры микропроцессора. Моделирующие переменные. Мнемоника команд моделируемого процессора. Разработка структуры программы: классов, методов.
курсовая работа [156,8 K], добавлен 07.11.2012Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.
контрольная работа [18,4 K], добавлен 24.12.2010Характеристика систем технического и профилактического обслуживания средств вычислительной техники. Диагностические программы операционных систем. Взаимосвязь систем автоматизированного контроля. Защита компьютера от внешних неблагоприятных воздействий.
реферат [24,4 K], добавлен 25.03.2015Разработка программы – сетевого эмулятора, позволяющего представить в графическом виде топологию маршрутизируемой сети. Сравнительный анализ существующих программных эмуляторов сетей и сетевого оборудования. Моделирование протоколов маршрутизации.
дипломная работа [512,2 K], добавлен 26.09.2014Проектирование базы данных с использованием комплекса программных и языковых средств Microsoft Access. Модель данных, доступ к ним. Назначение, основные возможности и версии Access. Запуск программы; окно базы данных, формы для их ввода и редактирования.
курсовая работа [1,1 M], добавлен 30.12.2014