Создание модели и моделирование элементов дискретного устройства

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    214,25 Кб
  • Опубликовано:
    2012-06-23
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Создание модели и моделирование элементов дискретного устройства

Министерство науки и образования, молодежи и спорта Украины

Севастопольский национальный технический университет

Кафедра: кибернетики и вычислительной техники








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

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

«Автоматизация проектирования вычислительных систем»

на тему:

«Создание модели и моделирование элементов дискретного устройства»

Выполнил: ст.гр. М-42д

Проверил: Шевченко В.И.




Севастополь

Содержание

ВВЕДЕНИЕ

. ПОСТАНОВКА ЗАДАЧИ

.1 Входные данные

.2      Выходные данные

. ОПИСАНИЕ МЕТОДА РЕШЕНИЯ ЗАДАЧИ

.1 Общие вопросы моделирования

.2 Моделирование элементов.

.3 Создание модели элемента ДУ

.4 Описание работы логических элементов

.5 Функциональная схема разрабатываемого модуля

. ОПИСАНИЕ СТРУКТУР ДАННЫХ

.1 Используемые переменные и типы

.2 Используемые методы, процедуры и функции

. ОПИСАНИЕ АЛГОРИТМА

.1 Алгоритм загрузки элемента из файла

.2 Алгоритм процедуры моделирования

. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ

. ОПИСАНИЕ ПРОГРАММЫ

ЗАКЛЮЧЕНИЕ

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

ПРИЛОЖЕНИЕ

Текст программы

Введение


Автоматизация проектирования является важной составляющей современного научно-технического прогресса и призвана разрешить противоречие между ростом сложности технических систем и необходимостью их проектирования в сжатые сроки при ограниченных людских ресурсах. [1]

На заре развития электроники и схемотехники проектирование устройств и механизмов осуществлялось ”ручными”, трудоёмкими и не всегда эффективными методами. Это оправдывало себя при проектировании относительно несложных, малофункциональных приборов и устройств. Однако с открытием полупроводников и соответственно транзисторов стало возможным получение электронных устройств большой степени интеграции (БИС и СБИС). Соответственно сложность проектирования устройств, в первую очередь цифровых, возросла в десятки и сотни раз. Наряду с ростом сложности, прежде всего вычислительной техники, особенно остро встал вопрос упрощения проектирования, прежде всего в этой области.

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

На современном этапе разработано множество разнообразных систем автоматизации проектирования, каждая из которых решает свой круг специфических задач: AutoCAD - для решения инженерно-конструкторских задач; PCAD, ELKAD - для автоматизации проектирования электронной аппаратуры; MathCAD, MatLab - для решения математических задач и выполнения расчетных работ, и т. д. Специфицированы все этапы разработки таких систем, предложены эффективные алгоритмы, предназначенные, прежде всего для программной реализации. В данное время в области разработки средств автоматизации проектирования не наблюдается каких-либо существенных нововведений теоретического плана. Создаются новые или усовершенствуются существующие САПР, построенные на уже открытых принципах, т. е. на сегодняшний день это достаточно стандартизированная область человеческих знаний.

Разработка САПР является достаточно сложной задачей в связи со специфичностью этого вида программного обеспечения. САПР требует использования значительных ресурсов: как вычислительной мощности системы, так и объема используемой памяти. В связи с этим на САПР в чрезвычайной степени накладываются требования по минимальным требованиям к ресурсам. С другой стороны, так как система является не автоматической, а автоматизированной, то особое внимание следует уделить разработке интерфейса. Для конкурентоспособности САПР ее интерфейс должен быть интуивно-понятным и надежным. Надежность заключается в предусмотрении подавляющего большинства ошибочных ситуаций, адекватном реагировании на них и выводе пользователю достаточно полных сообщениях об ошибках.

Одной из наиболее важных задач при разработке САПР, которая представлена в этой курсовой работе, является создания моделей логических элементов ДУ. Моделирование подразумевает получение корректного сигнала на выходе моделируемого логического элемента в зависимости от подаваемых на его входы воздействий. [2]

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

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


Задачей данного курсового проекта является разработка модуля САПР, выполняющий создание моделей элементов ДУ и моделирование их работы. В рамках данной работы будет выполнено проектирование модуля САПР, имитирующий работу логических элементов, таких как «И», «И-НЕ», «ИЛИ», «ИЛИ-НЕ» с различным количеством входов и элемент «НЕ».

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

