Смекни!
smekni.com

Программа виртуального синтеза цифровых схем с учётом особенностей эмуляции процессорного устройства (стр. 2 из 3)

Помимо указанных двух предметов программа может быть применена при изучении любой дисциплины, связанной с аппаратной частью ВТ («Схемотехника ЭВМ», «Организация ЭВМ и систем» и других).


2. Технические характеристики программы

Технические характеристики применяемого на сегодняшний день программного и аппаратного обеспечения вполне приемлемы для широкого использования компьютерной имитации лабораторных стендов. Программное обеспечение для проведения компьютерного моделирования учебной лабораторной базы, как правило, не требует мощных вычислительных ресурсов. Используются аппаратные средства, не обладающие высокой производительностью, доступные любому учебному заведению. Примером программы, позволяющей имитировать создание и отладку цифровых схем в процессе обучения, является разработка, используемая в ВАС.

Программа называется «ICBuilder», исполнительный файл – «ICBuilder.exe». Она инсталлируется на диск C: в каталог Program Files в подкаталог ICBuilder. Программа написана с использованием платформы С++ Builder, её использование требует персонального компьютера на базе центрального процессора не ниже Intel Pentium I, с установленной операционной системой не ниже Windows 95. Подобные технические требования не являются на сегодняшний день хоть сколько-нибудь обременительными.

В разархивированном виде используемая программа совместно со всеми библиотеками, а также заранее составленными примерами занимает не более 3 Мбайт, в самораспаковывающемся архивном файле – около 1,8 Мбайта. Подобный объём легко вмещается практически на любой носитель и, таким образом, установка программы на новый компьютер не сопряжена ни с какими сложностями. При разработке аналогичной программы, с использованием другого языка программирования – Delphi – предполагается занимаемый объём примерно такого же порядка.

Процесс виртуальной сборки цифровых схем не представляет сложности для учащихся. Пользовательский интерфейс предполагает развёрнутое окно, в котором посредством соответствующих манипуляций левой кнопкой мыши вызываются необходимые для виртуальной сборки проектируемого устройства цифровые микросхемы. Большинство операций с уже вызванными микросхемами ориентировано на левую кнопку мыши и лишь отдельные из них используют правую кнопку.

На данный момент в программе используются микросхемы двадцати трёх типов, и производится работа по дальнейшему увеличению их количества. Число вызываемых микросхем одного типа ограничено лишь размерами рабочего поля программы.


3. Описание тела программы

3.1 Обоснование выбора языка программирования

При выборе языка программирования для написания проекта на ЭВМ, возникает необходимость формулировки требований к программе:

- графическая точность воспроизводимых объектов (все эмулированные в программе устройства должны максимально соответствовать оригиналам);

- удобство использования программы (простота доступа к создаваемым устройствам, справке, проектам и пр.);

- возможность получения справочной информации;

- функциональное соответствие реальных и виртуальных микросхем;

- функциональное разнообразие виртуальных устройств;

- возможность загрузки файлов проектов;

- высокая скорость работы при передаче сигналов между устройствами;

- малый объем программы.

Необходимость создания небольшого, хорошо структурированного кода, имеющего высокую скорость работы, требует применения двух подходов: объектно-ориентированного программирования (ООП) и использования языка программирования «С».

ООП является в настоящее время естественным путём к построению сложных программ и систем. Его упрощенное описание сводится к следующему:

При запуске любой программы в ОС Windows, на экране появляется окно с множеством кнопок, разделов меню, окон редактирования, списков и т.п. Всё это – объекты. Они ожидают событий – нажатия пользователем клавиши, кнопки мыши, перемещения курсора и т.д. При совершении подобного события, объект получает сообщение и может как-то отреагировать: выполнить некоторые вычисления, свернуть или закрыть окно, занести символ в окно редактирования.

Второй подход – использование языка программирования (ЯП) «С», яваляющегося ЯП среднего уровня. Применение ЯП высокого уровня приводит к росту объёма программы. В свою очередь ЯП низкого уровня, при небольшом объёме исходных кодов, является сложным для написания подобной программы в связи с тем, что он непосредственно работает с командами процессора с учетом логики его работы. ЯП среднего уровня использует преимущества двух других типов ЯП, в этом причина его популярности.

