Компьютерное моделирование на базе программного пакета Electronics Workbench
Методы логического проектирования и минимизации, их описание и сравнительная характеристика, анализ основных преимуществ и недостатков. Основы моделирования и классификация моделей, последовательность разработки. Экономическое обоснование проекта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.11.2012 |
Размер файла | 256,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
Современная полупроводниковая и интегральная элементная база очень чувствительна к перегреву, перенапряжению, статическому электричеству, имеет миниатюрные размеры и поэтому требует сложной, дорогой технологической оснастки для реальной работы с современными электронными схемами. Использование вредных химических веществ при монтаже требует соответствующего оборудования помещения.
Работа с современными быстродействующими компонентами требует постоянного обновления дорогой и сложной контрольно-измерительной аппаратуры. Современная аппаратура сложна, требует высокой квалификации исследователя и мало приспособлена для студенческого практикума.
Целый ряд исследований невозможно выполнить из-за уникальности необходимой аппаратуры (исследование фазовых характеристик, спектральных характеристик, нелинейных характеристик, исследование влияния температуры на работу электронного устройства и т.д.).
В разработке современной электронной аппаратуры все шире используется вычислительная техника, системы автоматического проектирования, интеллектуальная диагностика работоспособности устройств. Это направление совершенно не представлено в существующем практикуме.
Перечисленные замечания, конечно не полностью описывают проблему. Поэтому актуально стоит поиск альтернативных методических направлений обучения электронным дисциплинам.
Одно из таких направлений рассмотрено в данном проекте - использование компьютерного моделирования на базе программного пакета Electronics Workbench фирмы Interactive Image Technologies Ltd. (Canada).
Этот пакет представляет законченную среду (shell) разработки электронных схем с интуитивным простым интерфейсом, близким для электронщика. Название пакету выбрано точно - в переводе - рабочий стол электронщика.
У этого пакета имеется целый ряд достоинств, привлекающих внимание:
1. Оригинальный простой графический редактор, позволяющий достаточно просто рисовать на экране практически любые электронные схемы в привычном изображении.
2. Большая библиотека современных электронных компонент, дискретных, интегральных аналоговых, цифровых и смешанных аналогово-цифровых. Библиотека открытая, легко может пополняться новыми элементами, в том числе и отечественными.
3. Богатая библиотека электронных схем, позволяющая использовать готовые практические разработки и легко модернизировать под конкретную задачу. Библиотека открытая, позволяет пополнение, как за счет новых разработок, так и за счет подключения библиотек более ранних версий.
4. Великолепный набор виртуальных измерительных приборов, позволяющих выполнить любое электрическое (и не только электрическое измерение). Работа с этими измерительными приборами максимально приближена к работе с реальными приборами. Подключив виртуальный прибор к любой точке схемы можно получить исчерпывающую информацию о процессах в данном узле.
5. Простой по интерфейсу набор моделирующих средств, позволяющий помимо традиционного моделирования электронной схемы по постоянному и переменному току, повести моделирование спектральных, нелинейных, амплитудно-частотных, фазо-частотных характеристик, влияние температуры на отдельные компоненты и на схему в целом, возможность сканирования (sweep) любых параметров компонентов, параметров источников сигналов и питания. Достаточно просто можно выполнить вероятностный анализ работы схемы с различными законами распределения параметров.
6. Большие возможности документирования исследования, получение твердой копии как электрической схемы, параметров моделирования, информации с экрана измерительной аппаратуры, хорошо оформленных графических результатов исследования.
7. Поразительно низкие требования, предъявляемые к компьютеру. Возможна работа, начиная с 386 модели.
8. Не требует знаний по программированию. Требуется лишь знакомство со средой Windows. Интуитивный интерфейс позволяет быстро даже неподготовленному пользователю (буквально за полчаса) познакомится с основами и приступить непосредственно к электронным исследованиям.
9. Нельзя не упомянуть обширный, тщательно подготовленный Help, обеспечивающий как контекстную помощь по меню, компонентам, опциям моделирования, так и общие вопросы моделирования, возможные ошибки.
Достоинств в этом пакете больше, чем перечислено и о них еще будет говориться в процессе разработки. Однако то, что перечислено, позволило среди множества известных пакетов электронных CAD'ов (Computer Aided Design) выбрать именно Electronics Workbench как наиболее подходящий для использования в логическом проектировании.
1. Общая часть
1.1 Обзор методов логического проектирования и минимизации
Термин «логическое проектирование» охватывает целый комплекс проблем, возникающих на одной из ранних стадий создания цифрового автомата. Одним из этапов логического проектирования является синтез его, так называемых комбинационных устройств, который заключается в определении таких способов соединения некоторых простейших схем, называемых логическими элементами, при которых построенное устройство реализует поставленную задачу по преобразованию входной двоичной информации. В частности логическими элементами являются инвертор, конъюнктор и дизъюнктор. Поскольку эти элементы образуют функционально полный набор, то с их помощью можно построить комбинационное устройство (то есть устройство, не обладающее памятью, в котором выходной сигнал в любой момент времени определяется только комбинацией входных сигналов), реализующее любой наперёд заданный закон преобразования двоичной информации.
Обычно логическое проектирование выполняется в следующей последовательности:
1) составление таблицы истинности синтезируемого узла согласно его определению, назначению и (словесному) описанию принципа работы;
2) составление математической формулы для логической функции, описывающей работу синтезирующего узла, согласно имеющейся таблице истинности;
3) анализ полученной функции с целью построения различных вариантов её математического выражения (на основании законов булевой алгебры) и нахождения наилучшего из них в соответствии с тем или иным критерием;
4) составление функциональной (логической) схемы узла из заранее заданного набора логических элементов.
1.2 Нормальные формы логических функций
Синтез комбинационных устройств обычно начинается с табулирования значений истинности всех входных и выходных величин. Табличное задание закона функционирования некоторого устройства является наиболее наглядным и универсальным средством описания его работы. Результатом рассматриваемого этапа является таблица истинности, связывающая все возможные комбинации значений аргументов и функций. Пусть, например, требуется синтезировать цифровое устройство, реализующее сложение двух двоичных цифр (полусумматор).
1-й этап синтеза - даётся словесное описание полусумматора и принципа его работы. Он должен анализировать все комбинации входных сигналов (т.е. двоичных цифр 00, 01, 10, 11) и в соответствии с ними формировать на выходе двухразрядные суммы. В первом разряде результата формируется цифра переноса, а во втором - цифра многоразрядной суммы. Следовательно, синтезируемый полусумматор должен иметь два входа (n=2) и два выхода. Далее от нестрогого словесного описания переходим к строгому формальному описанию работы полусумматора на табличном языке. Таблица истинности (см. табл. 1.1) в общем случае при n входах имеет 2 в степени n комбинаций значений аргументов.
Таблица 1.1 Таблица истинности полусумматора
1-я цифра слагаемое Х1 |
0 |
0 |
1 |
1 |
|
2-я цифра слагаемое Х2 |
0 |
1 |
0 |
1 |
|
Цифра переноса р |
0 |
0 |
0 |
1 |
|
Цифра суммы s |
0 |
1 |
1 |
0 |
2-й этап синтеза - для того чтобы показать методику перехода от таблицы истинности к аналитическому выражению, рассмотрим некоторую обобщённую таблицу истинности двух аргументов f (X1, X2) (см. табл. 1.2). Ограничение на число аргументов не является в данном случае существенным, но значительно упрощает все рассуждения.
Таблица 1.2 Обобщённая таблица истинности функции двух аргументов
1-й логический аргумент Х1 |
0 |
0 |
1 |
1 |
|
2-й логический аргумент Х2 |
0 |
1 |
0 |
1 |
|
Логическая функция f (X1, X2) |
f0 |
f1 |
f2 |
f3 |
Здесь f0=f (0,0); f1=(0,1); f2=(1,0); f3=(1,1) - конкретные реализации функции f (X1, X2) при определённых частных значениях аргументов X1 и X2. Они также являются двоичными переменными. Десятичные индексы при их символах числено равны тем двоичным числам, которые образуются соответствующими частными значениями аргументов. Кроме того, каждый десятичный индекс можно трактовать как номер некоторого столбца в Таблице 1.2, изменяющийся в пределах от 0 до 2n -1, так как обычно значения аргументов в таблице записываются таким образом, чтобы получающееся из них по вертикали двоичное число было равно номеру столбца. Исходя из выше изложенного, уже можно перейти от табличной записи логической функции f (X1, X2) к аналитической:
f (X1, X2) = f0 при, х1=0, х2=0;
f1 при, х1=0, х2=1; (1.1)
f2 при, х1=1, х2=0;
f3 при, х1=1, х2=1;
Такая запись несколько удобнее и компактнее таблицы, однако, она всё-таки громоздка и плохо обозрима (особенно в случае большого числа аргументов). Но от неё можно перейти к записи другого вида, более удобной и компактной:
f(x1, x2)= x1x2f0+ x1x2f1+ x1x2f2+ x1x2f3 (1.2)
Правило построения каждого члена в этом предложении несложно; производится логическое умножение элементов каждого столбца табл. 1.2, причём вместо 1 берётся символ соответствующего аргумента, а вместо 0 - его отрицание. Равносильность соотношений (1.1) и (1.2) простой подстановкой в выражение (1.2) всех возможных комбинаций значений аргумента xi.
Обобщив вышеизложенное можно сформулировать правило получения аналитической записи логической функции для некоторого комбинационного узла:
- для того чтобы получить аналитическое выражение функции, заданной таблично, нужно составить сумму конституент единицы для тех наборов значений входных двоичных переменных, для которых реализации функции fi равны 1, причём символ любой переменной в некоторой конституенте берётся со знаком отрицания, если конкретное значение переменной xi в рассматриваемом наборе имеет значение 0.
Поскольку логическая сумма всех элементарных произведений наивысшего ранга n обязательно равна 1, какой бы набор значений входных переменных ни рассматривался, то эти произведения вполне логично называть конституентами (составляющими) единицы. Аналогично объясняется и название конституенты (составляющей) нуля, так как известно, что логическое произведение всех элементарных сумм наивысшего ранга тождественно равно нулю.
Все функции, полученные в соответствии с вышеизложенным правилом получения аналитической записи логической функции для некоторого комбинационного узла, независимо от числа аргументов имеют много общего в своей структуре. Таким образом, это правило определяет канонический вид любой логической функции. В этом случае говорят, что функция задана (записана) в совершенной дизъюнктивной нормальной форме (СДНФ). Нормальной эта форма называется потому, что члены функции в данном случае имеют вид элементарных конъюнкций. Вследствие того что все члены соединены в одну функцию знаком дизъюнкции, форма носит название дизъюнктивной. И, наконец, форма называется совершенной, так как все её члены имеют высший ранг, являясь конституентами единицы.
Поскольку алгебра логики симметрична, то вышеприведённые рассуждения можно применить для вывода ещё одной канонической формы логических функций - совокупности конституент нуля, соединённых знаком конъюнкции. Таким образом сформулируем второе правило:
- для того чтобы получить аналитическое выражение функции, заданной таблично, в совершенной конъюктивной нормальной форме, нужно составить логическое произведение конституент нуля для тех наборов значений, входных двоичных переменных, для которых реализация функции fi равна 0, причём символ любой переменной в некоторой конституенте берётся со знаком отрицания, если её конкретное значение xi в рассматриваемом наборе равно 1.
В общем случае переход к совершенной нормальной форме производится за три шага.
1-й шаг - с помощью многократного применения законов инверсии снимаются общие и групповые отрицания так, чтобы отрицания оставались только у одиночных переменных.
2-й шаг - с помощью распределительных законов производится переход к одной из нормальных форм функции.
3-й шаг - производится преобразование членов ДНФ или КНФ в соответствующие конституенты с помощью правила развёртывания.
Пользуясь сформулированными правилами и таблицей 1.1 для полусумматора записываем:
p(x1, x2) = x1x2
s(x1, x2)= x1x2 +x1x2 СДНФ (1.3)
p(x1, x2) = (x1+ x2) (x1 +x2) (x1+x2)
s(x1, x2) = (x1+ x2) (x1 +x2) СКНФ (1.4)
3-й этап синтеза - анализ и оптимизация (минимизация) логических функций являются весьма важными компонентами синтеза цифровых автоматов без памяти. Поэтому методы анализа и оптимизации будут рассмотрены отдельно.
4-й этап синтеза - к построению функциональной схемы синтезируемого узла в принципе можно переходить сразу же, как только становится известным аналитическое описание его работы. Построение схемы основано на прямом замещении элементарных произведений, сумм и отрицаний соответственно конъюнкторами, дизъюнкторами и инверторами. Пользуясь соотношениями (1.3), (1.4) можем построить для полусумматора две функциональные схемы.
С функциональной точки зрения обе схемы полностью тождественны, хотя по структурной сложности они значительно различаются.
а) СДНФ
б) СКНФ
Рис. 1.1 Функциональная схема полусумматора.
1.3 Общие сведения о минимизации логических функций
Однозначность соответствия формы логической функции и параметров реальной электронной схемы приводит к необходимости оптимизации функции, т.е. к необходимости получения наилучшего её вида по выбранному критерию. В общем случае речь должна идти об оптимизации функции по таким показателям, как быстродействие, надежность, количество потребного оборудования, вес, габариты, энергопотребление, стоимость (достижение их минимума) и т.п. Однако решение этой задачи в общем виде достаточно трудное дело, тем более что некоторые из указанных показателей находятся в известном противоречии. Например, увеличение быстродействия, как правило, достигается за счет параллельной организации работы данного устройства, но это ведёт к увеличению оборудования, а значит, к уменьшению надежности и увеличению стоимости. Поэтому на практике обычно решается частная задача оптимизации по одному из критериев. Чаще всего это делается по минимуму потребного оборудования, так как при этом автоматически решаются задачи получения минимальных габаритов, веса, энергопотребления, стоимости. Такая частная задача оптимизации логической функции носит название минимизации.
Таким образом, возникает задача нахождения из всех возможных форм логической функции её так называемой минимальной формы, обеспечивающей минимум затрат оборудования при построении синтезируемого узла, если имеется заданный набор логических элементов (НЕ, И, ИЛИ) с определенными техническими характеристиками (например, максимально возможное число входов у элементов И, ИЛИ и др.). Нетрудно заметить, что в рамках нормальных форм минимальной будет такая разновидность функции, которая состоит из наименьшего количества членов при наименьшем, по возможности, общем числе символов переменных.
Из большего числа различных приемов и методов минимизации рассмотрим три наиболее показательных, типовых:
· расчетный метод (метод непосредственных преобразований);
· 2 расчётно-табличный метод (метод Квайна-Мак-Класки);
· табличный метод (метод Вейча-Карно).
Исходной формой для любого из этих методов является одна из совершенных форм - СДНФ или СКНФ. Это обстоятельство практически не накладывает особых ограничений, поскольку переход от произвольной формы функции к её совершенным формам, как это было показано выше, не представляет принципиальных трудностей. В общем случае при любом из вышеупомянутых методов минимизация производится в три этапа.
1-й этап - переход от совершенной Д(К) НФ к сокращенной Д(К) НФ путем производства всех возможных склеиваний друг с другом конституент, а затем всех производны членов более низкого ранга. Таким образом, под сокращенной формой будем понимать дизъюнктивную (или конъюнктивную) форму функции, членами которой служат только изолированные (несклеивающиеся) элементарные конъюнкции (или дизъюнкции). Члены сокращенной Д(К) НФ в алгебре логики носят название простых импликант (имплицент). Не исключен случай, когда СД(К) НФ тождественно равна сокращенной форме рассматриваемой функции.
2-й этап - переход от сокращенной нормальной к тупиковой нормальной форме. Тупиковой будем называть такую нормальную дизъюнктивную (конъюнктивную) форму функции, членами которой являются простые импликанты (имплиценты), среди которых нет ни одной лишней. Термин «лишний» здесь имеет прямое значение. Лишним будем называть такой член функции, удаление которого не влияет на значение истинности этой функции. Возможны случаи, когда в сокращенной форме не оказывается лишних членов. Тогда сокращенная Д(К) НФ тождественно равна тупиковой форме. Не исключены случаи появления нескольких тупиковых форм из одной сокращенной. Название «тупиковая форма» показывает, что дальнейшая минимизация в рамках нормальных форм уже невозможна.
3-й этап - переход от тупиковой (минимальной среди нормальных форм) формы функции к её минимальной форме. Этот этап, называемый обычно факторизацией, уже не является регулярным, как два предыдущих, и требует определенной сноровки, интуиции и опыта. Здесь подразумевается поиск возможностей упрощения функции методом проб и испытаний. Для уменьшения числа операций отрицания следует применять законы инверсии, а для уменьшения числа конъюнкций и дизъюнкций - распределительные законы. На этом же этапе решается и вторая задача - приведение логических функций к виду, удобному для применения реальных логических элементов, которые на практике имеют определенные ограничения по количеству входов и по величине допустимой нагрузки. Различные методы минимизации отличаются друг от друга путями и средствами практической реализации того или иного этапа. При минимизации сложных функций чаще всего ограничиваются двумя первыми этапами, т.е. получением самой простой среди тупиковых ДНФ (КНФ). Рассмотрим каждый из вышеназванных методов.
Расчетный метод минимизации
Пусть задана некоторая функция в СДНФ, которую требуется минимизировать:
fсднф = x1 x2 x3 + x1 x2 x3 + x1 x2 x3 (1.5)
1-й этап - производим все возможные склеивания членов заданной функции. В общем случае эта процедура осуществляется за несколько шагов, в результате каждого из которых происходит понижение ранга склеиваемых членов на единицу. На первом шаге склеиваются конституенты:
fпр = x1 x3 + x2 x3 + x1x2 (1.6)
Затем производится второй шаг испытания на склеивание всех членов функции в промежуточной форме. Рассматривая соотношение (1.6), убеждаемся, что все его члены изолированы. Следовательно, полученная промежуточная форма является сокращенной ДНФ исходной функции (сДНФ). Отметим, что все конституенты функции (1.5) участвовали хотя бы в одном склеивании, поэтому ни в сокращенной, ни тем более в тупиковой форме членов максимального ранга не будет:
fсднф = x1x3 + x2x3 + x1x2 (1.7)
2-й этап - осуществляется проверка каждой простой импликанты в сДНФ с целью выявления и удаления лишних членов. Проверка состоит в следующим. На значение истинности функции влияет только та импликанта, которая сама равна 1. любая импликанта становится равной 1 лишь на одном, вполне определенном наборе значений истинности своих аргументов. Но если именно на этом наборе суммы остальных членов тоже обращается в 1, то рассматриваемая импликанта не влияет на значение истинности функции даже в этом единственном случае, т.е. является лишней. Применим это правило к проверке членов функции в сДНФ (1.7):
1) x1x3 = 1 при x1 = 0, x3 = 1; сумма остальных членов на этом же наборе равна x21 + 1x2 = 1; следовательно, проверяемый член - лишний;
2) x2x3 = 1 при x2 = 0, x3 = 1; сумма остальных членов на этом же наборе равна x11 + x10 = x1; следовательно, проверяемый член не является лишним;
3) x1x2 = 1 при x1 = 0, x2 = 1; сумма остальных членов на этом же наборе равна 1x3 + 0x3 = x3; следовательно, проверяемый член не является лишним.
Таким образом, отбросив лишний член, получим тупиковую дизъюнктивную нормальную форму (ТДНФ) исходной функции:
fтднф = x1x2 + x2x3 (1.8)
Более подробно остановимся на случае, когда лишних членов оказывается больше, например два. Это не означает, что оба лишних члена можно отбросить, так как каждый из них проверялся при вхождении другого в оставшуюся сумму. Следовательно, отбросить наверняка можно только один из них, а затем нужно снова произвести проверку возможности отбросить и второй член.
Следует также, остановится подробнее и на случае, когда исходной формой является СКНФ. Методика проведения первого этапа при этом практически не изменяется, но реализация второго этапа имеет свою специфику. На значение истинности функции в конъюнктивной нормальной форме влияет только та имплицента, которая сама равна 0. Но любая имплицента становится нулем только при одном наборе своих аргументов. Следовательно, правило проверки сокращенной КНФ на лишние члены нужно сформулировать таким образом: для каждого члена сокращенной КНФ находится такой набор значений истинности его переменных, который обращает данный член в 0. Далее определяется значение истинности произведения остальных членов на этом же наборе. Если произведение также равно 0, то проверяемый член - лишний.
3-й этап - упрощаем ТДНФ или ТКНФ функции. Применив закон инверсии к первому члену функции в ТКНФ, получим минимальную форму (МФ):
fмф = x1x2(x2 + x3)
для аппаратурной реализации, которой нужной всего семь условий транзисторов. Интересно, что преобразование в минимальную форму ТДНФ функции получается более сложным путем:
fтднф = x1x2 + x2x3 = (x1 + x2) (x2 + x2) (x1 + x3) (x2 + x3) = (x1 + x2) (x1 + +x3) (x2 + x3) = fскнф
Переход от СКНФ к МФ нетрудно осуществить через ТКНФ, как это было сделано выше.
Расчётно-табличный метод минимизации
Минимизация этим способом отличается от расчётной минимизации только методикой выявления лишних членов в сокращённой Д(К) НФ. Данный метод предложен американским ученым У. Квайном. Первый и третий этапы минимизации в этом случае будут идентичны соответствующим этапам при расчетном методе. Нахождение тупиковой формы (второй этап) производится с помощью специальной таблицы (отсюда название метода), значительно упрощающей обнаружение лишних членов. рассмотрим методику расчетно-табличной минимизации на том же примере, который разбирался нами при расчетном способе, что дает возможность более четко показать как общие черты обоих методов, так и их различия.
Итак, пусть требуется минимизировать функцию (1.5), заданную в СДНФ:
fсднф = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3
1-й этап - не отличается по содержанию от 1-го этапа при расчетном методе. Поэтому сразу же запишем исходную функцию в сДНФ:
fcднф = x1x3 + x2x3 + x1x2
2-й этап - для выявления возможных лишних членов в сД(К) НФ функции построим таблицу, входными величинами в которой будут конституенты - члены СД(К) НФ и импликанты (имплиценты) - члены сокращенной Д(К) НФ. Поэтому чаще всего такую таблицу называют конституентно-импликантной (имплицентной) матрицей; применяются также названия: таблица Квайна и таблица покрытий. Она имеет число строк, равное количеству импликант (имплицент) в сокращенной Д(К) НФ. Строки делятся на столбцы, число которых берется равным количеству конституент в СД(К) НФ. Поэтому в горизонтальные (строчные) входы таблицы записываются все простые импликанты (имплиценты), а в вертикальные входы - все члены совершенной нормальной формы (см. табл. 1.3).
Таблица 1.3 Таблица Квайна
Импликанты |
Конституенты |
||||
x1x2x3 |
x1x2x3 |
x1x2x3 |
x1x2x3 |
||
x1x3 |
|||||
x2x3 |
|||||
x1x2 |
Процесс минимизации начинается с последовательного составления каждой импликанты со всеми конституентами. Если какая-либо импликанта является собственной частью некоторой конституенты, то в табличной клетке, соответствующей обоим членам, проставляется любой условный значок (так, в табл. 1.3 клетка перечеркивается крест-накрест). Таким образом, значки в каждой строке заполненной таблицы показывают, какие члены совершенной формы функции появятся при развертывании данной импликанты в семейство конституент. В идеальном случае каждая импликанта развертывалась бы только в «свои» конституенты, и в каждом столбце тогда находился бы только один условный значок. Практически этого не происходит, и очень часто одна и та же конституента покрывается в таблице несколькими импликантами. Задача состоит в том, чтобы вычеркиванием некоторых (лишних!) импликантов попытаться оставить в каждой колонке только значок или по крайней мере минимальное число импликант, покрывающих все конституенты. Практически обычно по таблице вначале находится так называемое ядро функции, состоящее из трех импликант (имплицент), каждая из которых осуществляет единственное покрытие некоторой конституенты и поэтому никоим образом не может оказаться в числе лишних.
Возвращаясь к рассматриваемому примеру (см. табл. 1.3), констатирует. что в ядро функции входят импликанты x1x2 и x2x3. Следовательно, остается только проверить возможность вычеркивания импликанты x1x3. Ее вычеркивание не нарушает условия о наличии хотя бы одного покрытия каждой конституенты любой импликантой. Следовательно, импликанта x1x3 является лишней. Тупиковая дизъюнктивная нормальная форма исходной функции
fтднф = x1x2 + x2x3 (1.8*)
Сравнение показывает идентичность соотношений (1.8) и (1.8*), что и должно было получиться.
3-й этап - по своему содержанию не отличается от соответствующего этапа при расчетном методе, поэтому сразу запишем минимальную форму исходной функции:
fмф = x1x2(x2+x3)
Табличный метод минимизации
При относительно небольшом числе переменных (R6) весьма удобным и наглядным является графическое представление логических функций в виде так называемых карт минтермов. Наиболее распространенной их формой являются карты Карно.
Карта Карно содержит q=2R клеток, причем каждой клетке соответствует один из q минтермов. Для иллюстрации этого на рис. 1.2 (a-в) в клетках карт Карно записаны соответствующие им минтермы. Если требуется представить на карте Карно логическую функцию, заданную в виде СДНФ, то в клетках карты, соответствующих минтермам, входящим в СДНФ, ставятся 1. Остальные клетки остаются незаполненными или заполняются 0.
Логическая функция F на карте Карно представляется совокупностью клеток, заполненных 1, инверсия функции F представляется совокупностью пустых клеток (или заполненных 0). На рис. 1.3 (a) дано представление в виде карты Карно функции Исключающее ИЛИ F6 в соответствии с её таблицей истинности. Её инверсия F6=F9=AB+AB представляется на этой карте совокупностью пустых клеток.
Для логических функций с числом переменных R6 карты Карно становятся громоздкими (число клеток q64) и не удобными для практического применения. Поэтому использование карты Карно можно рекомендовать при числе переменных * R6.
Рассмотренные выше логические функции были определены, т.е. имели определённое значение fi=0 или fi=1, при всех возможных наборах логических переменных. Такие логические функции называются полностью определёнными.
Кроме них имеется большой класс функций, значение которых определено только для части логических наборов переменных. Такие функции называются частично определенными. Наборы переменных, для которых функция определена, называются рабочими, а для которых не определена - безразличными. Значения функции, соответствующие безразличным наборам, будем обозначать в таблицах истинности и на картах Карно знаком «Х». На практике безразличными являются такие наборы значений логических переменных, которые при работе данного конкретного цифрового устройства никогда не реализуются. Частично определённую функцию можно сделать полностью определенной (доопределить), приписав безразличным наборам какие-либо значения функции: fi=0 или 1. Обычно доопределение функции проводится таким образом, чтобы упростить её алгебраическое выражение и практическую реализацию.
Логическую функцию большого числа переменных можно представить в виде композиции функций меньшего числа переменных
F (A, B, C,…, N) = AF0(O, B, C,…, N) + AF1(1, B, C,…, N)
где А - выделяемая переменная, функции F0(0, B, C,…, N) и F1(1, B, C,…, N) получаются из функции F подстановкой значений А=0 и А=1. В качестве выделяемой может использоваться любая переменная. Например:
F = AB+ACD+DE = A (B+DE)+A (CD+DE) = AF1+AF0, F= AB+ACD+DE = D (AB+AC) + D (AB+E) = DF1 + DF0
Процесс выделения более простых составляющих функции называется декомпозицией. Полученные функции F0, F1 могут подвергаться дальнейшей декомпозиции. Таким образом, сложную логическую функцию можно выполнить, последовательно реализуя композицию более простых функций, полученных путем декомпозиции.
2. Специальная часть
2.1 Основы моделирования и классификация моделей
В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методом моделирования. Между тем общепризнанного определения понятия модели не существует [5].
На наш взгляд, заслуживает предпочтения следующее определение:
Модель - объект любой природы, который создается исследователем с целью получения новых знаний об объекте-оригинале и отражает только существенные (с точки зрения разработчика) свойства оригинала.
Анализируя содержание этого определения, можно сделать следующие выводы:
1) любая модель субъективна, она несет на себя печать индивидуальности исследователя;
2) любая модель гомоморфная, т.е. в ней отражаются не все, а только существенные свойства объекта-оригинала;
3) возможно существование множества моделей одного и того же объекта-оригинала, отличающихся целями исследования и степенью адекватности.
Модель считается адекватной объекту-оригиналу, если она с достаточной степенью приближения на уровне понимания моделируемого процесса исследователем отражает закономерности процесса функционирования реальны системы во внешней среде.
По форме представления объектов модели можно разделить на две группы: материальные и идеальные. Материальные модели, в свою очередь, делятся на физические и аналоговые. В физических моделях обеспечивается аналогия физической природы и модели (примером может служить аэродинамическая труба). В аналоговых моделях добиваются сходства процессов, протекающих в оригинале и модели (так с помощью гидроинтегратора моделируется передача тепла).
Идеальные модели можно разделить на знаковые (семиотические) и интуитивные (мысленные). Знаковые модели делятся на логические, геометрические и математические [6].
Математические модели можно разделить на аналитические, алгоритмические и комбинированные.
Для аналитического моделирования характерно то, что для описания процессов функционирования системы используется системы алгебраических, дифференциальных, интегральных или конечно-разностных уравнений. Аналитическая модель может быть исследована следующими методами:
а) а н а л и т и ч е с к и м, когда стремятся получить в общем, виде явные зависимости для искомых характеристик;
б) ч и с л е н н ы м, когда, не умея решать уравнения в общем виде, стремятся получить числовые результаты при конкретных начальных данных;
в) к а ч е с т в е н н ы м, когда, нее имея решения в явном виде, можно найти некоторые свойства решения (например, оценит устойчивость решения).
Желая использовать аналитический метод, часто идут на существенные упрощения первоначальной модели, чтобы иметь возможность изучит хотя бы общие свойства системы. Аналитические модели бывают детерминированные и статические. Численный метод проведения аналитических расчетов с помощью датчиков случайных чисел получил название м е т о д а с т а т и ч е с к и х и с п ы т а н и й, или м е т о д а М о н т.е.-К а р л о.
При алгоритмическом моделировании описывается процесс функционирования систем во времени, причем имитируются элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени. Алгоритмические модели также могут быть детерминированными и статистическими. В последнем случае в модели с помощью датчиков случайных чисел имитируется действие неопределенных и случайных факторов. Такой метод моделирования получил названия м е т о д а с т а т и ч е с к о г о м о д е л и р о в а н и я. В настоящее время этот метод считается наиболее эффективным методом исследования сложных систем, а часто и единственным практически доступным методом получения информации о поведении гипотетической системы на этапе ее проектирования.
Комбинированное моделирование позволяет объединять достоинства аналитического и алгоритмического моделирования. При построении комбинированных моделей производится предварительная декомпозиция процесса функционирования модели на составляющие под процессы. Для тех из них, где это возможно, используются аналитические модели, а для остальных процессов строятся алгоритмические модели.
2.2 Последовательность разработки математических моделей
В процессе разработки и машинной реализации математической модели входят следующие этапы:
Построение концептуальной модели;
Разработка алгоритма модели системы;
Разработка программы модели системы;
Проведение машинных экспериментов с моделью системы.
Построение концептуальной модели включает следующие подэтапы:
Постановка задачи моделирования;
Определение требований к исходной информации и ее сбор;
Выдвижение гипотез и предположений;
определение параметров и переменных модели;
обоснование выбора показателей и критериев эффективности системы;
составление содержательного описания модели.
При постановке задачи моделирования дается четкая формулировка целей и задач исследования реальной системы, обосновывается необходимость машинного моделирования, выбирается методика решения задач с учетом имеющихся ресурсов, определяется возможность разделения задачи на подзадачи.
При сборе необходимой исходной информации необходимо помнить, что именно от качества исходной информации об объекте моделирования зависит как адекватность модели, так и достоверность результатов моделирования.
Гипотезы при построении модели систем служат для заполнения «пробелов» в понимании задачи исследователем. Предположения дает возможность провести упрощение модели. В процессе работы с моделью системы возможно многократное возвращения к этому подэтапу в зависимости от полученных результатов моделирования и новы информации об объекте.
При определении параметров и переменных составляется перечень входных, выходных и управляющих переменных, а также внешних и внутренних параметров системы.
Выбранные показатели и критерии эффективности системы должны отражать цель функционирования системы и представлять собой функции переменных и параметров системы.
Разработка концептуальной модели завершается составлением содержательного описания, которое использует как основной документ характеризующий результаты работы на первом этапе.
Разработка алгоритма модели включает следующие подэтапы:
построение логических систем алгоритма;
получение математических соотношений
проверка достоверности алгоритма.
Вначале создается укрупненная (обобщенная) схема моделирующего алгоритма, которая задает общий порядок действий при моделировании исследуемого процесса. Затем разрабатывается детальная схема, каждый элемент которой впоследствии превращается в оператор программы.
Для комбинированных моделей разрабатывается аналитическая часть в виде явных функций и имитационная часть в виде моделирующего алгоритма
Проверка достоверности алгоритма должна дать ответ на вопрос, настолько алгоритм отражает замысел моделирования, сформулированный на этапе разработки концептуальной модели.
Разработка программ на ЭВМ включает следующие подэтапы:
выбор вычислительных средств;
проведение программирования;
проверку достоверности программы.
Прежде всего выбираются тип ЭВМ (компьютера) и язык программирования. Создания программы по детально разработанному алгоритму может осуществить программист без участия и помощи разработчика модели.
После составления программы производится проверка ее достоверности на контрольном примере. На этом подэтапе необходимо оценить затраты машинного времени и расчета одной реализации моделируемого процесса, что позволит разработчику моделью правильно сформировать требования к точности и достоверности результатов моделирования.
На этом этапе проводятся серийные расчеты по составленной и отлаженной программе. Этап включает следующие подэтапы:
планирование машинного эксперимента;
проведение рабочих расчетов;
представление результатов моделирования;
интерпретацию результатов моделирования;
выдачу рекомендаций по оптимизации режима работы реальной системы.
Перед проведением рабочих расчетов на ЭВМ должен быть составлен план проведения эксперимента с указанием комбинаций переменных и параметров, для которых должно проводиться моделирование систем. Задача заключается в разработке оптимального плана эксперимента, реализация которого позволяет при сравнительно небольшом цифре испытаний модели получить достоверные данные о закономерностях функционирования системы.
Результаты моделирования могут быть представлены в виде таблиц, графиков, диаграмм, схем и т.п. В большинстве случаев наиболее простой формой считаются таблицы, хотя графики более наглядно иллюстрируют результаты моделирования системы. Целесообразно предусмотреть вывод результатов на экран дисплея и на принтер.
Интерпретация результатов моделирования имеет целью переход от информации, полученной в результате машинного эксперимента с моделью, к выводам, касающимся процесса функционирования объекта-оригинала.
На основании анализа результатов моделирования принимается решение о том, при каких условиях система будет функционировать с наибольшей эффективностью.
2.3 Типовые математические схемы
В процессе создания математической модели, реализуемой на ЭВМ, происходит переход от содержательного описания к формальному алгоритму. Промежуточном звеном между ними может служить математическая схема.
Существует ряд типовых математических схема, которые могут лечь в основ разрабатываемого конкретного моделирующего алгоритма.
К ним относятся следующие схема (модели):
непрерывно-детерминированные модели (D - схемы);
дискретно-детерминированные модели (F - схемы);
дискретно - стохастические модели (P - схемы);
непрерывно - стохастические модели (Q - схемы).
К непрерывно-детерминированным моделям относятся модели, описываемые системами обыкновенных дифференциальных уравнений или уравнений в частных производных. В качестве независимой переменной, от который, зависят неизвестные искомые функции, обычно служат время. Тогда вектор-функция искомых переменных будет непрерывной. Математические схемы такого вида отражают динамику изучаемы, системы и поэтому называют D-схемами (англ. Dynamic).
К дискретно-детерминированным моделям относятся так называемые конечные автоматы. Автомат можно представить как некоторое устройство, на которое продаются входные сигналы, и снимается выходные и которое может иметь некоторое внутренние состояния. У конечного автомата множество входных сигналов и внутренних состояний является конечным множеством. Названия F-схема происходят от английских слов finite automata.
К дискретно-стохастическим моделям относятся вероятностные (стохастические) автоматы или по-английски probabilistic automat. Отсюда название - Р-схема. В общем, виде вероятности автомат можно определить как дискретный потактный преобразователь информации с памятью, функционирование которого в каждом такте зависит только от состояния памяти в нем и может быть описано стохастические.
Примером типовой схемы непрерывно-стохастического типа может служить схема системы массового обслуживания (СМО) или по-английски queueing system. Отсюда название-Q-схема.
В качестве процесса обслуживания в СМО могут быть представлены различные по физической природе процессы функционирования экономических, производственных, технических и других систем, например потоки товаров, потоки продукции, потоки деталей, потоки клиентов и т.п.
Для любой системы массового обслуживания характерно наличие трех отличительных свойств:
объектов, у которых может возникнуть потребность в удовлетворении некоторых заявок;
агрегатов, предназначенных для удовлетворения заявок на обслуживание;
специальной организации приема в систему заявок и их обслуживания.
Совокупность заявок рассматривают как поток событий, т.е. последовательность событий, происходящих в случайные моменты времени. Время обслуживания заявки также считается случайной величиной.
Из-за совместного действия этих двух случайных факторов количество обслуженных заявок заданном интервале времени является величиной случайной.
Исследование моделей СМО ставит целью установление параметров случайных величин, характеризующих процесс обслуживания заявок.
Существует несколько разновидностей СМО:
1) по числу каналов обслуживания СМО делятся на одноканальные многоканальные;
2) по числу фаз (последовательно соединенных агрегатов) СМО делятся на однофазные и многофазные;
3) по наличию обратной связи СМО делятся на разомкнутые (с бесконечным числом заявок) и замкнутые (с конечным числом заявок);
4) по наличию очереди СМО делятся на системы без очередной (с потерям заявок), системы с неограниченным ожиданием (по времени или длине очереди);
5) по принципу формирования очереди СМО делятся на системы с общей очередью и системы с несколькими очередями;
6) по наличию отказа СМО делятся на системы с отказами и системы без отказов;
7) по виду приоритета СМО делятся на системы со статическим приоритетам (обслуживания в порядке поступления заявок) и системы с динамическим приоритетом, который, в свою очередь, имеет три разновидности:
относительны приоритет (заявка высокого приоритета ожидает окончания обслуживания заявки с более низким приоритетом);
абсолютный приоритет (заявка высокого приоритета при поступлении немедленно вытесняет заявку с более низким приоритетом);
смешанной приоритет (если заявка с низшим приоритетом обслуживались в течение времени, меньше критического, то используется абсолютны приоритет, в противном случае используется относительны приоритет).
Алгоритмически моделирования - это численный метод исследования систем и процессов с помощью моделирующего алгоритма.
Каждый раз, когда на ход моделируемого процесса оказывает влияние случайный факторов, его действия имитируется с помощью специально организованного розыгрыша (жребия). Таким образом, строится одна случайная реализация моделируемого явления, представляющая собой как бы один результат опыта. По одному опыту, конечно нельзя судит о закономерностях изучаемого процесса. Но при большом числе реализаций средние характеристики, вырабатываемые моделью, приобретают свойство устойчивости, которое усиливается с увеличением числа реализаций.
Бросание жребия можно осуществит вручную (выбором из таблицы случайных чисел), но удобнее это делать с помощью специальных программ, входящие в состав программного обеспечения ЭВМ. Такие программы называют датчиками или генераторами случайных чисел.
В трансляторах почти всех алгоритмических языков имеются стандартные процедуры или функции, которые генерируют случайные (точнее, псевдослучайные) величины с равномерным распределением.
2.4 Возможности программы моделирования Electronics Workbench
Общие сведения об Electronics Workbench.
Electronics Workbench канадской фирмы Interactive Image Technologies разработана достаточно давно и в Росси известны версии 3.0, 4.0, 4.1, 5.0, 5.12 Professional Edition. Программа непрерывно развивается, совершенствуется. Растет библиотека компонент, измерительных приборов, моделирующих функций. Версии 3.0, 4.0 были 16 разрядные, а начиная с Electronics Workbench 4.1 - 32-разрядные. И хотя в последней версии занимаемый объем на диске вырос с 1.4 Мбайт в версии 3.0 до 16 Мбайт в версии 5.12, однако эта программа остается одной из компактных программ (обычные требования подобных программ 80 -150 Мбайт). Во всех версиях остается неизменным (почти) дружественный интуитивный интерфейс, простой мощный графический редактор электрических схем, прекрасная интеграция с Windows системой.
Рис. 2.1 Экран Electronics Workbench
Экран программы Electronics Workbench, показанный на (рис. 2.2), напоминает рабочий стол регулировщика аппаратуры, что вполне соответствует названию (Electronics Workbench - дословно - рабочий стол электронщика). В отличие от других программ схемотехнического моделирования, на нем изображаются измерительные приборы с органами управления, максимально приближенными к реальности. Пользователю не надо изучать довольно абстрактные (хотя и не очень сложные) правила составления заданий на моделирование.
Достаточно в схему ввести двухканальный осциллограф и генератор сигналов - и программа сама сообразит, что нужно анализировать переходные процессы. Если же на схеме разместить анализатор частотных характеристик, то будет рассчитан режим по постоянному току, выполнена линеаризация нелинейных компонентов и затем проведен расчет характеристик схемы в частотной области. Диапазон анализируемых частот, коэффициент усиления и характер оцифровки данных (в линейном или логарифмическом масштабе) устанавливают на лицевой панели с помощью мыши.
Чтобы начать моделирование, достаточно щелкнуть на переключателе, расположенном в верхнем правом углу экрана. После этого на устройствах индикации цифровых вольтметров и амперметров будет зафиксирован режим по постоянному току, на экране измерителя нарисованы частотные характеристики (амплитудно- или фазочастотные), а на экране осциллографа будут непрерывно изображаться эпюры напряжений до тех пор, пока не заполнится буферная память, а затем можно прекратить моделирование или обнулить память и продолжить наблюдения.
Ниже приведены характерные особенности программы Electronics Workbench.
1) Схема изображается в графическом виде привычным образом. Из горизонтально расположенного меню выбирают библиотеку компонентов, состав которой изображается слева от рабочего экрана. Движением мыши символы компонентов переносят на схемы и выполняют электрические соединения. Достаточно указать начальный и конечный вывод цепи, как цепь будет проложена автоматически (правда, не всегда удачно, так что ее приходится немножко корректировать).
2) Полностью поддерживается текстовый формат программы моделирования SPICE, причем при загрузке текстового файла в формате SPICE на экране будет нарисована принципиальная схема с подключенными измерительными приборами (топология сложных схем синтезируется не вполне удачно, но моделируются такие схемы без ошибок).
3) Предусмотрен вывод списка соединений в формате программы OrCAD PCB (в файлах с расширением имени.NET) для разработки печатных плат.
4) Поддерживается стандартный набор компонентов: резисторы, конденсаторы, индуктивности, управляемые линейные и нелинейные источники, линии задержки без потерь и с потерями, диоды, тиристоры, различные транзисторы, операционные усилители, цифровые интегральные схемы и др., а также светодиоды, цифровые индикаторы, резистивные матрицы, плавкие предохранители, лампочки накаливания и ключи. Имеется механизм создания макромоделей.
5) Предусмотрена возможность изменения параметров компонентов нажатием клавиш. Есть кнопочные переключатели, управляемые с клавиатуры. При этом параметры можно изменять, не прерывая моделирования! Как в реальном эксперименте.
Подобные документы
Характеристика процесса моделирования электронных схем. Описание интерфейса и основ установки программы Electronics Workbench, библиотеки компонентов. Примеры моделирования схем работы синтезатора, умножителя частоты, генератора синусоидальных колебаний.
книга [5,6 M], добавлен 31.07.2015Electronics Workbench – электронная лаборатория на ПК, предназначена для моделирования и анализа электрических схем. Исследование элементов электрических цепей. Идеальный источник ЭДС. Исследование последовательного и параллельного соединений резисторов.
контрольная работа [2,0 M], добавлен 23.07.2012История появления и функции трехмерного геологического моделирования. Изучение основных задач эксплуатации геолого-технологических моделей. Информационные аспекты эксплуатации программного обеспечения. Конвертирование и загрузка полномасштабных моделей.
реферат [30,7 K], добавлен 03.05.2015Переходный процесс включения и распространения включенного состояния в силовых тиристорах, его компьютерное моделирование на основе пакета программ приборно-технологического моделирования "Synopsys TCAD". Физические понятия в программном комплексе.
дипломная работа [914,1 K], добавлен 17.07.2016Использование моделирования в программной инженерии в процессе разработки программного обеспечения. Основные этапы процесса разработки программного обеспечения, их характеристика. Моделирование процессов, их определение фазами и видами деятельности.
реферат [2,2 M], добавлен 25.12.2017Компьютерное моделирование - вид технологии. Анализ электрических процессов в цепях второго порядка с внешним воздействием с применением системы компьютерного моделирования. Численные методы аппроксимации и интерполяции и их реализация в Mathcad и Matlab.
курсовая работа [1,1 M], добавлен 21.12.2013Вивчення структури вікон і системи меню Electronics Workbench. Розгляд технології підготовки схем та складання їх компонентів на робочому полі програми. Визначення областей застосування та класифікаційних параметрів елементів радіоелектронної апаратури.
методичка [2,5 M], добавлен 18.06.2010Понятие, последовательность построения и схемная реализация цифрового автомата. Описание форм представления функций алгебры логики. Принципы минимизации функций выходов и переходов автомата, их перевода в базис. Сведенья о программе Electronics Workbench.
курсовая работа [2,0 M], добавлен 27.10.2010Формализация как важнейший этап моделирования. Методы описания и свойства моделей. Адекватность проекта целям моделирования. Основные принципы и значение формализации. Исследование на компьютере информационных моделей из различных предметных областей.
презентация [1,2 M], добавлен 24.01.2011Загальна характеристика програми Провідник. Виконання операцій над об'єктами: копіювання, переміщення, вилучення, відновлення. Розгляд можливостей програми Electronics Workbench. Створення таблиці в MS Excel за зразком та виконання необхідних розрахунків.
контрольная работа [2,6 M], добавлен 20.11.2015