Разрабатываемый модуль должен состоять из двух процедур:

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

. Моделирование элементов. Входными данными для процедуры являются идентификатор типа элемента, значения на входах элемента. Выходными данными является значение на выходе элемента.

 

1.1 Входные данные


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

Текстовый файл, хранящий список типов элементов, представляющий собой библиотеку элементов. Данный файл содержит четыре строки с описанием логических элементов и имеет следующую структуру:“название элемента” vxodov “количество входов” vixodov “количество выходов” zaderjka “задержка”

Пример:and vxodov 2;3;4 vixodov 1 zaderjka 1

Входными данными для моделирования работы логических элементов является идентификатор элемента, количество входных контактов, а так же подаваемые на входные контакты сигналы полученные от модуля «Моделирование ДУ».

1.2    Выходные данные


Результатом работы модуля cоздание элемента ДУ является модель логического элемента в ОП. Результатом работы модуля моделирование элемента ДУ является значения сигнала на выходе моделируемого элемента.

 

2. Описание метода решения задачи

 

.1 Общие вопросы моделирования


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

Логическое моделирование заключается в построении математической модели исследуемого устройства - системы соотношений, описывающей поведение этого устройства с заданной точностью, и последующем анализе поведения этой модели по ее реакции на входные воздействия.

Существуют различные методы и алгоритмы моделирования. Основными характеристиками моделирования являются адекватность, быстродействие и объем памяти, необходимый при реализации. Под адекватностью понимается степень соответствия результатов моделирования истинному поведению исследуемого ДУ. Адекватность моделирования зависит в основном от принятой модели ДУ, моделей элементов и сигналов, способа учета временных соотношений между сигналами. Как правило, повышение степени адекватности связано со снижением быстродействия и увеличением требуемого объема памяти, поскольку усложнение модели ведет к увеличению объема и времени обработки. Наиболее быстрыми являются алгоритмы двоичного моделирования без учета задержек, где реальный порядок срабатывания элементов не принимается во внимание. Существенно ниже быстродействие алгоритмов двоичного моделирования с учетом номинальных задержек элементов. Во многих случаях необходимо принимать во внимание не только номинальные значения задержек, но и их разброс. Быстродействие таких алгоритмов, как правило, ниже. Поэтому выбор метода моделирования часто является результатом компромисса между различными требованиями и зависит от класса рассматриваемых ДУ, вида решаемой задачи, имеющихся в распоряжении вычислительных ресурсов и т.д.

При моделировании входным, выходным и внутренним переменным приписываются значения, которые называются символами. Совокупность различных символов, используемых при моделировании, называется алфавитом моделирования. Моделью сигналов называется соответствие между реальными сигналами и символами принятого алфавита. Простейшим и наиболее распространенным является двоичный алфавит {0, 1}. Для учета неоднозначности поведения устройства используется троичный алфавит {0, 1, x}, где символ x обозначает неизвестное или неопределенное значение. В некоторых задачах удобно ставить в соответствие символу x также безразличное значение сигнала. Другими словами, если некоторой переменной приписан символ x, сигнал на соответствующем полюсе устройства может быть равен 0, либо 1. При анализе состязаний используется алфавит либо троичный, либо с большим числом символов, позволяющий уточнить характер переходных процессов.

Необходимо отметить, что с ростом значности алфавита быстро увеличивается время моделирования, а также и требуемый объем памяти.

Элементом ДУ называется конструктивно и функционально законченная часть ДУ, не подлежащая дальнейшему расщеплению. Элементы ДУ представляются как структурными, так и функциональными моделями. Простейшие логические элементы (И, ИЛИ, И-НЕ и т.п.) практически всегда представляются функциональными моделями.

Простейшей моделью элемента комбинационного базиса, используемой при двоичном моделировании, является реализуемая им булева функция, заданная с помощью таблицы истинности или любым другим способом. При многозначном моделировании модель элемента задается с помощью многозначной таблицы истинности. В алгоритмах, учитывающих временные соотношения между сигналами, модели элементов могут иметь более сложный вид. Так, модель элемента может содержать сведения о значениях задержки при переключении из 0 в 1 и из 1 в 0 по какому входу (номинальные, минимальные, максимальные значения задержки, возможно, распределение вероятности значения задержки), об импульсной помехоустойчивости элемента и т.п.

Библиотека элементов.

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

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

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

·              для задания начального состояния схемы;