Объектно-ориентированный язык (ООЯ) С++ объединяет в себе перечисленные подходы. Данный ЯП выбран для написания программы. Удобную среду программирования для С++ предоставляет фирма производитель ПО Borland. Среда называется С++ Builder 6.

3.2 Структура программы

Рис.2 Окно программы

Программа включает следующие объекты:

1) окна:

- окно-заставка;

- главное окно;

- окно логического анализатора;

- окно «О программе»;

2) объекты окна (кнопки, меню, списки и пр.);

3) объекты устройств (интегральные микросхемы (ИМС), дополнительные устройства, соединения и т.п.).

Физически все перечисленные объекты находятся в модулях. Модуль включает два файла с расширениями «.h» и «.cpp», первый из них объявляет класс, а второй описывает его.

Рис.3 Иерархия классов программы

Каждый объект является экземпляром класса, т.е системой, созданной по «правилам» класса. Класс имеет свойства и методы. Свойства служат для изменения закрытых переменных класса, а методы являются функциями, имеющими доступ к закрытым переменным своего класса.


3.3 Принцип работы программы

Принцип работы программы наглядно иллюстрируется примером передачи кнопкой сигнала индикатору (предполагается, что эти два устройства между собой связаны). Нажатие кнопки левой клавишей мыши означает срабатывание события кнопки. Обработка этого события включает следующие этапы:

- изменение рисунка кнопки (создание визуального эффекта утопленной кнопки);

- изменение внутреннего состояния кнопки (с 0 на 1);

- отправка сигнала от кнопки по всем имеющимся соединениям;

- отправка сигнала от соединения к индикатору;

- «оценка» индикатором типа полученного сигнала (0 или 1);

- изменение внутреннего состояния индикатора, затем – обновление рисунка.


Заключение

Результаты произведённой работы свидетельствует о достаточной полноте решения поставленных задач. Использование предлагаемой разработки в учебном процессе уже охватывает 28 учебных часов по двум изучаемым дисциплинам. Возможно дальнейшее увеличение количества учебного времени, обеспечиваемого применением данной программы, за счёт использования её при изучении других предметов. Курсанты с искренним интересом относятся к занятиям, позволяющим самостоятельно составить принципиальную схему исследуемого устройства и тут же, на практике, убедиться в его работоспособности.

Отличительной особенностью последнего варианта разработанной программы явилась возможность проверки работы исследуемых устройств не в статическом режиме, посредством подачи одиночных импульсов, а в динамике. Решение данной задачи осуществилось посредством введения в тело программы виртуального генератора импульсов и 128-канального логического анализатора с памятью на 256 логических перепадов.

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

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


Литература

1. Архангельский А. Я. Программирование в C++ Builder 6., М.: Бином, 2004. 1152 с.

2. Шилдт Герберт. Полный справочник по С++, 4-е издание. : Пер. с англ. М. : Издательский дом “Вильямс”, 2004. 704 с.

3. Шило В. Л. Популярные микросхемы ТТЛ. М: “Аргус”, 1993. – 64 с.: ил.

4. Лебедев О. Н. и др. Изделия электронной техники. Цифровые микросхемы. Микросхемы памяти: Справочник. М.: Радио и связь, 1999. 248 с.: ил.

5. Бунтов В. Д., Макаров С. Б. Цифровые и микропроцессорные радиотехнические устройства: Учеб. Пособие. СПб.: Изд-во Политехн. Ун-та, 2005. 399 с.


Приложение 1

Рис.4 Рабочее поле программы


Приложение 2

Главное меню

Рис.5 Позиция «Файл».

Включает в себя следующие опции:

- Новый проект

- Открыть проект

- Лабораторные работы (открывается соответствующая директория)

- Примеры (заранее собранные схемы)

- Сохранить

- Сохранить Как…

- Выйти

(Все опции имеют стандартное назначение).


Приложение 3

Рис.6 Позиция «Вид».

Включает в себя следующие опции:

- Последняя дорожка (соединение)

(Отображается лишь оно – рекомендуется при составлении сложных схем, когда в связи с большим числом соединений бывает трудно наблюдать сам факт проведения соединения).

- Цветные дорожки

(Соседние соединения отображаются разными цветами. В программе задано шестнадцать цветов, однако, возможно увеличение их количества. Использование данной опции удобно для наглядного просмотра соединений при составлении сложных схем.)