Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Алгоритмы покрытий.






 

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

Исходная схема представляет множество М={m1, m2… mk} связанных между собой функциональных элементов, таких как логические элементы И, ИЛИ, НЕ, триггер, усилитель, видеоусилитель, генератор, формирователь, умножитель и т.д. каждый из которых mi ϵ M реализует некоторую функцию ψ i, а их множество определяет совокупность всех функций ψ =U ψ i ={ ψ 1, ψ 2, … ψ k }, выполняемых в схеме. Имеется ограниченный набор типов модулей N = {n1, n2… nl}, на базе которого необходимо выполнить заданную схему. Каждый модуль nj ϵ N реализует одну или несколько логических операций φ j={ ψ 1(j), ψ 2(j), … ψ s(j)}, а полный набор модулей N определяет совокупность тех логических операций Ф=Uφ j={ ψ 1*, ψ 2*, … ψ k*}, которые могут быть получены с их помощью. При этом могут иметь место два случая:

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

2) аааа, т.е. компоненты набора модулей реализуют не все функции схемы.

В первом случае функциональную схему устройства можно полностью покрыть модулями заданного набора, во втором – требуется «ручная доработка» покрытие, связанная с подбором дополнительных модулей, позволяющих покрыть элементы из подмножества Mr ϵ M, выполняющие операции ψ \Ф. При этом процесс покрытия схемы разбивается на два этапа: предварительный и окончательный.

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

 

1). Из списка элементов схемы, подлежащих покрытию, выбираем очередной элемент miϵ M. Если список пуст переходим к 8).

2) Определяем все логические элементы mq ϵ M из числа непокрытых, связанных с mi. Формирует множество Mi=miUmq.

3) Производим сравнение функций φ n реализуемых каждым из конструктивных модулей nh ϵ N и логических функций ψ i ={ ψ 1(i), ψ 2(i), … ψ t(i)}, t=|Mi|. Выбираем модуль nqϵ N, для которого ψ i∩ φ q=max[ψ i∩ φ n]. Если таких модулей несколько, то выбираем модуль наименьшей стойкости. При ψ i∩ φ q=0 переходим к 7)

4) Если ψ iq, то переходим к 6)

5) Из Mi удаляем элементы mi ϵ Mi, наименее связанные с оставшимися и выполняющие операции ψ iq. Получаем множество элементов Mq ϵ Mi, которые целесообразно скомпоновать в едином корпусе пq.

6) Закрепляем все выбранные логические элементы за модулем пq. Переходим к 1).

7) Составляем список элементов функциональной схемы, которые не могут быть реализованы с помощью заданного набора (требуется «ручная доработка»). Переходим к 1).

8) Конец работы алгоритма.

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

Данный алгоритм обладает приемлемой для практически эффективного решения задачи и просто реализуется на ЭВМ.

Е1 U Е2 - или то или другое;

Е1 Е2 - и то и другое;

Е1 \ Е2 - исключение всех возможных событий.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.