·              для задания максимального числа итераций (тактов);

·              для введения “нестандартных” неисправностей;

·              для сравнения результатов моделирования с ожидаемыми результатами и выдачи сообщений о возможных расхождениях. [3]

 

2.2 Моделирование элементов


Задача моделирования заключается в следующем - по значениям на входах логических элементов определить значения на выходах и задержку переключения элементов. Есть несколько способов моделирования:

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

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

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

Модель на основе спецификаций включает универсальную программу для некоторого множества однотипных элементов и спецификацию - набор данных, в котором указываются особенности моделируемого элемента. Преимущества такой модели в том, что создается одна процедура на группу элементов, что позволяет добавлять новые элементов без спецификации. [5]

 

2.3 Создание модели элемента ДУ


Модель элемента дискретного устройства предназначена для использования в процессе моделирования ДУ и содержит информацию о функционировании элемента.

Модель элемента ДУ должна содержать информацию о функции элемента, о временных характеристиках функционирования элемента.

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

К модели элемента дискретного устройства предъявляются такие требования:

. Обеспечение заданной адекватности моделирования;

. Минимальный объем памяти для представления модели;

. Максимальное быстродействие обработки модели.

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

 

2.4 Описание работы логических элементов


Таблица 1. Обозначение элементов

)        Элемент «И» (AND) реализует конъюнкцию (логическое умножение) двух или более логических значений.


Единица на выходе схемы И будет тогда и только тогда, когда на всех входах будут единицы. Когда хотя бы на одном входе будет нуль, на выходе также будет нуль.Связь между выходом z этой схемы и входами х и у описывается соотношением z = х ^ у (читается как «х и у»). Операция конъюнкции на функциональных схемах обозначается знаком & (читается как «амперсэнд»), являющимся сокращенной записью английского слова and.

)        Элемент «И_НЕ» (NAND)


Ноль на выходе схемы И-НЕ будет тогда и только тогда, когда на всех входах будут единицы. Когда хотя бы на одном входе будет нуль, на выходе будет единица.

)        Элемент «ИЛИ» (OR)

Схема ИЛИ реализует дизъюнкцию (логическое сложение) двух или более логических значений.


Когда хотя бы на одном входе схемы ИЛИ будет единица, на ее выходе также будет единица. Знак «1» на схеме - от устаревшего обозначения дизъюнкции как «>=!» (т.е. значение дизъюнкции равно единице, если сумма значений операндов больше или равна 1). Связь между выходом z этой схемы и входами х и у описывается соотношением z = х или у.

)        Элемент «ИЛИ-НЕ» (NOR)


Когда хотя бы на одном входе схемы ИЛИ-НЕ будет единица, на ее выходе будет ноль. Если ну входе все нули, то выходе будет единица.

)        Элемент «НЕ» (NOТ)

Схема НЕ (инвертор) реализует операцию отрицания.


Связь между входом х этой схемы и выходом z можно записать соотношением Z = , где х читается как «не х» или «инверсия. Если на входе схемы 0, то на выходе 1. Когда на входе 1 на выходе 0. [3]

 

.5 Функциональная схема разрабатываемого модуля


Рисунок 1. Функциональная схема

1 - имя файла

- массив сигналов, содержащий переданные модулем моделирование значения

- ошибок не найдено, создание модели элемента в ОП

- тип моделируемого элемента

- если моделирование возможно возвращаем получаемое значение на выходе, иначе возвращаем «х»

 

 

3. Описание структур данных

 

.1 Используемые переменные и типы


Еlement2: string[]    Mod2: int[]  Vix:int[] Zader: int[] Еlement: string[]


массив содержащий типы элементов считанные из библиотеки элементов так как данные о типе представлены в текстовой форме - тип массива string массив содержащий количество входных контактов элемента массив содержащий количество выходных контактов элемента массив содержащий значение задержки элемента массив содержащий информацию о типе элементов считанную из jTextField1

mod: int


массив содержащий количество входных контактов элемента считанных из jTextField2

fbib:File   vsign:int


хранит путь у файлу с библиотекой элементов, выбранному с использованием filechooser переменная содержащая значение выходного контакта элемента

Bib: string


хранит путь к файлу библиотеки элементов.

 

Priznak: int


переменная содержащая признак ошибки/выполнения создание элемента ДУ

 

LBib: string  Lin: int    Result: Boolean   Vrem: string[]     Vrem2: string[]     Vsignal: string Sig: string Signal: int[]


