- •Теория Автоматов и Формальных Языков.
- •Булевы аргументы и булевы функции.
- •Булевы функции одного и двух аргументов.
- •Аналитические формы записи булевых функций.
- •Понятие минтерма, импликанты, простой импликанты.
- •Минимизация булевых функций методом карт Вейча.
- •Минимизация методом Мак-Класки.
- •Метод импликантных матриц.
- •Минимальные конъюнктивные нормальные формы булевых функций.
- •Минимальные формы не полностью определённых булевых функций.
- •Синтез схем в базисе функции Шеффера.
- •Синтез схем в базисе функции Пирса.
- •Понятие конечного автомата, его состояния и эквивалентности.
- •Способы задания конечных автоматов.
- •Элементарные конечные автоматы.
- •Синтез асинхронного r-s триггера.
- •Синтез синхронного r-s триггера.
- •Алгоритм синтеза конечного автомата.
- •Проблема риска и гонок в конечных автоматах.
- •Аппаратные способы устранения гонок.
- •Противогоночное кодирование.
- •Риск сбоя в комбинационных схемах.
- •Автоматные языки. Классификация грамматик по н. Хомскому.
- •Детерминированный автомат-распознаватель.
- •Лемма о "накачке".
- •Недетерминированные автоматы распознаватели.
Аналитические формы записи булевых функций.
При аналитическом способе булева функция задается формулами, т. е. аналитическими выражениями, построенными на основе операций булевой алгебры. По факту, аналитическая форма записи это представление функции в виде формулы. Она противопоставляется табличной и геометрической формам.
Понятие минтерма, импликанты, простой импликанты.
Элементарное (булево) произведение – такое произведение, где аргументы входят в него только один раз в прямой или инверсной форме.
A, A * ¯B, ¯x * ¯y * ¯z – это элементарные произведения.
-
не элементарные произведения.
Минтерм (конституента) от переменных ∈ (0, 1) – элементарное произведение аргументов, в которое все аргументы функции входят только один раз в прямой или инверсной форме.
Пример:
¯A * B * ¯C – минтерм для функции трёх аргументов.
Как булева функция минтерм принимает значение равное 1 только на одном наборе значения аргументов. При записи минтерма принято использовать буку "m" с индексом десятичный эквивалент которого равен единицы.
Пример:
¯A * B * ¯C = m2
0 1 0
A * B * ¯C * D = m13
1 1 0 1
Импликанта булевой функции – булева функция, которая принимает значение равное единице на том же наборе аргументов, что и сама функция.
Простая импликанта булевой функции - такая её импликанта, которая равна единице на тех же наборах что и сама функция, но ни одна её собственная часть не является импликантой этой функции.
Пусть xyz – импликанта, тогда x¯yz, x¯yz, xz¯z – собственные части исходной импликанты.
Следовательно при импликации функции требуется найти все её простые импликанты, затем из всего множества найденных простых импликант выбирается такое их подмножество, которое лучшим образом "накрывает" все минтермы функции.
При выборе подмножества простых импликант, их количество должно быть минимальным и такая импликанта должна содержать минимум аргументов функции.
Минимизация булевых функций методом карт Вейча.
Этот метод наиболее удобен при числе аргументов n ≤ 5.
Карты строятся так, что при переходе из одной клетки карты в другую по строке или столбцу, меняется только одна переменная (с прямой формы на инверсную или обратно). Поэтому два минтерма нанесённые на карту склеиваются, если на карте Вейча они находятся:
В соседних клетках по строке или столбцу.
В противоположных концах карты.
При n ≥ 5 в одинаковых местах карты.
Алгоритм метода.
Представить функцию в СДНФ.
Нанести отметки о каждом минтерме на этой карте.
Каждую клетку карты с отметкой о вхождении в неё минтерма проанализировать на предмет её склеивания во всех возможных комбинациях.
Выбрать те комбинации, которые объединяют наибольшее число минтермов и при этом покрывают все минтермы. В результате проведённых склеиваний получают простые импликанты функции.
Если какая-то импликанта покрывает только один минтерм, то эта импликанта является обязательной.
Из полученного множества простых импликант выбирают такое их подмножество, которое лучшим образом реализует заданную функцию. Если число клеток с отметками о вхождении минтермов кратно степени двойки, то склеивание произойдёт по числу аргументов равных этой степени.
Карты Вейча для трёх аргументов.
Задана функция: f(A, B, C) = AB¯C + ABC + A¯B¯C + ¯A¯BC
|
B |
¯B |
||
A |
1 |
1 |
|
1 |
¯A |
|
|
1 |
|
|
¯C |
C |
¯C |
|
f(A, B, C) = AB¯C + ABC + A¯B¯C + ¯A¯BC =
= AB + A¯C + ¯A¯BC
f( A, B, C, D) = AB¯C¯D + AB¯CD + A¯B¯C¯D + ¯AB¯C¯D + ¯A¯B¯C¯D + A¯BC¯D
|
B |
¯B |
|
|||||
A |
1 |
1 |
|
1 |
¯C |
|||
|
|
|
1 |
C |
||||
¯A |
|
|
|
|
||||
1 |
|
|
1 |
¯C |
||||
|
¯D |
D |
¯D |
|
||||