для хранения строки считанной из файла с библиотекой элементов переменная используемая для подсчета повторения операции считывания из файла содержащего библиотеку элементов переменная используемая в filechooser, возвращает значение true если файл выбран массив используется для временного хранения значения количества входных контактов элемента, для последующего разделения по символу «;» массив используется для временного хранения значения количества выходных контактов элемента, для последующего разделения по символу «;» переменная содержащая значение выходного контакта моделируемого элемента. Предназначенная для вывода в jTextField4 переменная содержащая информацию о значении сигналах моделируемого элемента считанную из jTextField3  массив содержащий значения сигналов моделируемого элемента

 

 

.2 Используемые методы, процедуры и функции


Метод otkr()  Метод nalichie()


Производит считывание данных из файла библиотеки элементов. Создает модель элементов ДУ.

readLine() BufferedReader (new FileReader ()) getText()  length()  endsWith() setFileFilter()


Считывает построчно файл. Загружает заданный файл во входной поток данных. Считывает текст из указанного текстового поля. Возвращает значение длины заданного массива. функция которую использует filechooser для проверки типа файла выбранного пользователем Метод который использует filechooser для фильтрации типов файлов Функция преобразует тип int в string


Для удобства взаимодействия пользователя с разрабатываемым модулем предусмотрены следующие компоненты типа JButton:

jButton1(кнопка «моделирование») - предназначена для моделирование элемента с заданными характеристиками.

Также предусмотрены следующие компоненты типа jTextField:

jTextField1 - тeксовое поле содержащее одну строку, предназначено для ввода пользователем типа элемента.

jTextField2 - текстовое поле содержащее одну строку, предназначено для ввода пользователем количества контактов.

jTextField3 - текстовое поле содержащее одну строку, предназначено для ввода пользователем значений на входах элемента.

jTextField4 - текстовое поле содержащее одну строку, предназначено для вывода выходного значения полученного после моделирования.

 

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

 

.1 Алгоритм загрузки логического элемента из файла


1.      Открыть файл с описанием элементов.

2.      Считываем очередную строку.

.        Если конец файл - к п9.

.        Считываем название элемента.

5.      Считываем количество возможных входных контактов.

6.      Считываем задержку элемента.

.        Если ошибок не обнаружено п8, иначе выдать сообщение об ошибке.

.        Закрыть файл.

.        Конец.

Процесс поиска ошибок состоит из следующих этапов:

1.      Считываем очередную строку.

·        В массив содержащий типы элементов записываем второй элемент строки.

·        Четвертый элемент строки разбиваем на символы разделённые знаком «;», если полученные символы не численные, выводим сообщение об ошибке - количество входов задано некорректно. Иначе полученные значения записываем в массив содержащий количество входных контактов элемента.

·        Шестой элемент строки разбиваем на символы разделённые знаком «;», если полученные символы не численные, выводим сообщение об ошибке - количество выходов задано некорректно. Иначе полученные значения записываем в массив содержащий количество выходных контактов элемента.

·        Если значение восьмого элемента строки не численное, выводим сообщение об ошибке - задержка задана некорректно. Иначе полученное значение записываем в массив содержащий задержки элемента.

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

 

4.2 Алгоритм процедуры моделирования


Модуль моделирование передает значение сигналов только в том случае если хотя бы одно из них не равно «х».

. Проверить значение всех сигналов. Если хоть один не соответствует трехзначной модели сигнала - выдать сообщение об ошибке.

. Если хотя бы на одном входе будет ноль, на выходе также будет ноль. Если на всех входах будут единицы - на выходе схемы единица.

·        Элемент «И-НЕ»

. Проверить значение всех сигналов. Если хоть один не соответствует трехзначной модели сигнала - выдать сообщение об ошибке.

. Если хотя бы на одном входе будет нуль, на выходе единица. Если на всех входах будут единицы - на выходе схемы ноль.

·        Элемент «ИЛИ»

. Проверить значение всех сигналов. Если хоть один не соответствует трехзначной модели сигнала - выдать сообщение об ошибке.

. Если хотя бы на одном входе будет единица, на выходе также будет единица. Если на всех входах будут нули - на выходе схемы ноль.

·        Элемент «ИЛИ-НЕ»

. Проверить значение всех сигналов. Если хоть один не соответствует трехзначной модели сигнала - выдать сообщение об ошибке.

. Если хотя бы на одном входе будет единица, на выходе будет нуль. Если на всех входах будут нули - на выходе схемы единица.

·        Элемент «НЕ»

. Проверить значение всех сигналов. Если хоть один не соответствует трехзначной модели сигнала - выдать сообщение об ошибке.

. На выходе - инвертированное значение входного сигнала.

5. Результаты тестирования


При запуски разрабатываемого модуля видим следующий интерфейс:


Тестовый пример №1

Цель примера проверить правильность работы программы.

Входные данные:


Выходные данные:


Тестовый пример №2

Цель примера проверить правильность работы программы

Входные данные:


Выходные данные:


Тестовый пример №3

Цель примера проверить корректность работы программы на примере содержащем ошибки.

Входные данные:


Выходные данные:


Результаты всех тестовых примеров соответствуют ожидаемым, что свидетельствует о правильности работы программы.

 

 

6. Описание программы

цифровой устройство дискретный оборудование

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

Программа написана на языке Java.

Для написания использовалась среда разработки NetBeans IDE 6.9.1.

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

Целью данной программы являеться создание модели элементов ДУ в ОП, и моделирование логических элементов.

Текст программы приведен в Приложении А.

 

Заключение


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

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

В ходе выполнения данной курсовой работы был реализован модуль создание модели элементов и моделирование ДУ. Модуль был объединён с модулем создание модели и моделирование ДУ и интегрирован в главный модуль учебного САПР. В результате совместного тестирования было выяснено, что разработанный модуль полностью соответствует поставленной задаче, работает адекватно и вполне может использоваться в учебных целях для демонстрации работы простейших САПР.

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

Библиографический список


1. И.П. Норенков, В.Б. Маничев. Системы автоматизированного проектирования электронной и вычислительной аппаратуры: Учеб. Пособие для вузов. - М.: Высш. Школа, 1983. - 272 с., ил.

. Системы автоматизированного проектирования в радиоэлектронке: Справочник/Е. В. Авдеев, А. Т. Еремин, И. П. Норенков, М. И. Песков; Под ред. И. П. Норенкова. - М.: Радио и связь, 1986. - 368 с.: ил.

. Автоматизированное проектирование цифровых устройств / С. С, Бадулин, Ю. М. Барнаулов, В. А. Бердышев и др.; Под ред. С. С. Бадулина. - М.: Радио и связь, 1981. - 240 с., ил. - ( Проектирование радиоэлектронной аппаратуры на интегральных микросхемах).

. Методические указания к выполнению курсовой работы «Разработка модуля САПР СВТ» по дисциплине «Основы автоматизации проектирования средств вычислительной техники» для студентов специальности 7.091501 дневной и заочной форм обучения. Разработали: Тертычный А.И., Исаев В.А. - Севастополь: Издательство СевГТУ,2002.- 20с.

. Лекции по дисциплине «Автоматизация проектирования вычислительных систем» за 7 учебный семестр.

 

Приложение

 

Tекст программы

package apvs_g;

import org.jdesktop.application.Action;org.jdesktop.application.ResourceMap;org.jdesktop.application.SingleFrameApplication;org.jdesktop.application.FrameView;org.jdesktop.application.TaskMonitor;java.awt.event.ActionEvent;java.awt.event.ActionListener;javax.swing.Timer;javax.swing.Icon;javax.swing.JDialog;javax.swing.JFrame;javax.swing.JOptionPane;

/**

* The application's main frame.

*/class APVS_GView extends FrameView {APVS_GView(SingleFrameApplication app) {(app);();

// status bar initialization - message timeout, idle icon and busy animation, etcresourceMap = getResourceMap();messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");= new Timer(messageTimeout, new ActionListener() {void actionPerformed(ActionEvent e) {.setText("");

}

});.setRepeats(false);busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");(int i = 0; i < busyIcons.length; i++) {[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");

}= new Timer(busyAnimationRate, new ActionListener() {void actionPerformed(ActionEvent e) {= (busyIconIndex + 1) % busyIcons.length;.setIcon(busyIcons[busyIconIndex]);

}

});= resourceMap.getIcon("StatusBar.idleIcon");.setIcon(idleIcon);.setVisible(false);

// connecting action tasks to status bar via TaskMonitortaskMonitor = new TaskMonitor(getApplication().getContext());.addPropertyChangeListener(new java.beans.PropertyChangeListener() {void propertyChange(java.beans.PropertyChangeEvent evt) {propertyName = evt.getPropertyName();("started".equals(propertyName)) {(!busyIconTimer.isRunning()) {.setIcon(busyIcons[0]);= 0;.start();

}.setVisible(true);.setIndeterminate(true);

} else if ("done".equals(propertyName)) {.stop();.setIcon(idleIcon);.setVisible(false);.setValue(0);

} else if ("message".equals(propertyName)) {text = (String)(evt.getNewValue());.setText((text == null) ? "" : text);.restart();

} else if ("progress".equals(propertyName)) {value = (Integer)(evt.getNewValue());.setVisible(true);.setIndeterminate(false);.setValue(value);

}

}

});

@Actionvoid showAboutBox() {(aboutBox == null) {mainFrame = APVS_GApp.getApplication().getMainFrame();= new APVS_GAboutBox(mainFrame);.setLocationRelativeTo(mainFrame);

}_GApp.getApplication().show(aboutBox);

}

//Моделирование элементов

int vsign=-1;int vse=0;

String element=jTextField1.getText();mod1=jTextField2.getText();sig=jTextField3.getText();mod=Integer.parseInt(mod1);sign[]=sig.split("");signal[]=new int [sig.length()];(int i=0;i<sig.length();i++)

{[i]=Integer.parseInt(sign[i+1]);(signal[i]!=0) if(signal[i]!=1) if(signal[i]!=2) JOptionPane.showMessageDialog(null, "!Ошибка! Не возможный сигнал!","!Ошибка!", JOptionPane.ERROR_MESSAGE);

}(element.equals("and"))(int i=0;i<mod;i++)

{(signal[i]==0)=0;(signal[i]==1)++;(vse==mod)=1;

}(element.equals("nand"))(int i=0;i<mod;i++)

{(signal[i]==0)=1;(signal[i]==1)++;(vse==mod)=0;

}(element.equals("or"))(int i=0;i<mod;i++)

{(signal[i]==1)=1;(signal[i]==0)++;(vse==mod)=0;

}(element.equals("nor"))(int i=0;i<mod;i++)

{(signal[i]==1)=0;(signal[i]==0)++;(vse==mod)=1;

}(element.equals("not"))(signal[0]==1)=0;(signal[0]==0)=1;vsignal;=String.valueOf(vsign);.setText(vsignal);// TODO add your handling code here:

}

// Variables declaration - do not modifyjavax.swing.JButton jButton1;javax.swing.JLabel jLabel1;javax.swing.JLabel jLabel2;javax.swing.JLabel jLabel3;javax.swing.JLabel jLabel4;javax.swing.JTextField jTextField1;javax.swing.JTextField jTextField2;javax.swing.JTextField jTextField3;javax.swing.JTextField jTextField4;javax.swing.JPanel mainPanel;javax.swing.JMenuBar menuBar;javax.swing.JProgressBar progressBar;javax.swing.JLabel statusAnimationLabel;javax.swing.JLabel statusMessageLabel;javax.swing.JPanel statusPanel;

// End of variables declarationfinal Timer messageTimer;final Timer busyIconTimer;final Icon idleIcon;final Icon[] busyIcons = new Icon[15];int busyIconIndex = 0;JDialog aboutBox;

}

//Создание модели элементовnalichie()

{[]element2=new String[5]; int zaderjka1[]=new int [4];[][]mod2=new int[4][4];String []vrem;String []mod3 = new String[4];bib = jTextField2.getText();

{line;int lin=0;input = null;(fbib==null)input = new BufferedReader(new FileReader (bib));{input = new BufferedReader(new FileReader(fbib));}((line = input.readLine())!=null)

{= line.split(" ");[lin]=vrem[1];(int j=0;j<kolvo;j++)=vrem[3].split("\\;");(int i=0;i<4;i++)

{[lin][i]=Integer.parseInt(mod3[i]);

}[lin]=Integer.parseInt(vrem[5]);

// if(zaderjka[lin]>5)JOptionPane.showMessageDialog(null, "!Ошибка! отеке элементов!","!Модель не создана!", JOptionPane.ERROR_MESSAGE); }++;

}

}(Exception e) {c=5;JOptionPane.showMessageDialog(null, "!Ошибка! Введите верный путь к библиотеке элементов!","!Модель не создана!", JOptionPane.ERROR_MESSAGE); }

Похожие работы на - Создание модели и моделирование элементов дискретного устройства

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!