Таблицы истинности, с формулами и примерами
Они могут принимать значения «истина» или «ложь» (1 или 0). Для функции, содержащей две переменные, наборов значений переменных всего четыре:
Значения логических функций определяются с помощью таблица истинности.
Таблицы истинности для основных двоичных логических функций
1. Конъюнкция (логическое умножение) – сложное логическое выражение, которое является истинным только в том случае, когда истинны оба входящих в него простых выражения.
Обозначение:
2. Дизъюнкция (логическое сложение) – это сложное логическое выражение, которое истинно, если хотя бы одно из простых логических выражений истинно и ложно, если оба простых логических выражения ложны.
Обозначение:
3. Импликация (логическое следствие) – это сложное логическое выражение, которое является ложным тогда и только тогда, когда условие истинно, а следствие ложно.
Обозначение:
4. Эквиваленция – это сложное логическое высказывание, которое является истинным только при одинаковых значениях истинности простых выражений, входящих в него.
Обозначение:
5. Логическое отрицание (инверсия) делает истинное высказывание ложным и, наоборот, ложное – истинным.
Обозначение:
6. Штрих Шеффера – операция, отрицающая конъюнкцию, т.е. значение ложно тогда и только тогда, когда оба простых выражения истинны.
Обозначение:
7. Стрелка Пирса – операция, отрицающая конъюнкцию, т.е. значение истинно тогда и только тогда, когда оба простых выражения ложны.
Обозначение:
Порядок выполнения логических операций
При построении таблицы истинности необходимо учитывать порядок выполнения логических операций:
- Инверсия
- Конъюнкция
- Дизъюнкция
- Импликация
- Эквиваленция
- Штрих Шеффера
- Стрелка Пирса
Для последних двух операций приоритет не определен.
Замечание. Если необходимо изменить указанный порядок выполнения логических операций используются скобки.
Примеры решения задач
Таблицы истинности | Презентация к уроку на тему:
Слайд 1
Таблицы истинности Информатика для студентов 2 курсаСлайд 2
Таблица истинности — это таблица, устанавливающая соответствие между возможными наборами значений логических переменных и значениями функций. Таблица состоит из строк и столбцов
Слайд 3
Алгоритм построения таблиц истинности Определить количество строк в таблице истинности Количество строк равно 2 n , где n — количество логических переменных. 2. Определить количество столбцов в таблице истинности Количество столбцов равно количеству логических переменных плюс количество логических операций.
Слайд 4
Построить таблицу истинности с указанным количеством строк и столбцов Ввести названия столбцов таблицы в соответствии с последовательностью выполнения логических операций с учетом скобок и приоритетов; Заполнить столбцы входных переменных наборами значений; Заполнить таблицу истинности по столбцам, выполняя логические операции в соответствии с установленной последовательностью.
Слайд 5
Порядок выполнения логических операций Действия в скобках Инверсия Конъюнкция Дизъюнкция
Слайд 6
построить таблицу истинности для следующего сложного (составного) логического выражения : А & (B V C)
Слайд 7
Алгоритм выполнения Простые выражения (логические переменные): А, В, С ; (3) Количество логических операций: ¬ А — инверсия; B C — операция дизъюнкции; ¬ А & (B C) . операция конъюнкции. Всего: 3 Количество строк: на входе три простых высказывания: А, В, С , поэтому a=3 и количество строк = 2 ³ +1 = 9. Количество столбцов: 3+3=6 Заполняем столбцы с учетом таблиц истинности логических операций.
Слайд 8
А B C A B V C А & (B V C) 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 Таблица истинности :
Слайд 9
Задание для самостоятельной работы Постройте таблицу истинности для логического выражения: D=А V B & C
Логические операции. Составление таблиц истинности
1. тема: Логические операции. Составление таблиц истинности.
Цели урока:способствовать
развитию
логического
мышления,
навыков
самостоятельной
работы,
внимания, учебно-информационных
умений и навыков.
Формальная логика изучает только истинность
ложность высказываний.
и
Логическое высказывание – это повествовательное
предложение, относительно которого можно однозначно
сказать, истинно оно или ложно.
Результат выполнения логической
операции можно представить как
истинность (1) или ложность (0) некоторого
высказывания.
Джордж Буль разработал основы
алгебры, в которой используются только 0 и
1(алгебра логики, булева алгебра).
Буль
Операция НЕ (инверсия)
Если высказывание A истинно, то «не А» ложно, и наоборот.
Таблица истинности логического выражения Х – это
таблица, где в левой части записываются все возможные
комбинации значений исходных данных, а в правой – значение
выражения Х для каждой комбинации.
А
не А
0
1
1
0
таблица истинности
операции НЕ
Обозначение операции НЕ: A ; A
Операция И (логическое умножение или конъюнкция)
Высказывание «A и B» истинно тогда и только
тогда, когда А и B истинны одновременно.
A
0
0
1
1
B
0
1
0
1
АиB
0
0
0
1
таблица истинности
операции И
Обозначение операции И
A+B, A B, A или B,
Конъюнкция — соединение
Операция ИЛИ (логическое сложение, дизъюнкция
Высказывание «A или B» истинно тогда, когда
истинно А или B, или оба вместе.
A
B
0
0
1
1
0
1
0
1
А или B
0
1
1
1
Обозначение
операции: A или B
A+B, A B
таблица истинности
операции ИЛИ
Дизъюнкция — разъединение
Операция Импликация («если …, то …»)
Высказывание «A B» истинно, если не
исключено, что из А следует B.
A
0
0
1
1
B
0
1
0
1
А B
1
1
0
1
Обозначение
операции:
А B
Операция Эквивалентность («тогда и только тогда,..»
Эквивалентность («тогда и только тогда, …»)
A
0
0
1
1
B
0
1
0
1
А B
1
0
0
1
Обозначение
операции:
А B
Составление таблицы истинности для функции F
Количество столбиков в таблице определяется
количеством переменных и операций с ними
A
B
AvB
0
0
1
1
0
1
0
1
0
1
1
1
F
1
1
0
1
0
1
0
1
1
1
1
Составление таблицы истинности для функции G
Количество столбиков в таблице определяется
количеством переменных и операций с ними
A
B
AvB
0
0
1
1
0
1
0
1
0
0
0
1
G
1
1
1
0
1
1
0
1
1
1
1
1
Составление таблицы истинности для функции D
Количество столбиков в таблице определяется
количеством переменных и операций с ними
A
B
0
0
1
1
0
1
0
1
AvB А B
0
0
0
1
1
0
0
1
D
1
0
0
1
ЗАДАНИЕ. Составление таблицы истинности для функции F
Количество столбиков в таблице определяется
количеством переменных и операций с ними
A
B
0
0
1
1
0
1
0
1
СОСТАВЛЕНИЕ ТАБЛИЦЫ ИСТИННОСТИ
Таблица истинности для функции от 5ти переменных X 1, X2, X3, X4, X5 заданная выражением 2 < |(X2X10)10 — (X3X4X5)10| <= 5 и имеющим неопределенное значение при условии: |(X2X10)10 — (X3X4X5)10| = 1 (Таблица 1)
Таблица 1 Таблица истинности |
ПРЕДСТАВЛЕНИЕ БУЛЕВОЙ ФУНКЦИИ В АНАЛИТИЧЕСКОМ ВИДЕ С ПОМОЩЬЮ КДНФ И ККНФ
Запишем булеву функцию в канонических ДНФ и КНФ. d состояния для уменьшения числа термов при КНДФ заменяем на ноль, а при ККНФ на единицу.
КДНФ: f = 123X4X5 ˅ 12X345 ˅ 12X34X5 ˅ 1X
ККНФ: f = (X1 ˅ X2 ˅ X3 ˅ X4 ˅ X5 ) (X1 ˅ X2 ˅ X3 ˅ 4 ˅ X5 ) (X1 ˅ X2 ˅ 3 ˅ 4 ˅ X5 ) (X1 ˅ X2 ˅ 3 ˅ 4 ˅ 5 ) (X1 ˅ 2 ˅ X3 ˅ 4 ˅ X 5 ) (X1 ˅ 2 ˅ 3 ˅ X4 ˅ X5 ) (X1 ˅ 2 ˅ 3 ˅ 4 ˅ X5 ) ( 1 ˅ X2 ˅ X3 ˅ X4 ˅ X5 ) ( 1 ˅ X2 ˅ X3 ˅ 4 ˅ X5 ) ( 1 ˅ X2 ˅ 3 ˅ X4 ˅ X5 ) ( 1 ˅ 2 ˅ X3 ˅ X4 ˅ X5 ) ( 1 ˅ 2 ˅ 3 ˅ X4 ˅ X5 ) ( 1 ˅ 2 ˅ 3 ˅ 4 ˅ X5 )
МИНИМИЗАЦИЯ БУЛЕВОЙ ФУНКЦИИ
МЕТОД КВАЙНА – МАК-КЛАСКИ
Чтобы получить сокращенную ДНФ булевой функции из ее совершенной ДНФ по теореме Квайна, надо выполнить всевозможные неполные склеивания соседних конъюнкций, а затем всевозможные поглощения конъюнкций. Мак Класки сформулировал алгоритм, который организует построение сокращенной ДНФ более эффективно, чем это предложено в теореме. Для использования метода Квайна-Мак-Класки для начала необходима таблица истинности для 0-куба. Для достижения максимального r-куба d в исходной таблице истинности заменяется на 1.
Таблица 2 Простые импликанты
Используя таблицу простых импликантов и проводя операцию склейки, находятся кубы максимальной размерности. Термы, которые не участвовали в операции склейки, отмечены зеленым (простые импликанты) и составляют покрытие Z(f) (Таблица 2). Оно задает СДНФ исходной функции. Склеиваемые термы отмечены *, справа от полученного терма написаны номера, из которых они получились.
Таблица 3 Импликантная таблица
Чтобы отобразить покрытие простыми импликантами существенных вершин составляется имплекантная таблица. Каждая строка это простая импликанта, а каждый столбец – один из 0-кубов (Таблица 3). Для неполностью определенной функции безразличные наборы исключаются. Далее выделяем множество существенных импликант. Находятся столбцы с одной меткой (выделены красным х). Строки соответствующих импликант удаляются (закрашиваются оранжевым), захватавая другие отмеченные * столбцы, которые встречаются в удаляемой строке. Множество всех существенных импликант (строки с красным х, 1-5, 7) образует ядро покрытия Т.
T = {0010-; 0100-; 1011-; 1101-; —0-1; -1—1}
Термы ядра: 12X34 ,1X234 , X12X3X4 , X1X23X4 , 3X5 , X2X5
Удалив ядро из таблицы получим упрощенную импликантную таблицу (Таблица 4).
Таблица 4 Упрощенная импликантная таблица
Термы упрощенной таблицы (выбираем любой, оба покрывают g 0-куб) и добавляем его к ядру покрытия, чтобы получить минимальное покрытие:
Сmin = {0010-; 0100-; 1011-; 1101-; —0-1; -1—1; 1—1}
1—1 соответствует X1X5, следовательно
МДНФ: f = 12X34 ˅ 1X234 ˅ X12X3X4 ˅ X1X23X4 ˅ 3X5 ˅ X2X5 ˅ X1X5
Вычислим цену покрытия Sa, которая является количеством переменных, участвующих в записи МДНФ; цену покрытия Sb , которая является суммой цены Sa и количества термов МДНФ. Данные цены образуют предельные границы цены схемы по Квайну: Sa ≤ SQ ≤ Sb.
Посчитаем цену покрытия: Sa= 22, Sb = 29
Неравенство ограничения цены схемы по Квайну: 22 ≤ SQ ≤ 29.
МЕТОД ПЕТРИКА
Невозможно применить к упрощенной таблице из-за ее маленького объема, поэтому применяем к обычной таблице.
Таблица 5 Таблица для метода Петрика
Для метода Петрика нужно выписать булево выражение Y, покрывающее все существенные вершины:
Y = EA(A ˅ F)B(B ˅ E ˅ F ˅ G)G(F ˅ H)C(C ˅ H) (E ˅ F ˅ G ˅ H)D(D ˅ E ˅ G ˅ H)
Попарно умножив термы с одинаковыми буквами, применив закон поглощения, упростим выражение и приведем его к дизъюнктивной форме:
Y = ABCDEG(F v H) = ABCDEGF v ABCDEGH
Оба терма состоят из 7ми букв, так что можно выбрать любой. ABCDEGH соответствует минимальному покрытию:
Сmin = {0010-; 0100-; 1011-; 1101-; —0-1; -1—1; 1—1}
МДНФ (также не изменилась): f = 12X34 ˅ 1X234 ˅ X12X3X4 ˅ X1X23X4 ˅ 3X5 ˅ X2X5 ˅ X1X5
Цена не изменилась: Sa= 22, Sb = 29
Цена по методу Квайна – Мак – Класки не изменилась в методе Петрика, потому что в итоге выбирается одинаковое количество импликант с одинаковым покрытием вершин. Метод Квайна – Мак – Класки скорее визуальный, а метод Петрика позволяет точно вычислить каждую комбинацию импликантов и покрытых вершин, где потом выбирается вариант с минимальным покрытием.
МЕТОД КАРТ КАРНО
ДЛЯ МДНФ
Для определения МДНФ функции рассмотрим карты с единичными значениями функции, а также доопределим значение d до единицы (Таблица 6). Выделяем области с максимальным количеством единиц, которые могут содержать количество элементов кратное двум в степени n, те. 2, 4, 8..
Таблица 6 Карты Карно при МДНФ
| K1: X1X5 |
| K5: X1X23X4 | |
| K2: X2X5 |
| K6: X12X3X4 | |
| K3: 3X5 |
| K7: 1X234 | |
| K4: 4 X5 |
| K8: 12X34 |
ДЛЯ МКНФ
Для определения МКНФ функции рассмотрим карты с нулевыми значениями функции, а также доопределим значение d до нуля (Таблица 7). Выделяем области с максимальным количеством нулей, которые могут содержать количество элементов кратное двум в степени n, те. 2, 4, 8..
Таблица 7 Карты Карно при МКНФ
| D1: 1v 2v 3 |
| D5: X2v X3v X4 | ||
| D2: 1v X2v X3 |
| D6: 2v 3v X5 | ||
| D3: 1v X4v X5 |
| D7: X2v X3v X5 | ||
| D4: 2v 3v X4 |
| D8: X1v 4v X5 | ||
| D9: X1v X2v 3v 4 | ||||
Посчитаем цену покрытия: Sa= 28, Sb = 37
Неравенство ограничения цены схемы по Квайну: 28 ≤ SQ ≤ 37.
Сравним цены различных МДНФ и МКНФ.
Границы для МДНФ:
Ограничения цены схемы по Квайну, метод К-М-К: 22 ≤ SQ ≤ 29.
Ограничения цены схемы по Квайну, метод Петрика: 22 ≤ SQ ≤ 29
Ограничения цены схемы по Квайну, метод карт Карно: 24 ≤ SQ ≤ 32
Границы для МКНФ:
Ограничения цены схемы по Квайну, метод карт Карно: 28 ≤ SQ ≤ 37
Для факторизации и декомпозиции берем МДНФ, полученную методом К-М-К и методом карт Карно, потому что они имеют наименьшую Sa, равную 22 и 24.
1.3Составление таблиц истинности логических функций.
Каждая логическая функция логических переменных имеет таблицу истинности – значения этой функции в зависимости от значений её переменных.
Так, например, в предыдущем пункте мы познакомились с тремя логическими функциями: a)f(p,q)= p q; b)g(p,q)= p q; и c)h(p,q)= pq и с их таблицами истинности, каждая из которых содержала 4 строки – 4 возможных комбинации значений p и q. Упражнение №3.
Сколько строк содержит таблица логической функции от трёх переменных? От четырёх?
Составим таблицу истинности для функции f(p,q)=(pq)p. Поскольку последней выполняется конъюнкция, а она истинна только тогда, когда оба её операнда истинны, то p и (pq) должны быть оба истинны. Это означает, что р и pq должны быть оба ложны. Чтобы дизъюнкция была ложной оба её операнда должны быть ложны, а поскольку р уже ложно, то ложным должен быть q, т.е., q должно быть истинно.
Итак, в таблице истинности для нашей функции только в строчке, соответствующей значению «р ложно, а q истинно» функция принимает значение Истина, а в остальных строчках –Ложь:
p | q | (pq)p |
T | T | F |
T | F | F |
F | T | T |
F | F | F |
Например, очевидно, эквивалентными являются функции pq и qp, pq и qp (свойство коммутативности для дизъюнкции и конъюнкции), а также pÚ(qÚr) и (pÚq)Úr;
pÙ(q Ùr) и (pÙq)Ùr ((свойство ассоциативности для дизъюнкции и конъюнкции).
Для обозначения эквивалентности будем использовать символ .
Упражнение 4. Составьте таблицы истинности для следующих логических функций:
а) pq)(qp) e) (pÙØqÙØr) Ú (ØpÙqÙr)
b) (qp)Øpq) f) (ØpÞq)Þ(ØrÞp)
c) (ØqÙp)(qÙØp) g) (pÙqÙØr)Ú(ØpÙØqÙr) Ú (pÙØqÙØr)
d) (ØqÞ(qÙØp))Ùp h) (pÙqÙØr)Þ(ØpÙØqÙr)
Упражнение 5. Среди следующих логических функций найдите пары эквивалентных:
F, T, p, ØØp, pF, pT, pF, pT, рÙp, pÚp, pÚØp, pÙØp
Ø(pÙq), Ø(pÚq), ØpÚØq, ØpÚq, ØpØq, pÞq, pÚ(pq), p(pÚq), Øq ÞØp,
pÚ(rq), p(rÚq), (pr)Ú(pq), (pÚr)(pÚq) , (p Ùq)Ú(Øp ÙØq), (pÞq) Ù(qÞp)
Комментарии. Функция (pÞq) Ù(qÞp) истинна тогда, когда р и q принимают одни и те же значения – оба ложны или оба истинны. То есть, когда р и q эквивалентны. Вместо простых логических переменных можно было бы поставить составные, сложные формулы (логические функции) зависящие от нескольких переменных и результат был бы тот же. (АÞВ) Ù(ВÞА): Формула А верна тогда и только тогда, когда верна формула В; формулы А и В истинны или ложны одновременно. Пишут также АВ, что равносильно АВ.
В упражнении 5b одна из найденных вами эквивалентностей служит обоснованием метода доказательства «от противного». Предположим, что мы хотим доказать, что из А следует В. Мы предполагаем, что В ложно и приходим к выводу, что тогда и А ложно. Отсюда делаем вывод, что на самом деле В истинно.
Какой именно эквивалентности соответствует это рассуждение?
Упражнения 4е и 4g помогают решить следующую, обратную к упражнению 4 задачу: построить логическую функцию (формулу) с заданной таблице истинности.
Дело в том, что функция, которая истинна только при данной комбинации значений логических переменных – это конъюнкция тех из этих переменных, значения которых «Т» и отрицаний тех из них, значения которых «F».
Дизъюнкция таких конъюнкций доставляет нам функцию, которая будет принимать значение истина как раз только в тех строчках таблицы, в которых при данных комбинациях значений переменных стоит значение истина.
Соглашение: принято считать, что порядок выполнения действий в логических формулах такой: вначале выполняются все конъюнкции, потом дизъюнкции. Поэтому можно, например, в выражении (pr)Ú(pq) скобки опустить.
Упражнение 6. Построить логические функции трёх переменных со следующими таблицами истинности:
Значения переменных | Значения функций | ||||
p | q | r | f | g | h |
T | T | T | T | F | F |
T | T | F | F | F | F |
T | F | T | F | F | T |
T | F | F | F | T | F |
F | T | T | F | T | T |
F | T | F | F | F | F |
F | F | T | F | F | T |
F | F | F | T | F | F |
Замечание. Так как для каждой таблицы истинности можно построить логическую функцию из дизъюнкции конъюнкций, то для любой логической функции существует эквивалентная ей, имеющая форму дизъюнкции конъюнкций – она так и называется: дизъюнктивная нормальная форма, сокращённо д.н.ф.
Составление таблицы истинности
Рассмотрим вариант (в данном случае возможно 8 вариантов) составления таблицы, когда логическая «1» соответствует входным сигналам х1, х2, х3 меньше нормы, а для управления используется клапан 1 в направлении «больше» (т.е. u2) и клапан 2 (т.е. u3 и u4).
Если входные переменные не отклоняются от нормы (х1 = х2 = х3=0), то не требуется управляющих воздействий (u2 = u3 = u4 = u7 = 0). Это состояние соответствует первой строке таблицы истинности (таблица 1).
Таблица 1
При уменьшении концентрации компонента 1 (х1 = 1) увеличиваем расход компонента 1 (воздействие u2 = 1) и уменьшаем расход компонента 2 (воздействие u3 = 1, строка 2) и т.д., перебирая возможные отклонения входных сигналов от нормы (последующие строки таблицы 1), записываем соответствующие значения управляющих воздействий. Строки 4 и 8 таблицы, соответствующие неисправности концентратомера используются для выработки аварийного сигнала u7 = 1.
Далее записываются логические выражения для управляющих воздействий в совершенной дизъюнктивной нормальной форме (СДНФ) или совершенной конъюнктивной нормальной форме (СКНФ) по выбору разработчика системы.
Задание № 1. Синтез комбинационных логических схем.
Задача получения таблицы истинности функционирования СЛУ формализована. Исходная таблица истинности может быть получена из таблицы 2.
Таблица 2.
№ в журнале | № управляющего воздействия | № в журнале | № управляющего воздействия | U1 | U2 | U3 | U4 | U5 | U6 | U7 | U8 |
1, 3, 5, 7 | 2, 4, 6, 8 | 4E | 1С | ED | F4 | ||||||
1, 2, 3, 8 | 4, 5, 6, 7 | D4 | F1 | D7 | |||||||
2, 3, 4, 5 | 1, 6, 7, 8 | CE | C4 | AE | |||||||
1, 5, 6, 7 | 2, 3, 4, 8 | F9 | AB | CD | E0 | ||||||
2, 3, 4, 8 | 1, 5, 6, 7 | 6С | D1 | B2 | |||||||
1, 3, 5, 7 | 2, 4, 6, 8 | 4F | FC | А4 | 0D | С1 | Е4 | ||||
1, 6, 7, 8 | 2, 3, 4, 5 | AF | С4 | СЕ | D1 | ||||||
2, 3, 5, 8 | 1, 4, 6, 7 | BD | 1F | ||||||||
1, 4, 6, 7 | 2, 3, 5, 8 | 3D | FA | 4С | ЕС | ||||||
1, 3, 5, 8 | 2, 4, 6, 7 | 4F | AF | DC | С6 | А4 | АЕ | D8 | |||
2, 4, 6, 7 | 1, 3, 5, 8 | С9 | Е4 | DC | |||||||
2, 4, 6, 8 | 1, 3, 5, 7 | 4F | FC | А4 | D0 | С3 | Е4 | ||||
4, 5, 6, 7 | 1, 2, 3, 8 | А1 | СЕ | 2С | CD | ||||||
4. 5, 6, 7 | 1, 2, 3, 8 | F2 | 8D | ||||||||
2, 3, 4, 8 | 1, 5, 6, 7 | AF | С2 | ЕС | D9 | F1 | 1С | ||||
1, 2, 3, 6 | 4, 5, 7, 8 | F2 | 3D | В7 | Е5 |
Таблицы истинности составляют следующим образом:
— 3 левые столбца (таблица 3) содержат возможные комбинации входных воздействий в возрастающем порядке;
— 4 следующих столбца содержат потетрадную двоичную запись заданных управляющих воздействий, представленную в виде последовательности восьми двоичных разрядов (старший двоичный разряд записывается в первой строке). Например, для варианта №1 таблица истинности имеет вид (u1 = 4Е, u3 = 06, u5 = 93, u7= ED), таблица 3.
Таблица 3
U1 = 4Е записывается потетрадно в двоичном коде (4 = 0100, Е = 1110), далее записывается совместно
Заполнение столбца U1 табл.3 осуществляется сверху вниз по стрелке, начиная с крайнего левого знака.
Аналогично заполняются столбцы для управляющих воздействий u3, u5, u7.
При аппаратной реализации СЛУ комбинационная схема синтезируется в двух базисах: булевском и заданном.
В булевском базисе синтезируется общая принципиальная схема, имеющая 3 входа (аргументы х1, х2, х3) и 4 выхода, указанные в таблице 3 (для рассмотренного примера U1, U3, U5, U7). Число входов логических элементов может быть любым.
В заданном базисе синтезируются 5 схем на логических элементах 2И-НЕ для нечётных номеров и на логических элементах 2ИЛИ-НЕ – для чётных. Первоначально синтезируются 4 схемы для каждого управляющего воздействия. Затем составляется общая принципиальная схема, в которой исключаются дублирующие входные инверторы и участки схем, формирующие одинаковые части логических выражений, описывающих разные управляющие воздействия.
Теоретический раздел этой части работы включает:
1. Минимизацию логических выражений для управляющих переменных:
— табличным способом для первой переменной;
— алгебраическим способом для второй переменной;
— с помощью карт Карно для третьей переменной;
— любым из известных способов для четвёртой.
2. Синтез схемы управления в булевском базисе.
3. Синтез схем управления в заданном базисе.
Практический раздел этой части задания заключается в монтаже разработанных схем на лабораторном стенде и проверке их функционирования по таблице истинности.
При проверке работоспособности разработанных электрических схем на стендах комбинации переменных х1, х2, х3 задаются переключателями на 8 положений. Значения переменных индицируются светодиодами зелёного цвета. Управляющие сигналы подаются на соответствующие гнёзда стендов и их значение индицируется светодиодами красного цвета. Светодиоды светятся при отображении уровня логической 1. Соединения элементов схемы, подключение входных и управляющих воздействий производятся проводами с однополюсными вилками.
Оформление расчётного задания должно включать:
1. Задание.
2. Таблицу истинности.
3. Минимизацию функций с пояснениями.
4. Принципиальные схемы в булевском базисе и заданном.
5. Перечень совершённых ошибок.
Задание №2. Синтез автомата Мили.
Спроектированная в задании №1 СЛУ представляет собой так называемую комбинационную схему (КС). В таких схемах выходные сигналы зависят только от комбинаций входных логических переменных в настоящее время. Существуют схемы, которые, в отличие от КС, «помнят» прошлые воздействия. Такие схемы называются автоматами или последовательностными схемами, а их выходные сигналы зависят не только от значений входов в данный момент, но и от комбинаций значений входов в определенные прошлые моменты времени. То есть, автомат имеет память.
Тем или иным содержимым памяти автомата определяется его внутреннее состояние, или просто состояние. Внешнее проявление различных состояний – это различные реакции автомата на одни и те же воздействия.
Обобщенная схема цифрового автомата показана на рис.2 [1].
Рис.2. Обобщенная схема автомата
Выходной код Y, формируемый КС, является функцией не только входного кода X, но и кода состояния Z, который хранится в регистре состояний RG Z. Этот регистр и есть память автомата. Чем больше его емкость, тем шире разнообразие его реакций на одни и те же воздействия. Новое состояние Zi+1, в которое переходит автомат после очередного входного воздействия, т.е. новое содержимое RG Z задается кодом перехода F. Код F, так же как и выходной код Y, есть функция и входных сигналов , и состояния автомата непосредственно перед его переходом в новое . Автоматы такого типа называются автоматами Мили.
Автоматы обычно строят для управления работой разных технических обьектов: исполнительных механизмов, приводов или, например, включения в работу различных агрегатов теплоэнергетических установок.
Автомат проектируется под конкретный объект с его конкретным алгоритмом управления, и сложность проектирования автомата — именно в его нестандартности. Задание на автомат сначала дается в виде словесного описания закона управления, и, как правило, первый вариант задания оказывается очень неполным, допускающим неоднозначное толкование. Поэтому в процессе работы задание уточняется, корректируется, причем разработчик сам должен хорошо знать условия работы объекта.
Получение задания в настоящей работе формализовано и далее будет показано, каким образом можно получить необходимые исходные данные для проектирования автомата Мили.
Для реализации памяти в последовательностных схемах используются триггеры. Триггером называют логическую схему с положительной обратной связью, имеющую два устойчивых состояния, которые называются единичным и нулевым и обозначаются 1 и 0. Память, состоящая из m элементарных элементов (триггеров Т1, Т2,…Тm), позволяет реализовать 2m состояний автомата. Внутреннее состояние автомата определяется комбинацией состояний триггеров. Под воздействием входных сигналов автомат должен переходить из одного состояния в другое. Для изменения состояния автомата необходимо переключить один или несколько триггеров, определяющих текущее состояние автомата. Переключение триггеров осуществляется подачей сигналов qi на соответствующие входы. Поскольку новое состояние автомата определяется тем, каково было его прежнее состояние и каков набор входных сигналов, то и сигналы qi являются функциями выходных сигналов триггеров (Q1,Q2,…Qm) и входных сигналов автомата (x1,x2,…xn).
Для формирования сигналов qi управления триггерами используется комбинационное устройство. Структура этого устройства определяет функцию переходов автомата. Функция выходов реализуется другим комбинационным устройством, формирующим выходные сигналы автомата( y1,y2,…yk).
Функции переходов и выходов автомата задаются в форме таблиц переходов и выходов или с помощью графов. В расчетном задании необходимо синтезировать автомат Мили, имеющий один вход x, один выход y и четыре внутренних состояния А0,А1,А2,А3. Для такого автомата таблицы переходов и выходов имеют следующий вид (вариант №32 расчетного задания для нечётного года. Далее будет показано, каким образом составлены эти таблицы).
Таблица 4 Таблица 5
Таблица переходов Таблица выходов
Входной сигнал х | Состояние | Входной сигнал х | Состояние | ||||||
А0 | А1 | А2 | А3 | А0 | А1 | А2 | А3 | ||
А2 | А2 | А3 | А3 | ||||||
А1 | А1 | А2 | А1 |
Столбцы таблиц приписаны отдельным состояниям автомата, а строки – входным сигналам. На их пересечении в таблице переходов указано новое состояние, в которое переходит автомат, а в таблице выходов – выходной сигнал.
Граф же, как это показано для нашего примера на рис.3, состоит из узлов, отождествляемых с отдельными состояниями автомата. Связи между узлами показывают переходы автомата из одного состояния в другое под воздействием входных сигналов. На каждой связи сверху указывается входной сигнал, вызывающий данный переход, и сигнал, формируемый на выходе автомата до перехода его в новое состояние.
Рис. 3. Граф функционирования автомата.
Для выполнения второй части расчетного задания необходимо выполнить следующее:
1. Определить требуемое количество триггеров и провести кодирование внутренних состояний автомата.
2. Составить таблицы переходов и выходов автомата для вашего варианта.
3. На основе составленных таблиц задать закон функционирования автомата в форме графа.
4. Используя граф, составить обобщенную таблицу переходов и выходов (таблицу функционирования) синтезируемого автомата.
5. Синтезировать комбинационное устройство формирования сигналов qi управления триггерами, используя данные обобщенной таблицы функционирования автомата.
6. Синтезировать комбинационное устройство, формирующее выходной сигнал y автомата, используя данные обобщенной таблицы функционирования автомата.
7. Составить принципиальную схему автомата.
8. Проверить на лабораторном стенде работу разработанного автомата.
Построение таблиц истинности для логических выражений — 8 КЛАСС ► Информатика в школе и дома
Для логического выражения можно построить таблицу истинности, показывающую, какие значения принимает выражение при всех наборах значений входящих в него переменных.
Для построения таблицы истинности следует:
- Подсчитать n — число переменных в выражении;
- Подсчитать общее число логических операций в выражении;
- Установить последовательность выполнения логических операций с учётом скобок и приоритетов;
- Определить число столбцов в таблице: число переменных + число операций;
- Заполнить шапку таблицы, включив в неё переменные и операции в соответствии с последовательностью, установленной в п. 3;
- Определить число строк в таблице (не считая шапки таблицы): m=2n;
- Выписать наборы входных переменных с учётом того, что они представляют собой целый ряд n-разрядных двоичных чисел от 0 до 2n−1;
- Провести заполнение таблицы по столбцам, выполняя логические операции в соответствии с установленной последовательностью.
Построим таблицу истинности A∨A&B. В нём две переменные, две операции, причём сначала выполняется конъюнкция, а затем дизъюнкция. Всего в таблице будет четыре столбца:
Наборы входных переменных — это целые числа от 0 до 3, представленные в двухразрядном двоичном коде: 00,01,10,11. Заполненная таблица истинности имеет вид:
A | B | A&B | A∨A&B |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 |
Обрати внимание!
Последний столбец (результат) совпал со столбцом A. В таком случае говорят, что логическое выражение A∨A&B равносильно логической переменной A.
Приоритет логических операций При вычислении значения логического выражения (формулы) логические операции вычисляются в определенном порядке, согласно их приоритету: инверсия конъюнкция дизъюнкция импликация и эквивалентность.Для изменения порядка действий используются скобки.
Подробно разобран пример составления и работы с таблицей истинности в презентации ниже. Смотрите и скачивайте бесплатно.
% PDF-1.5 % 2 0 obj > / Метаданные 5 0 R / StructTreeRoot 6 0 R >> эндобдж 5 0 obj > транслировать 2017-09-10T12: 08: 48-04: 002017-09-10T12: 08: 56-04: 00Microsoft® Word 2013Microsoft® Word 2013application / pdf конечный поток эндобдж 18 0 объект > транслировать x \ YoG ~ 709XZHx`v (HEM ~ S ~ V1I9C & gzG’r [| v] ^ N7? G ?.nVvYt [f | .N _ / _ IAHYRTbe% AKUq k’28o2e & E? GsC | Cˊu # — xYQ.rb> cZuXC ڲ W |: cǩ | Ngbr; | Ln Oxz4xqJ * uO / lS5W۴ (b5li {w ݲ_ o ֣- jG ~ & + m —./ х1 (; O + KJcm] ڥ h * PFV $ OgJR4.csN ~ | ֓ 5 Om [Okx ƞ7: X], SyVR} e] h [ա 偾 2 ~ 4 = ‘{] 1Y
Патент США на компьютеризированное создание таблиц истинности для последовательных и комбинаторных ячеек (Патент №5,416,719, выдан 16 мая 1995 г.)
ОБЛАСТЬ ИЗОБРЕТЕНИЯНастоящее изобретение в целом относится к компьютерному проектированию интегральных схем и, в частности, к автоматическому вычислению таблиц истинности для схем, хранящихся в виде ячеек в библиотеке ячеек, составляющих часть компьютеризированной системы для проектирования и компоновки интегральных схем, в частности, для конкретных приложений. интегральные схемы.
Уровень техникиПрактически все крупномасштабные интегральные схемы теперь детально проектируются с помощью компьютеризированного средства проектирования, то есть процессора данных, в который загружается программа (обычно называемая «компилятором»). Разработчик схем предоставляет входные данные, представляющие, обычно в архитектурно независимой форме, спецификацию схемы, которая в конечном итоге должна быть реализована в форме интегральной схемы. Входные данные обычно представляют схему в схематической форме высокого уровня; устройством отображения, использующим значки, представляющие основные функции обработки данных, можно манипулировать на экране дисплея, и соответствующая программа может преобразовывать представление значков в данные, определяющие спецификацию высокого уровня на соответствующем машинном языке.Компьютеризированный инструмент проектирования или машина преобразует, в соответствии с установленной практикой, высокоуровневую спецификацию в список соединений, который определяет интегральную схему с точки зрения основных схем или ячеек и их взаимосвязей. Существуют методы преобразования списка соединений с помощью автоматической обработки данных в маски, используемые при изготовлении интегральной схемы.
Установленные методы проектирования включают процедуры автоматической оптимизации, с помощью которых схемы могут быть преобразованы в форму, которая лучше приспособлена для изготовления, или перестроена для повышения пропускной способности или скорости работы конечной интегральной схемы.Другие установленные методы включают модификацию предварительного списка соединений в измененную форму, как правило, для тех же целей повышения производительности или уменьшения площади, занимаемой интегральной схемой.
Чтобы облегчить проектирование очень больших интегральных схем, современные методы автоматического синтеза используют библиотеку ячеек. В практической форме это хранимые данные, представляющие структуру и множество рабочих параметров каждого из большого количества основных элементов схемы, таких как вентили И, вентили ИЛИ, инверторы, триггеры и т.п., которые будут использоваться в большие числа в любой интегральной схеме.Как отмечено, например, в патенте США № № 4922432, выданный 1 мая 1990 г., использование библиотеки ячеек значительно облегчает процесс автоматизированного проектирования. В частности, функциональная, не зависящая от архитектуры, спецификация желаемой схемы преобразуется машиной в определение архитектурно-зависимого структурного уровня интегральной схемы. Данные, представляющие определение структурного уровня, включают список аппаратных ячеек интегральной схемы, необходимых для достижения технических характеристик аппаратного обеспечения.Эти ячейки выбираются машиной из библиотеки ячеек ранее разработанных аппаратных ячеек с различными функциями и спецификациями. Машина также создает тракты данных, соединяющие выбранные аппаратные ячейки. Выбранные аппаратные ячейки и их межсоединения составляют список соединений, из которого, как отмечено выше, можно использовать существующие системы компоновки для генерации замаскированных данных на уровне микросхемы, необходимых для создания интегральной схемы в форме микросхемы.
Важным аспектом использования библиотеки ячеек является ее развитие, т.е.е. преобразование данных, представляющих различные элементы оборудования и их параметры, в другую форму. Одна из причин для этого — сделать ячейки более адаптированными для использования в симуляторах или для оптимизации списков соединений.
Составление библиотеки ячеек — сложная и длительная задача, и ее разработка не менее важна. Каждая аппаратная ячейка должна быть смоделирована как в отношении ее функции, так и в отношении ее подробных характеристик. Как отмечает, например, Westhoff в Electronic Design Automation 1988, стр. 33-47, для моделирования всех путей задержки между выводами и проверок синхронизации в одном D-триггере может потребоваться до пятидесяти примитивов.
Известно использование автоматических вычислений при разработке библиотеки, в частности, для получения временных данных посредством моделирования поведения ячеек на уровне транзисторов, как описано Дж. Дрессеном, «Standard Cell Development Flow», Euro-Asic 90, страницы 450-455.
Важным набором данных, характеризующим элемент схемы, является его таблица истинности, которая может быть быстрой и точной моделью логического поведения ячейки, а также может служить справочным материалом для разработки библиотеки ячеек.Действительно, во время моделирования ячеек, описанного с помощью аппаратного языка, выходные значения ячеек должны быть вычислены, тогда как, если бы использовалась модель таблицы истинности, эти значения нужно было бы только считывать в выходных полях таблицы истинности.
СУЩНОСТЬ ИЗОБРЕТЕНИЯСоответственно, одна цель настоящего изобретения состоит в том, чтобы предоставить способ и систему для автоматического преобразования данных, представляющих схему в терминах аппаратных элементов, в данные, которые представляют таблицу истинности.
В предпочтительной форме изобретения процессор данных принимает данные, которые представляют схему, соответствующую ячейке в библиотеке ячеек, в виде набора уравнений, состоящих из объектов сигналов и рабочих объектов. Сущности сигнала предпочтительно состоят из переменных, то есть значений сигналов на выводах или выводах и констант. Операционные объекты предпочтительно содержат комбинаторные операторы, соответствующие булевым операторам, и, чтобы можно было представить последовательные схемы, примитивные функции, соответствующие, например, функции защелки и функции триггера.Язык уравнений предпочтительно также включает другие операторы, соответствующие тождественной функции (=) и ассоциативной функции, и предпочтительно также включает трехстороннюю функцию.
Каждое уравнение анализируется, а именно подвергается упорядоченному анализу, в соответствии с абстрактным деревом данных, каждый из узлов которого представляет одну из операционных сущностей (т.е. оператор или примитивную функцию), потомки узлов являются аргументами этих операционные органы и каждая из конечностей (т.е. листья дерева) является сигнальной сущностью, а именно константой или переменной. Начиная с элементарных таблиц истинности объектов сигнала, таблица истинности может быть построена для каждого узла в порядке возрастания, чтобы предоставить таблицу истинности (называемую здесь частичной таблицей истинности) для каждого уравнения. Затем создается полная таблица истинности путем слияния различных частичных таблиц истинности.
Другие цели и особенности изобретения будут очевидны из подробного описания, которое следует ниже.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙНа прилагаемых чертежах:
РИС.1 — схематическое представление примерной схемы, а именно мультиплексированного триггера.
РИС. 2 — блок-схема автоматического метода создания полной таблицы истинности.
РИС. 3 иллюстрирует абстрактные деревья данных для каждого из набора уравнений, описывающих схему.
РИС. 4 иллюстрирует построение таблицы истинности узла в абстрактном дереве данных.
РИС. 5 и 6 иллюстрируют построение таблиц истинности.
РИС. 7 показано построение таблицы истинности в порядке возрастания относительно абстрактного дерева данных.
РИС. 8 иллюстрирует способ рационализации таблицы истинности для устранения ошибок в ней.
РИС. 9 и 10 иллюстрируют две таблицы частичной истинности, соответствующие соответствующим уравнениям, описывающим схему на фиг. 1.
РИС. 11 иллюстрирует слияние двух таблиц истинности.
РИС. 12 — блок-схема, показывающая оптимизацию таблицы истинности.
РИС. 13 — оптимизированная логическая таблица истинности для схемы по фиг. 1.
РИС. 14 — оптимизированная по выражению окончательная таблица истинности для схемы по фиг.1.
РИС. 15 показаны аппаратные элементы системы согласно изобретению.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНОГО ВАРИАНТА ОСУЩЕСТВЛЕНИЯФизически система согласно изобретению, показанная на фиг. 15, содержит библиотеку 150 ячеек, которая может быть воплощена в виде средства хранения, такого как магнитный диск, который хранит данные, представляющие каждую из большого количества аппаратных схем, в структурной форме, процессор 151 данных, который реагирует на данные ячеек и запрограммирован, как описано ниже, для генерации для любой выбранной ячейки новых данных, которые включают в себя таблицу истинности, и для хранения новых данных, включая сигналы, представляющие таблицу истинности, в средстве хранения, таком как записывающее устройство 152 для картриджа.Важными особенностями изобретения являются формат, в котором представлены ячейки, и построение таблиц истинности в соответствии с этим форматом.
Логическое поведение ячеек в библиотеке описывается с использованием очень простого языка описания оборудования с небольшим набором сигнальных и операционных объектов. Поведение ячейки можно легко описать с помощью набора уравнений, которые представляют соединение эквипотенциальных узлов через основные структурные аппаратные элементы или вентили, такие как НЕ, И, ИЛИ, XOR, трехстороннее состояние, D-триггер и защелка.Этот язык содержит (1) константы; (2) переменные; (3) основные комбинаторные операторы; (4) оператор косой черты; (5) оператор присваивания; и (6) набор примитивных функций. Из них (1) и (2) называются здесь сигнальными объектами, а (3) — (5) называются оперативными объектами.
«Константы» соответствуют соответственно 0, 1 и неизвестному логическим уровням и обозначаются здесь как $ Low, $ High и $ Unk соответственно.
Переменные — это имена узлов, также называемые именами сигналов.
Основными комбинаторными операторами являются $ NOT, $ AND, $ OR и $ XOR, которые соответствуют классическим логическим операторам not, and, or и exclude-or соответственно.
Оператор косой черты, обозначенный здесь как `/`, позволяет связывать две переменные для описания двухмерной переменной (т. Е. Шины данных), например: A / B представляет двумерное значение.
Оператор присваивания, обозначенный здесь как `=`, позволяет присваивать переменную (одномерную или двумерную), которая находится слева, значению выражения справа.
Примитивные функции необходимы, потому что последовательные схемы не могут быть определены просто комбинаторными операторами. Предпочтительно наличие трех примитивных функций, соответствующих, соответственно, трехсторонней функции, функции D-триггера и функции фиксации.
Функция, представленная здесь как $ TRI (I, OE), соответствует функции с тремя состояниями, которая возвращает высокий уровень импеданса, если OE высокий, и в противном случае возвращает логический уровень узла I.
Функция, представленная здесь как $ DFF (D, CP, SET, CLR, SACC), соответствует функции D-триггера.Он возвращает два логических уровня: стандартный вывод D-триггера и его дополнение. Вход D — это вход данных, CP — тактовый вход, который активен на переднем фронте, SET — активный вход высокого набора, CLR — активный вход сброса высокого уровня, а SACC — двумерное значение, которое является значением, возвращаемым, если активны как SET, так и CLR.
Функция, представленная здесь как $ LATCH (D, CP, SET, CLR, SACC), соответствует функции защелки. Эта функция идентична функции $ DFF, за исключением того, что часы чувствительны к уровню, т.е.е. выход защелки следует за данными D, когда тактовые импульсы высоки, иначе выход содержит предыдущие данные.
РИС. 1 иллюстрирует в качестве примера типичную аппаратную схему или ячейку, содержащуюся в библиотеке ячеек. Это мультиплексированный D-триггер с (среди прочего) входами данных DA, DB, заданным входным SDN и выходом с тремя состояниями (Q, Qz, QN), заданным очищенным входным CDN.
Мультиплексированный D-триггер на фиг. 1 можно описать следующими уравнениями:
D = (DA $ AND SA) $ OR (DB $ AND $ NOT (SA)).(i)
Q / QN = $ DFF (D, CP, $ NOT (SDN), $ NOT (CDN), $ Low / $ Low). (ii)
Qz = $ TRI (Q, $ NOT (OE)). (iii)
Одним из важных аспектов изобретения является представление таблицы истинности в терминах, подходящих для компьютерного анализа или синтеза таблицы истинности. В настоящем изобретении предпочтительно используется следующая схема. Таблица истинности может быть разложена на:
список имен входных сигналов.
список имен выходных сигналов.
список значений стимулов (входных).
— список выходных значений, соответствующих набору значений стимулов.
Предпочтительно использовать списки, а не массивы, потому что манипулирование таблицами истинности требует большого количества добавлений и удалений элементов. Эти операции добавления и удаления представляют собой более простые операции со списками, сформированными в соответствии с абстрактным деревом данных, чем с массивами, имеющими фиксированную структуру. Для общего обсуждения абстрактных деревьев данных можно обратиться к «Data Structures and Algorithms», Aho et al., Addison Wesley Publishing Company, 1987, страницы 11-17 и 77-105.
Имена сигналов представляют собой строки символов, как обычно в языках программирования. Значение стимула может быть элементом набора {0, 1,?}, Если это «нормальный» узел, или элементом набора {0, 1, R, F,?}, Если это узел часов. В этих наборах R и F обозначают рост и падение соответственно, а символ? (`безразлично`) значение означает, что выходные значения не зависят от значения этого входного узла.
Существует три вида выходного значения:
константы: 0, 1, X, Z, где X представляет неизвестное, а Z представляет высокий уровень импеданса.
одномерных выражений: значение узла или его дополнение, например sig1 — это значение в узле 1, а НЕ (sig1) — его дополнение.
Логические выражения значения узла, например sig1AND [NOT (sig2)], а именно логическое произведение значения в узле 1 и дополнения или обратного значения в узле 2.
РИС. 2 — общая блок-схема, которая иллюстрирует алгоритм, управляющий генерацией таблицы истинности ячейки. Ввод данных включает набор уравнений, определяющих структуру ячейки, как описано выше.10 Процедура является рекурсивной и включает постепенное построение таблицы истинности из совокупной последовательности структурных уравнений. На каждом проходе рекурсивного цикла i-е уравнение анализируется (где i изменяется от 1 до n, n — количество уравнений, представляющих ячейку) и используется для построения таблицы частичной истинности. Эта таблица истинности (кроме первой) объединена с таблицей истинности, которая была сформирована путем слияния таблиц истинности для уравнений с первого по (i-1).
Когда все уравнения проанализированы для создания совокупной или полной таблицы истинности, эта таблица истинности может быть оптимизирована для предоставления выходных данных, представляющих таблицу истинности ячейки.
Оптимизация таблицы истинности означает, что оптимизированная таблица истинности будет содержать значения «безразлично» в своих стимулах (входах), что уменьшит количество элементов в списках входных стимулов и выходных значений. Уменьшение размера может быть очень важным для некоторых ячеек. Например, мультиплексор 8-к-1 может быть описан с помощью таблицы истинности с 8 стимулами, а его полная таблица истинности содержит 2 ** 11 = 2048 различных комбинаций стимулов, где `**` обозначает показатель степени.
Анализ уравнений предпочтительно включает построение упорядоченного абстрактного дерева данных (как определено Aho et al.), где операторы и функции являются «узлами» дерева, потомки «узлов» являются аргументами этих операторов или функций, а переменные и константы являются конечностями или «листьями» дерева. Анализ уравнений (i) — (iii) ячейки, показанной на фиг. 1 показан на фиг. 3. Порядок «слева направо» братьев и сестер (потомков или потомков того же поколения одного и того же узла) — это порядок появления аргументов в строке. Этот порядок «слева направо» будет учитываться при чтении дерева.
Древовидная структура очень подходит для рекурсивных процедур. Таблица истинности «узла» может быть построена из таблицы истинности каждого потомка, начиная с простых или элементарных таблиц истинности констант или переменных по мере их появления. Это показано на фиг. 4. Таблица истинности TT на узле i зависит от таблиц истинности TT1, TT2, TT3 ее потомков, которые являются аргументами функции Fi, которая зависит от типа оператора или примитива в узле i. Каждый `лист` останавливает рекурсивное построение, потому что таблица истинности` листа` уже определена.За исключением оператора присваивания (=), все операторы и функции аппаратного языка аналогичным образом создают таблицу истинности для узла. Оператор присваивания строит таблицу истинности, добавляя список имен входов первого дочернего элемента (левый дочерний элемент) к списку выходных имен второго дочернего элемента (правый дочерний элемент) и возвращая модифицированную вторую таблицу истинности дочернего элемента, как показано на фиг. 5. Для операторов и функций строится таблица истинности, как показано на фиг. 6 для оператора $ AND, генерируя все комбинации стимулов всех дочерних таблиц истинности, затем вычисляя выходные значения для комбинации из соответствующих выходных значений дочерних таблиц истинности.Таким образом, для каждого типа оператора и функции функция Fi должна быть определена из набора {0, 1, R, F} .sup.N в набор {0, 1, R, F, Z, X} .sup .P, где N — количество дочерних элементов, а P — размер возвращаемого значения. Списки имен входов дочерних таблиц истинности объединяются, чтобы составить список имен входов для построенной таблицы истинности.
Таблицы истинности констант не имеют стимулов, и каждая состоит только из постоянного выходного значения. Для переменной таблица истинности более сложна.Во-первых, это зависит от характера эквипотенциального узла, представленного переменной. Есть два типа переменных: один для «нормальных» эквипотенциальных узлов, а другой для узлов синхронизации. Следовательно, существует два типа таблиц истинности для эквипотенциального узла, называемого «sig». Таким образом, таблицы истинности для констант приведены в ТАБЛИЦЕ 1.
ТАБЛИЦА 1 ______________________________________ Таблица истинности для $ Low (Пустой список) .fwdarw. (Пустой список) (Пустой список) .fwdarw. 0 Таблица истинности для $ High (Пустой список) .fwdarw. (Пустой список) (Пустой список) .fwdarw. 1 Таблица истинности для $ Unk (Пустой список) .fwdarw. (Пустой список) (Пустой список) .fwdarw. Икс Таблица истинности для sig SIG.fwdarw. (Пустой список) на нормальном узле 0 .fwdarw. 0 1 .fwdarw. 1 Таблица истинности для sig SIG.fwdarw. (Пустой список) на узле часов 0 .fwdarw. 0 1 .fwdarw. 1 Р .fwdarw. р F .fwdarw. F ______________________________________
РИС. 7 подробно показано построение таблицы истинности для уравнения (i). Структура дерева соответствует структуре, показанной для уравнения (i) на фиг.3. Фиг. 7 иллюстрирует построение таблицы истинности в каждом узле из таблицы истинности его «потомков». Например, узел 71, имеющий оператор $ NOT, имеет единственную дочернюю SA, определенная таблица истинности которой показана позицией 72. Эта и другие таблицы истинности в дальнейшем изложены для удобства в форме, показанной на фиг. 5 и 6 или Таблица 1, в зависимости от обстоятельств. Таблица 73 истинности в узле 71 строится путем применения оператора узла 71 к таблице 72 истинности. Кроме того, таблица истинности 74 для следующего более высокого узла, имеющего оператор $ AND, строится путем применения оператора к истинности таблица для «листовой» БД и таблица истинности 73 узла 71.Уравнение (i) последовательно анализируется таким образом, чтобы получить соответствующую таблицу 76 истинности для уравнения (i).
Таблица истинности 76 на фиг. 7 имеет дублированный столбец (SA), потому что в дереве есть дублированный лист SA. Дублирование можно удалить, прочитав список стимулов и удалив все повторяющиеся значения с помощью проверки достоверности, так что одно и то же имя сигнала не должно иметь разных значений в списке стимулов. Затем список очищается от дублированных строк стимулов.Эта процедура показана на фиг. 8. Левая таблица истинности 81 соответствует таблице истинности, показанной на фиг. 7, построенный для уравнения (i). Вторая строка таблицы истинности может быть удалена с помощью проверки достоверности, поскольку она имеет как SA, равное нулю во втором столбце, так и SA, равное единице в четвертом столбце входных стимулов. Аналогичным образом удаляются четвертая, пятая, седьмая, десятая, двенадцатая, тринадцатая и пятнадцатая строки, а также четвертый входной столбец (т. Е. Дублированный столбец для SA).Устранение дублированных или недопустимых значений показано оценкой в средней таблице 82, а результирующая очищенная таблица 83 истинности показана справа на фиг. 8. Дублирование входных стимулов SA было удалено, а недопустимые строки удалены.
РИС. 9 и 10 показаны таблицы 91 и 92 истинности для уравнений (ii) и (iii), построенные таким же образом, как описано для уравнения (i).
Во внутреннем цикле алгоритма таблицы истинности в соответствии с изобретением объединяются пополам.Слияние двух таблиц истинности потенциально сложно, потому что для сигнала может существовать цикл. Это означает, что выходы одной таблицы истинности могут быть входами для другой таблицы истинности, выходы которой также являются входами первых таблиц истинности. Один из методов слияния состоит в том, чтобы изначально предположить, что первая таблица истинности не имеет входных данных после слияния, если есть узел цикла, обозначенный сигналом во входном списке и выходном списке, узел удаляется из входного списка и выходное значение может быть вычислено в соответствии с логическим выражением узла цикла.Использование узлов зацикливания. Используя высказанное предположение, слияние может быть выполнено с помощью следующих операций. Сначала создаются три списка: список независимых входных узлов, список общих входных узлов таблиц истинности и, наконец, список выходных узлов первой таблицы истинности, которые являются входными узлами второй таблицы истинности. Затем все комбинации входных стимулов генерируются и проверяются на достоверность почти так же, как проверка достоверности выполняется «во время» построения таблицы истинности.
РИС. 11 иллюстрирует в качестве примера слияние двух таблиц истинности 101 и 102 для создания объединенной таблицы 103. Таблица истинности 101 имеет входы (стимулы) A и B и выход X. Таблица истинности 102 имеет входы X и C и выход S. Объединенная таблица истинности требует входов A, B и C и выходов x и S. Таким образом, независимыми входами являются A, B и C, нет общего входного узла, а X — выходное значение в первой таблице, а вход значение (стимул) во второй таблице. Между узлами ввода не может быть конфликта, и в этом случае не возникает конфликта, возникающего из-за разных значений ввода, общего для таблиц (в отличие от SA на фиг.7). Проверка достоверности требует, чтобы в любой строке, состоящей из A, B, X из таблицы 101 и X, C и S таблицы 102, X имел одно и то же значение для каждого вхождения. В качестве альтернативы, если выходное значение было выражением, соответствующие стимулы должны быть совместимы.
Для каждой строки таблицы 101 система генерирует сигналы, соответствующие каждой строке таблицы 102, и исключает те комбинации, которые не прошли проверку на достоверность. Таким образом, для первой строки таблицы 101, имеющей A = B = 0 и X = 1, первая и вторая строки таблицы 102 исключаются, поскольку X = 0.Комбинации первой строки таблицы 101 и третьей и четвертой строк таблицы 102 дают первую и вторую строки таблицы 103.
Путем объединения частичных таблиц истинности (по одной для каждого уравнения) создается полная таблица истинности. Он содержит все комбинации стимулов входных сигналов. Количество комбинаций равно (2 ** (p) * (4 ** m), где p — количество «нормальных» входных узлов, а m — количество входных узлов синхронизации. Для ячейки на фиг.1 количество комбинаций (2 ** 6) * (4 ** 1) = 256.Это число можно уменьшить, используя значения «безразлично» двумя способами: с помощью логической оптимизации и оптимизации выражений.
Логическая оптимизация состоит из проверки выходных значений соседних стимулов и, если они совпадают, замены соседних стимулов на один со значением «безразлично» в изменяющемся входном сигнале. Таким образом, например, если есть два набора входных значений 0000 и 0100, каждый из которых связан с одним и тем же набором выходных значений 011. Второй стимул в входном наборе может быть заменен на «безразлично», а две строки таблицу истинности можно свести к одной строке: 0? 00.fwdarw.011. Оптимизация «Expression» почти такая же, как и булевская оптимизация, за исключением того, что вместо проверки равенства выходных значений одно выходное значение соседних стимулов может быть заменено одномерным выражением изменяющегося сигнала. Так, например, в таблице истинности:
______________________________________ I1 I2 I3 .fwdarw. 01 02 ______________________________________ 0 1 0.fwdarw. 0 1 0 1 1 .fwdarw. 1 1 ______________________________________ при этом верхняя строка содержит списки имен сигналов, а нижние строки значения в таблице истинности, нижние строки могут быть заменены одним ряд:
0 1?.fwdarw.I3 1
, в котором I3 в каждой строке заменяется значением «безразлично», а выходной сигнал 01 заменяется третьим входным значением I3 (то есть одномерным выражением сигнала, которое изменяется от одной строки к другой).
Логическая оптимизация выполняется путем многократного прохождения основных шагов оптимизации и завершения, когда на последнем базовом шаге не происходит никаких изменений. Основные шаги оптимизации состоят из перебора списка входных узлов, затем перебора списков стимулов и проверки того, совпадают ли выходные значения или нет.ИНЖИР. 12 показывает базовую процедуру оптимизации. Есть два соседних стимула для изменяющегося узла — это «нормальный» узел, в то время как есть четыре соседних стимула для узла синхронизации.
РИС. 13 иллюстрирует таблицу истинности, полученную посредством выполнения булевой оптимизации таблицы истинности (не показана), сформированной слиянием таблиц частичной истинности, полученных в соответствии с тремя уравнениями для схемы на фиг. 1. Фиг. 13 может быть выражено как список имен входных сигналов от SDN до OE включительно, список имен выходных сигналов Q, QN и QZ, список входных стимулов представляет все возможные неизбыточные комбинации значений входных стимулов и список соответствующие выходные значения.
Оптимизация выражения выполняется таким же образом, как и логическая оптимизация, за исключением того, что проверка на соответствие между значениями, соответствующими соседним комбинациям стимулов, заменяется проверкой выходных узлов по очереди и заменой выходного значения на 0, если оба значения выходной узел, соответствующий смежным наборам стимулов, равен 0; и 1, если оба значения выходного узла, соответствующие соседним наборам стимулов, равны 1, sig, если значение выходного узла равно 0, когда sig (изменяющийся сигнал) равен 0, и 1, когда sig равен 1; и sig, если значение выходного узла равно 0, когда sig (изменяющийся сигнал) равен 1, и 1, когда sig равен 0.
РИС. 14 показывает окончательную таблицу истинности для схемы фиг. 1. Как указано ранее, данные, представляющие эту таблицу истинности, хранятся системой в средстве хранения 152.
Приведенное выше описание предназначено для иллюстрации, а не ограничения изобретения, которое определяется следующей формулой изобретения.
Lab 06: Учебное пособие и практика Quartus II
Необходимое оборудование / детали
- Quartus II R Web Edition V9.1 программное обеспечение SP2 от Altera Corporation
- USB-накопитель для сохранения файлов
Цель
- Узнайте, как использовать программное обеспечение Quartus II R V9.1 SP2 для создания схемы, создания сигналов, компиляции и моделирования схемы
- Анализировать формы сигналов и разрабатывать таблицы истинности для логических схем
Обсуждение
Значки панели инструментов Tools, которые вы будете использовать в этой лабораторной работе, обозначены на рис. 6-1. Эти значки расположены в верхней части окна приложения Quartus II.Эта горизонтальная панель инструментов содержит такие кнопки, как: «Создать», «Открыть», «Сохранить», «Печать», «Вырезать», «Копировать», «Вставить», «Отменить» и «Вернуть». Другие кнопки панели инструментов будут обсуждаться в лабораторной работе, где это уместно.
Рисунок 6-1
Часть 1 Учебное пособие по Quartus II
Откройте Quartus II
- На рабочем столе выберите Пуск — Программы — Quartus II . Эта лабораторная работа основана на веб-версии.
Если ваш компьютер подключен к Интернету, Quartus II автоматически проверяет наличие обновлений и отображает сообщение в рабочей области, если обновления существуют на altera.com веб-сайт. Как только программное обеспечение откроется, вы увидите строку меню в верхней части экрана с именами, аналогичными тем, которые вы найдете в большинстве программ для Windows, то есть «Файл», «Правка», «Просмотр», «Инструменты», «Окно» и «Справка». См. Рисунок 6-2. Под панелью инструментов появляются различные окна служебных программ в зависимости от того, какие из них были выбраны (вид — Windows служебной программы ). Размер каждого окна можно изменить, поместив мышь на границу. Когда указатель мыши изменится на две линии, щелкните и удерживайте нажатой левую кнопку мыши, перемещая мышь (щелкните и перетащите) в желаемом направлении, чтобы уменьшить или увеличить размер этих окон.Вы также можете щелкнуть соответствующую кнопку закрытия, чтобы закрыть окно и тем самым увеличить размер рабочей области.
Создание нового проекта
- В главном меню выберите File > New Project Wizard . См. Рисунок 6-3. Может появиться окно «Введение» с описанием функций мастера создания проекта. Нажмите «Далее.
- Появится страница 1 из 5 мастера создания нового проекта (см. Рис. 6-4). Введите Рабочий каталог, имя проекта и имя вашего объекта верхнего уровня вашего проекта.В примерах, приведенных в этом руководстве, будет показан диск C. Введите соответствующую букву диска для обозначенной области хранения на компьютере, который вы используете, или выберите каталог с помощью Browse (… ), а затем рабочий каталог C : \ altera \ 91sp2 \ quartus \ kwon \ Lab 6 . (Я рекомендую вам создать подпапку со своей фамилией, например, « kwon» , как показано выше, чтобы вы всегда хранили и сохраняли свои файлы в своей подпапке). Введите lab 6_ 1 в качестве имени проекта и как имя объекта верхнего уровня.По умолчанию имя объекта верхнего уровня и имя проекта будут одинаковыми; однако вы можете ввести другое имя объекта верхнего уровня.
Рисунок 6-2
Рисунок 6-3
- Если имя каталога не существует, появится окно с предупреждением, например [«Каталог c: \ altera \ 91sp2 \ quartus \ kwon \ Lab6» не существует. Вы хотите его создать?]. Щелкните Да . Несуществующие каталоги будут созданы программным обеспечением при нажатии кнопки Да.
Рисунок 6-4
- Страница 2 из 5 мастера создания проекта позволяет вам выбирать файлы дизайна, исходные файлы программного обеспечения и библиотеки, отличные от стандартных. Поскольку вы только начинаете, ничего из этого не существует, поэтому просто нажмите Далее .
- Страница 3 из 5 мастера создания проекта (рис. 6-5) позволяет выбрать семейство устройств. Этот экран позволит нам указать фактический CPLD, на который мы будем нацеливать наш дизайн. В раскрывающемся списке для семейства выберите Cyclone II .Установите флажок для Конкретное устройство . Выделите EP2C35F672C6 и щелкните Next .
Рисунок 6-5
- Страница 4 из 5 мастера создания проекта позволяет указать инструменты автоматизации проектирования электроники (EDA), которые будут использоваться с этим проектом. Поскольку в этом проекте не используются перечисленные сторонние инструменты, убедитесь, что Нет указан в качестве имени инструмента для каждого типа инструмента .Нажмите Далее .
- Страница 5 из 5 мастера создания проекта (рис. 6-6) отображает сводку сделанных вами выборов. Просмотрите варианты и щелкните Назад , чтобы исправить запись, или щелкните Завершить , чтобы создать проект. Имя проектного объекта верхнего уровня отображается на вкладке Hierarchy окна Project Navigator, а заголовок проекта будет отображаться в строке Title окна Quartus II.
Рисунок 6-6
Создание файла блочного дизайна (bdf)- Чтобы нарисовать логическую схему для нашего логического уравнения (X = AB), мы воспользуемся редактором блоков, чтобы создать файл дизайна блока путем рисования схемы.Откройте новый файл схемы ( File > New ), выделив Block Diagram / Schematic F ile . И нажмите ОК .
- Перед рисованием логической схемы нам нужно назвать этот файл bdf и сохранить его как часть нашего проекта в подпапке. Выберите File> Save As и введите File name как lab6_1 . Установите флажок в поле с надписью Добавить файл в текущий проект и нажмите Сохранить ( Рисунок 6-7 ) .
Рисунок 6-7
- Слева от окна блок-схемы появляется столбец значков. Эти значки обозначены на рис. 6-8 и будут упоминаться по имени в ходе лабораторной работы.
- Теперь вы готовы ввести логический символ. Щелкните значок инструмента «Символ». Появится диалоговое окно «Символ» с файлом библиотеки C: / quartus / libraries , отображаемым в окне «Библиотеки». Щелкните поле со знаком плюс, чтобы открыть этот каталог. Откройте подкаталоги , примитивы и , логику и выберите символ и 2 .(См. Рисунок 6-9.)
Рисунок 6-8
Рисунок 6-9
- Отмените выбор Режим повторной вставки , затем нажмите OK . Поместите символ в центр окна блок-схемы, затем щелкните левой кнопкой мыши, чтобы закрепить символ на месте. По умолчанию установлен флажок Режим повторной вставки, что позволяет вставить несколько вентилей в файл схемы. Если слева установлен флажок, щелкните правой кнопкой мыши и выберите «Отмена» после вставки первого символа в файл схемы.
- Подсказка: если вы знаете имя символа, вы можете ввести имя символа в окне «Имя» без необходимости поиска этого символа в каталогах.
- Доступные библиотеки: примитивы Altera , содержащие базовые логические строительные блоки, макрофункции (mf) логики семейства 7400 (доступны в каталоге others ) и мегафункции , содержащие библиотеку параметризованных модулей (LPM) для высокоуровневых функции схемы.Просмотрите подкаталоги, чтобы ознакомиться с символами, доступными для вашего использования.
- Добавьте к своей схеме два входных и один выходной контакт. Символы ввода и вывода доступны в каталоге C: / altera / 91sp2 / quartus / libraries / primitive / pin . Расположите эти символы, как показано на Рисунке 6-10.
Рисунок 6-10
- Чтобы изменить положение символа, щелкните один раз в левой части этого символа, чтобы «щелкнуть и перетащить» символ в желаемое положение.
- Чтобы изменить имя «PIN_NAME» входного (или выходного) разъема, дважды щелкните текущее имя. Когда имя отображается в обратном тексте (выделено), введите новое имя. Измените текущие имена входных разъемов на A и B и измените имя выходного разъема на X. Теперь ваша схема должна выглядеть как схема на рисунке 6-11.
Рисунок 6-11
- Добавьте линии от каждой клеммы затвора к соответствующей клемме входа или выхода. Чтобы сделать эти линии, поместите указатель мыши на терминал ворот.Когда указатель мыши превратится в крест, щелкните и перетащите мышь так, чтобы она едва касалась провода входного или выходного разъема. Не перетаскивайте , а не , и отпускайте провод внутри компонента. Схема должна выглядеть, как показано на рисунке 6-12.
Рисунок 6-12
- Чтобы сохранить обновленный файл bdf , выберите Файл> Сохранить .
- Теперь скомпилируем проект. На этом этапе Quartus II выполняет анализ и синтез файла bdf , чтобы убедиться, что в нашей логике нет ошибок.Затем он соответствует дизайну шаблона EP2C35F672C6 . Наконец, он запускает ассемблер и анализатор времени. Чтобы запустить компилятор, выберите Processing / Start Compilation .
- Компиляция занимает несколько секунд. По завершении должно появиться сообщение «Полная компиляция прошла успешно». Нажмите ОК .
- Теперь, когда схема построена, вы готовы создать набор входных сигналов.Выберите File > New , , затем выделите Vector Waveform File , затем нажмите OK . На экране появится файл Waveform1.vwf Vector Waveform.
- Перед отрисовкой сигналов моделирования нам нужно назвать этот файл vwf и сохранить его как порт нашего проекта в вашей подпапке. Выберите «Файл »> «Сохранить как » и введите имя файла из lab6_1 (такое же, как имя вашего файла bdf).Установите флажок в поле с надписью Добавить файл в текущий проект и нажмите Сохранить .
- Чтобы создать этот файл моделирования, нам сначала нужно указать время окончания 16 мкс и размер сетки 1 мкс для отображения формы сигнала:
- Выберите Правка> Время окончания> 16 по времени> мкс , затем нажмите OK .
- Выберите Правка> Размер сетки> Период> 1> мкс , затем нажмите OK .
- Чтобы увидеть весь экран 16 мкс, выберите View> Fit In Window .
- Чтобы добавить входы и выходы, которые мы хотим имитировать на дисплее формы сигнала, поместите указатель мыши в первое поле под столбцом «Имя», затем дважды щелкните левой кнопкой мыши. Появится диалоговое окно «Вставить узел или шину». Выберите Node Finder (рисунок 6-13). В разделе «Фильтр» выберите «Пины: все», затем выберите «Список». Перетащите все узлы ввода / вывода левой кнопкой мыши и нажмите кнопку (>), чтобы скопировать все узлы (вводы и выводы) в список «Выбранные узлы» справа.Выберите ОК. Еще раз нажмите ОК.
Рисунок 6-13
- Теперь вы должны увидеть входы и выходы в окне файла векторных сигналов. Сохраните этот файл еще раз. Окно должно выглядеть так, как показано на рисунке 6-14.
Рисунок 6-14
- Чтобы протестировать все возможные комбинации для наших двух входов, нам нужно создать серию временных сигналов, которые проходят через все 4 возможные комбинации входных логических уровней. Самый простой способ сделать это — сформировать двоичный счетчик, который будет считать от 0000 до 0100, как мы это делали с таблицей истинности.На экране файла vwf щелкните левой кнопкой мыши первый вход A , выберите значение > Часы, , а затем введите период из 16 мкс и нажмите ОК . Чтобы нарисовать сигнал B как часы с периодом 8 мкс, выберите Value> Clock, , а затем введите период 8 мкс и нажмите OK . Затем сохраните его снова. По завершении экран vwf должен выглядеть, как на рис. 6-15.
Рисунок 6-15
Выполнение моделирования вывода- Чтобы выполнить моделирование, выберите Обработка> Начать моделирование .Через несколько секунд должно появиться сообщение «Моделирование выполнено успешно». Нажмите ОК .
- Формы сигналов моделирования отображаются в отчете моделирования, показанном на Рисунке 6-16. Возможно, вам придется увеличить размер сигналов моделирования в соответствии с вашими потребностями и выбрать «Просмотр »> «Подогнать в окно », чтобы увидеть полную форму сигнала 16 мкс.
Рисунок 6-16
Если вы еще не создали логическую таблицу для уравнения, введенного в Quartus, сделайте это сейчас и сравните эти результаты с результатами, полученными при моделировании.Фактически необходимая таблица — это таблица напряжения , но, поскольку все сигналы в этом примере предполагались активными с высоким уровнем, они будут выглядеть одинаково (с заменой 0 и 1 на L и H соответственно). Результаты моделирования Quartus должны соответствовать вашей логической таблице.
Печать результатов моделирования- Чтобы распечатать файл осциллограммы, выберите « File > Print. »Если вы хотите распечатать только часть сигнала, выберите« Файл > Печать > Параметры »и выберите« Временной диапазон »по желанию.Плохая альтернатива вышесказанному — захватить часть экрана и затем вставить эту захваченную часть в текстовый редактор или приложение для рисования. Чтобы скопировать результат моделирования (или любое окно на экране), сделайте его как можно большим, а затем (пока он активен [выбран]) нажмите «Alt-Print Scrn» (т. Е. Удерживайте «Alt» и удерживая ее, нажмите клавишу «Print Scrn»). Затем вставьте захваченное окно в свой любимый текстовый редактор или программу для рисования. В выбранной вами программе вы можете кадрировать и увеличивать фигуру по желанию.
- При проектировании чего-то большого рекомендуется держать много данных доступными для моделирования. Затем, когда вы знаете, что ваш дизайн моделируется правильно, вы можете удалить столько выходных данных, сколько необходимо, чтобы дизайн соответствовал вашему конкретному устройству. Дополнительные сигналы могут быть выведены и использованы в вашей симуляции. Я называю эти дополнительные выходы выходами отладки. Функциональная модель для компиляции и моделирования (по сути) не имеет ограничений на количество доступных входов, выходов и внутренних элементов.Ниже я расскажу, как функционально скомпилировать и смоделировать ваш дизайн в Quartus. Сначала создайте детали как обычно (с помощью графического редактора или VHDL). Нет необходимости назначать устройство дизайну.
- Чтобы скомпилировать функционально , откройте «Compiler Tool». Этот инструмент можно найти в разделе «Обработка | Инструмент компилятора ». Нажмите крайнюю левую кнопку в разделе «Анализ и синтез». (У этой кнопки есть треугольник вправо, логический элемент И и галочка.) Это скомпилирует ваш дизайн, не пытаясь вписать его в какую-либо конкретную часть.Когда ваш дизайн компилируется без ошибок, вы готовы к функциональному моделированию.
- Создайте файл формы сигнала, как вы это делали ранее. Откройте «Simulator Tool» в разделе «Обработка | Инструмент Симулятор ». В разделе «Режим моделирования» выберите «Функциональный». Затем нажмите кнопку «Создать список цепей функционального моделирования». Установите флажок «Перезаписать входной файл моделирования результатами моделирования». Нажмите кнопку «Пуск». На этом ваше функциональное моделирование будет завершено. Функциональное моделирование , а не покажет задержки распространения.Сравните эти выходные данные моделирования с выходными данными временного моделирования, выполненными ранее (с задержками распространения).
- Используйте программу Quartus II для создания булевого уравнения Y = AB + C.
- Создайте таблицу истинности для X.
- Design the Block Design File ( bdf file) для X.
- Создайте файл векторной формы волны ( vwf ) для X. Симуляция должна показать все возможные комбинации входов.
- Сравните результат векторного сигнала с таблицей истинности.
- Включите копии файлов bdf и vwf в лабораторный отчет.
- Используйте программу Quartus II для создания булевого уравнения Y = AB + C.
- Используйте программное обеспечение Quartus II для создания логического уравнения Y = AB + CD.
- Создайте таблицу истинности для X.
- Разработайте схему (файл bdf, ) для Y.
- Создайте файл векторной формы волны ( vwf ) для Y.Моделирование показывает все возможные комбинации входов.
- Сравните результат векторного сигнала с таблицей истинности.
- Включите копии файла схемы и файла векторной формы сигнала в лабораторный отчет.
/ obsidian-истинности-таблицы — githubmemory
Это плагин Obsidian для автоматического создания таблиц истинности с предварительно заполненными значениями истинности.
Характеристики
Создайте таблицы вручную с выбранным количеством переменных и столбцов.
example1.mp4(UI до версии 1.0.2) Быстрое создание таблицы истинности любого размера.
example2.mp4(v1.0.3 или новее) Создайте таблицы истинности из формулы LaTeX.
example3.mp4Как использовать
Сконфигурируйте, как плагин должен заполнять ваши таблицы в настройках.
Откройте палитру команд и введите «Таблицы истинности»:
Выбор первого варианта позволит вам вручную создать таблицу истинности:
, что сгенерирует следующую таблицу:
$ | $ q $ | $ | руб.$ п \ земля q $ | долл. США | долл. США
---|---|---|---|---|
Ф. | F | F | ||
Факс | F | Т | ||
Факс | Т | F | ||
Факс | Т | Т | ||
Т | F | F | ||
Т | F | Т | ||
Т | Т | F | ||
Т | Т | Т |
Вы можете сгенерировать таблицу истинности из формулы LaTeX, выбрав второй вариант:
, что сгенерирует следующую таблицу:
$ | $ п $ | $ млрд $ | долл. США | долл. США$ (a \ lor p) \ oplus b $ |
---|---|---|---|---|
Ф. | F | F | ||
Факс | F | Т | ||
Факс | Т | F | ||
Факс | Т | Т | ||
Т | F | F | ||
Т | F | Т | ||
Т | Т | F | ||
Т | Т | Т |
История изменений
Версия 1.0,2:
Версия 1.0.3:
- Добавить возможность создания таблицы из формулы LaTeX.
Версия 1.0.4:
- Используйте более общий синтаксический анализ для обработки большего количества команд LaTeX.
- Не допускайте пробелов между командой и скобками.
Обслуживание репозитория
Этот раздел связан с обслуживанием репозитория плагина.
Выпущены новые выпуски
- Обновите манифест
.json
с новым номером версии. - Зафиксировать изменения.
- Создать тег:
git tag 1.0.0
- Push-коммиты и тег:
git push --atomic origin master 1.0.0
Как использовать
- Клонировать это репо.
-
npm i
илипряжа
для установки зависимостей -
npm run dev
, чтобы начать компиляцию в режиме наблюдения.
Установка плагина вручную
- Скопируйте поверх
main.js
,styles.css
,manifest.json
в ваше хранилищеVaultFolder / .obsidian / plugins / your-plugin-id /
.
Таблицы — оборотная сторона, онлайн-редактор LaTeX
Введение
В этой статье объясняется, как использовать LaTeX для создания и настройки таблиц: изменение размера / интервала, объединение ячеек, применение цвета к строкам или ячейкам и т. Д.
Начнем с одного из простейших примеров таблицы:
\ begin {center} \ begin {tabular} {c c c} ячейка1 и ячейка2 и ячейка3 \\ ячейка4 и ячейка5 и ячейка6 \\ cell7 и cell8 и cell9 \ end {tabular} \ end {center}
Откройте этот пример на оборотной стороне листа.
Табличная среда является методом LaTeX по умолчанию для создания таблиц. Вы должны указать параметр для этой среды; здесь мы используем {c c c}
, который сообщает LaTeX, что есть три столбца, и текст внутри каждого из них должен быть центрирован.
Создание простой таблицы в LaTeX
Табличная среда обеспечивает дополнительную гибкость; например, вы можете поместить разделительные линии между каждым столбцом:
\ begin {center} \ begin {tabular} {| c | c | c | } \ hline ячейка1 и ячейка2 и ячейка3 \\ ячейка4 и ячейка5 и ячейка6 \\ ячейка7 и ячейка8 и ячейка9 \\ \ hline \ end {tabular} \ end {center}
Откройте этот пример на оборотной стороне листа.
Вот описание конструкций, использованных в примере выше:
-
{| c | c | c | }
- Это объявляет, что в таблице будут использоваться три столбца, разделенные вертикальной линией. Каждое значение
c
означает, что содержимое столбца будет центрировано. Вы также можете использоватьr
для выравнивания текста по правому краю иl
для выравнивания по левому краю.
-
\ hline
- Это вставит горизонтальную линию сверху и снизу таблицы.Нет ограничений на количество раз, которое вы можете использовать
\ hline
.
-
ячейка1 и ячейка2 и ячейка3 \\
- Каждые
и
являются разделителями ячеек, а двойная обратная косая черта\
устанавливает конец этой строки.
Ниже вы можете увидеть второй пример, в котором используются различные вертикальные и горизонтальные линии (часто называемые «правилами»):
\ begin {center} \ begin {tabular} {|| c c c c ||} \ hline Col1 и Col2 и Col2 и Col3 \\ [0.5ex] \ hline \ hline 1 и 6 и 87837 и 787 \\ \ hline 2 и 7 и 78 и 5415 \\ \ hline 3 и 545 и 778 и 7507 \\ \ hline 4 и 545 и 18744 и 7560 \\ \ hline 5 и 88 и 788 и 6344 \\ [1ex] \ hline \ end {tabular} \ end {center}
Откройте этот пример на оборотной стороне листа.
Столы фиксированной длины
При форматировании таблицы вам может потребоваться фиксированная длина либо для каждого столбца, либо для всей таблицы.В следующем примере в преамбулу документа добавляется массив
:
и использует его для установки фиксированной ширины столбцов:
\ documentclass {article} \ usepackage {массив} \ begin {document} \ begin {center} \ begin {tabular} {| м {5em} | м {1см} | м {1см} | } \ hline Ячейка1 фиктивный текст фиктивный текст фиктивный текст & ячейка2 & ячейка3 \\ \ hline cell1 фиктивный текст фиктивный текст фиктивный текст & cell5 & cell6 \\ \ hline ячейка7 и ячейка8 и ячейка9 \\ \ hline \ end {tabular} \ end {center} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
В табличной среде параметр м {5em}
устанавливает длину 5em
для первого столбца ( 1см
для двух других) и центрирует текст в середине ячейки. Варианты выравнивания: м
для среднего, p
для верхнего и b
для нижнего. При использовании этих параметров текст автоматически форматируется, чтобы поместиться внутри каждой ячейки.
Если вам нужно контролировать ширину не каждой ячейки, а всей таблицы, а затем равномерно распределять пространство внутри, используйте пакет tabularx
.См. Пример ниже:
\ documentclass {article} \ usepackage {tabularx} \ begin {document} \ begin {tabularx} {0.8 \ textwidth} { | > {\ raggedright \ arraybackslash} X | > {\ centering \ arraybackslash} X | > {\ raggedleft \ arraybackslash} X | } \ hline пункт 11 и пункт 12 и пункт 13 \\ \ hline Пункты 21 и 22 и 23 \\ \ hline \ конец {tabularx} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
Среда tabularx
похожа на tabular
, но более гибкая. Чтобы использовать ее, добавьте строку \ usepackage {tabularx}
в преамбулу документа.Обратите внимание, что оператор открытия среды отличается: в этом примере ширина таблицы установлена на 0,8 \ textwidth
, что составляет 80% ширины текста документа. Вы можете использовать любой из модулей LaTeX, чтобы установить эту длину.
Префикс в фигурных скобках | > {\ raggedright \ arraybackslash} X | > {\ centering \ arraybackslash} X | > {\ raggedleft \ arraybackslash} X |
устанавливает выравнивание каждого столбца: первый по слева , второй по по центру и третий по справа .
Объединение строк и столбцов
Строки и столбцы можно объединять для создания ячеек таблицы большего размера. В следующем примере команда \ multicolumn
используется для объединения нескольких столбцов:
\ documentclass {article} \ usepackage {multirow} \ begin {document} \ begin {tabular} {| p {3cm} || p {3cm} | p {3cm} | p {3cm} | } \ hline \ multicolumn {4} {| c |} {Список стран} \\ \ hline Название страны или название региона и код ISO ALPHA 2 и код ISO ALPHA 3 и цифровой код ISO \\ \ hline Афганистан и AF и AFG и 004 \\ Аландские острова и AX & ALA & 248 \\ Албания & AL & ALB & 008 \\ Алжир & DZ & DZA & 012 \\ Американское Самоа и AS & ASM & 016 \\ Андорра & AD & AND & 020 \\ Ангола & AO & AGO & 024 \\ \ hline \ end {tabular} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
Давайте рассмотрим каждый компонент команды \ multicolumn {4} {| c |} {Country List} \\
:
-
{4}
- Количество объединяемых столбцов: в данном случае 4.
-
{| c |}
- Разделители и выравнивание полученной ячейки: в этом случае текст будет центрирован, а с каждой стороны ячейки будет проведена вертикальная линия.
-
{Список стран}
- Текст, отображаемый внутри ячейки.
Чтобы объединить строки, вам нужно добавить многострочный пакет в преамбулу документа:
Затем вы можете использовать команду \ multirow
в своем документе:
\ documentclass {article} \ usepackage {multirow} \ begin {document} \ begin {center} \ begin {tabular} {| c | c | c | c | } \ hline col1 и col2 и col3 \\ \ hline \ multirow {3} {4em} {Несколько строк} & cell2 & cell3 \\ & ячейка5 & ячейка6 \\ & ячейка8 & ячейка9 \\ \ hline \ end {tabular} \ end {center} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
Команда multirow
принимает три параметра; в нашем примере используются следующие настройки:
- количество строк, которые необходимо объединить:
3
- ширина столбца:
4em
- содержимое ячейки:
Многострочный
Многостраничные таблицы
Если вам нужно вставить очень длинную таблицу, которая занимает две или более страниц в вашем документе, используйте пакет longtable
.Сначала добавьте в преамбулу документа следующую строку:
Затем вы можете использовать среду longtable
, как показано в следующем примере:
\ documentclass {article} \ usepackage {longtable} \ begin {document} \ begin {longtable} [c] {| c | c |} \ caption {Длинный заголовок таблицы. \ label {long}} \\ \ hline \ multicolumn {2} {| c |} {Начало таблицы} \\ \ hline Что-то и еще что-то \\ \ hline \ endfirsthead \ hline \ multicolumn {2} {| c |} {Продолжение таблицы \ ref {long}} \\ \ hline Что-то и еще что-то \\ \ hline \ endhead \ hline \ endfoot \ hline \ multicolumn {2} {| c |} {Конец таблицы} \\ \ hline \ hline \ endlastfoot Много строк и вот так \\ Много строк и вот так \\ Много строк и вот так \\ Много строк и вот так \\ Много строк и вот так \\ Много строк и вот так \\ Много строк и вот так \\ Много строк и вот так \\ ... Много строк и вот так \\ \ end {longtable}
Откройте пример длинной таблицы
на Overleaf
Поведение таблицы longtable
похоже на поведение таблицы по умолчанию
, но генерирует таблицы, которые могут быть разбиты стандартным алгоритмом разбиения страниц LaTeX. Существует четыре элемента longtable
, относящихся к конкретным элементам:
-
\ endfirsthead
- Все, что указано выше этой команды, появится в начале таблицы на первой странице.
-
\ торцевая головка
- Все, что вы указали перед этой командой и ниже
\ endfirsthead
, будет отображаться вверху таблицы на каждой странице, кроме первой.
-
\ конец стопы
- Подобно
\ endhead
, то, что вы поместили после\ endhead
и перед этой командой, будет отображаться внизу таблицы на каждой странице, кроме последней.
-
\ endlastfoot
- Аналогично
\ endfirsthead
.Элементы после\ endfoot
и до этой команды будут отображаться внизу таблицы, но только на последней странице, где отображается таблица.
Столы позиционирования
Расположить стол легко, если он находится внутри среды float table
.
\ documentclass {article} \ begin {document} Ниже приведена таблица, расположенная именно здесь: \ begin {table} [ч!] \ центрирование \ begin {tabular} {|| c c c c ||} \ hline Col1 и Col2 и Col2 и Col3 \\ [0.5ex] \ hline \ hline 1 и 6 и 87837 и 787 \\ 2 и 7 и 78 и 5415 \\ 3 и 545 и 778 и 7507 \\ 4 и 545 и 18744 и 7560 \\ 5 и 88 и 788 и 6344 \\ [1ex] \ hline \ end {tabular} \ end {table} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
Параметр h!
, переданное в объявление среды таблицы, устанавливает, что эта таблица должна быть помещена здесь и отменяет значения по умолчанию LaTeX.Параметры позиционирования, которые могут быть переданы, включают:
-
ч
- Поместим таблицу здесь примерно.
-
т
- Поместите таблицу вверху страницы.
-
б
- Поместите таблицу внизу страницы.
-
п
- Поместите таблицу на специальную страницу, только для таблиц.
-
!
- Отменить внутренние параметры LaTeX.
-
H
- Поместите стол в этом точном месте, примерно как h !.
Дополнительные примеры размещения стола см. В статье Размещение изображений и таблиц.
В этом примере есть еще несколько команд:
-
\ центрирование
- Центрирует таблицу относительно элемента контейнера с плавающей запятой.
-
\ [1ex]
- Это добавляет дополнительное пространство к ячейке.
Подписи, ярлыки и ссылки
Таблицы могут иметь заголовки, метки и ссылки с помощью среды table
.
\ documentclass {article} \ begin {document} Таблица \ ref {table: 1} - это пример элемента \ LaTeX {}, на который имеется ссылка. \ begin {table} [ч!] \ центрирование \ begin {tabular} {|| c c c c ||} \ hline Col1 и Col2 и Col2 и Col3 \\ [0.5ex] \ hline \ hline 1 и 6 и 87837 и 787 \\ 2 и 7 и 78 и 5415 \\ 3 и 545 и 778 и 7507 \\ 4 и 545 и 18744 и 7560 \\ 5 и 88 и 788 и 6344 \\ [1ex] \ hline \ end {tabular} \ caption {Таблица для проверки подписей и ярлыков.} \ label {таблица: 1} \ end {table} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
В этом примере есть три важные команды:
-
\ caption {Таблица для проверки подписей и этикеток}
- Как и следовало ожидать, эта команда устанавливает заголовок для таблицы.Если вы создадите список таблиц, этот заголовок будет там использоваться. Вы можете разместить его над или под столом.
-
\ label {table: 1}
- Если вам нужно сослаться на таблицу в документе, установите метку с помощью этой команды. Этикетка будет нумеровать таблицу и в сочетании с командой
\ ref
позволит вам ссылаться на нее.
-
\ ref {table: 1}
- Этот код будет заменен номером, соответствующим указанной таблице.
Список таблиц
Для создания списка таблиц используйте команду \ listoftables
. Заголовок каждой таблицы будет использоваться для создания этого списка. Для языков, поддерживаемых пакетом babel
, заголовок «Список таблиц» будет переведен соответствующим образом. См. Статью о поддержке международных языков для получения дополнительной информации.
\ documentclass {article} \ begin {document} \список таблиц \ vspace {5pt} Таблица \ ref {table: 1} - это пример ссылочных элементов \ LaTeX {}.\ begin {table} [ч!] \ центрирование \ begin {tabular} {|| c c c c ||} \ hline Col1 & Col2 & Col2 & Col3 \\ [0.5ex] \ hline \ hline 1 и 6 и 87837 и 787 \\ 2 и 7 и 78 и 5415 \\ 3 и 545 и 778 и 7507 \\ 4 и 545 и 18744 и 7560 \\ 5 и 88 и 788 и 6344 \\ [1ex] \ hline \ end {tabular} \ caption {Это заголовок первой таблицы.} \ label {таблица: 1} \ end {table} \ begin {table} [ч!] \ центрирование \ begin {tabular} {|| c c c c ||} \ hline Col1 и Col2 и Col2 и Col3 \\ [0.5ex] \ hline \ hline 4 и 545 и 18744 и 7560 \\ 5 и 88 и 788 и 6344 \\ [1ex] \ hline \ end {tabular} \ caption {Это заголовок второй таблицы.} \ label {таблица: 2} \ end {table} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
Изменение внешнего вида таблицы
Некоторые элементы таблицы могут быть изменены в соответствии с требованиями вашего документа. Ниже вы узнаете, как изменить толщину линии, цвет линии и цвет фона ячеек в таблице.
Ширина линии и заполнение ячеек
Разборчивость таблицы иногда можно улучшить, увеличив интервал между столбцами и растяжку строк.
\ documentclass {article} \ setlength {\ arrayrulewidth} {0,5 мм} \ setlength {\ tabcolsep} {18pt} \ Renewcommand {\ arraystretch} {1.5} \ begin {document} \ begin {tabular} {| p {3cm} | p {3cm} | p {3cm} | } \ hline \ multicolumn {3} {| c |} {Список стран} \\ \ hline Название страны или региона и код ISO ALPHA 2 и ISO ALPHA 3 \\ \ hline Афганистан, AF и AFG \\ Аландские острова и AX & ALA \\ Албания и AL & ALB \\ Алжир и DZ & DZA \\ Американское Самоа, AS и ASM \\ Андорра и AD & AND \\ Ангола и АО & АГО \\ \ hline \ end {tabular} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
Описание команд приведено ниже:
-
\ setlength {\ arrayrulewidth} {0,5 мм}
- Устанавливает толщину границ таблицы. В примере это 0,5 мм, но вы можете использовать другие единицы измерения — полный список см. В статье «Длина в LaTeX».
-
\ setlength {\ tabcolsep} {18pt}
- Эта команда устанавливает расстояние между текстом и левой / правой границей содержащей его ячейки равным 18 пунктам.Опять же, при необходимости вы можете использовать другие единицы.
-
\ refreshcommand {\ arraystretch} {1.5}
- Высота каждой строки установлена на 1,5 относительно высоты по умолчанию.
Цвет чередующиеся ряды
Вы можете применить чередующиеся цвета к строкам таблицы, используя пакет xcolor
с опцией table
, как показано в следующем примере:
\ documentclass {article} \ usepackage [таблица] {xcolor} \ setlength {\ arrayrulewidth} {0.5 мм} \ setlength {\ tabcolsep} {18pt} \ Renewcommand {\ arraystretch} {2.5} \ begin {document} {\ rowcolors {3} {зеленый! 80! желтый! 50} {зеленый! 70! желтый! 40} \ begin {tabular} {| p {3cm} | p {3cm} | p {3cm} | } \ hline \ multicolumn {3} {| c |} {Список стран} \\ \ hline Название страны или региона и код ISO ALPHA 2 и ISO ALPHA 3 \\ \ hline Афганистан, AF и AFG \\ Аландские острова и AX & ALA \\ Албания и AL & ALB \\ Алжир и DZ & DZA \\ Американское Самоа, AS и ASM \\ Андорра и AD & AND \\ Ангола и АО & АГО \\ \ hline \ end {tabular} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
Обратите внимание на фигурные скобки прямо перед командой
\ rowcolors {3} {зеленый! 80! Желтый! 50} {зеленый! 70! Желтый! 40}
и после табличной среды
. Команда \ rowcolors
принимает три параметра, каждый из которых передается в фигурных скобках:
- ряд для начала,
- цвет для нечетных строк и
- цвет для четных рядов.
См. Документацию по пакету xcolor
(в разделе для дальнейшего чтения) для получения списка доступных цветов и того, как создать свой собственный.В этом примере зеленый и желтый цвета смешаны в разных пропорциях.
Для работы команды обязательно добавьте
\ usepackage [таблица] {xcolor}
в преамбулу вашего файла LaTeX.
Раскрашивание таблицы (ячеек, строк, столбцов и строк)
Все элементы в таблице можно настроить для использования определенного цвета. Опять же, эта функциональность предоставляется xcolor , поэтому вы должны добавить
\ usepackage [таблица] {xcolor}
к преамбуле.Ниже вы можете увидеть пример.
\ documentclass {article} \ usepackage [таблица] {xcolor} \ setlength {\ arrayrulewidth} {1 мм} \ setlength {\ tabcolsep} {18pt} \ Renewcommand {\ arraystretch} {2.5} \ newcolumntype {s} {> {\ columncolor [HTML] {AAACED}} p {3cm}} \ arrayrulecolor [HTML] {DB5800} \ begin {document} \ begin {tabular} {| s | p {3cm} | p {3cm} | } \ hline \ rowcolor {lightgray} \ multicolumn {3} {| c |} {Список стран} \\ \ hline Название страны или региона и код ISO ALPHA 2 и ISO ALPHA 3 \\ \ hline Афганистан, AF и AFG \\ \ rowcolor {серый} Аландские острова и AX & ALA \\ Албания и AL & ALB \\ Алжир и DZ & DZA \\ Американское Самоа, AS и ASM \\ Андорра и AD & \ cellcolor [HTML] {AA0044} И \\ Ангола и АО & АГО \\ \ hline \ end {tabular} \ конец {документ}
Откройте этот пример на оборотной стороне листа.
Ниже приводится описание того, как изменить цвет каждого элемента в таблице:
- Цвет линий . Для этого используется команда
\ arrayrulecolor
. В примере используется формат HTML, но доступны и другие форматы, полный список см. В документации xcolor (ссылка приведена в разделе для дальнейшего чтения).
- Цвет фона ячейки . Используйте команду
\ cellcolor
.Вы можете ввести имя непосредственно внутри фигурных скобок (красный, серый, зеленый и т. Д.) Или передать параметр формата внутри скобок (HTML в примере), а затем установить желаемый цвет внутри фигурных скобок, используя установленный формат.
- Цвет фона строки . В этом случае
\ rowcolor
выполнит это. Те же наблюдения о выборе цвета, которые упоминались в двух предыдущих командах, действительны и для этой.
- Цвет фона столбца .Это немного сложно, но самый простой способ — определить новый тип столбца. Команда
\ newcolumntype {s} {> {\ columncolor [HTML] {AAACED}} p {3cm}}
определяют тип столбца с именемs
, выравнивание которого составляетp
, ширина столбца составляет3 см
, а цвет установлен в формате HTML наAAACED
. Этот новый тип столбца используется в табличной среде.
Справочное руководство
Краткое описание параметров в табличной среде
.
Таблицы могут быть созданы с использованием табличной среды
.
\ begin {tabular} [pos] {cols} содержимое таблицы \ end {tabular}
, где могут быть следующие варианты:
-
pos
: Вертикальное положение. Он может принимать следующие значения:
t | линия вверху выровнена с базовой линией текста |
б | строка внизу выровнена с базовой линией текста |
c или нет | таблица центрируется по базовой линии текста |
-
столбцы
: определяет выравнивание и границы каждого столбца.Может иметь следующие значения:
л | выровненный по левому краю столбец |
c | центрированный столбец |
r | столбец, выровненный по правому краю |
p {'width'} | столбец абзаца с текстом, выровненным по вертикали вверху |
м {'ширина'} | столбец абзаца с текстом, выровненным по вертикали посередине (требуется массив пакет ) |
b {'width'} | столбец абзаца с текстом, выровненным по вертикали внизу (требуется массив пакет ) |
| | вертикальная линия |
|| | двойная вертикальная линия |
* {число} {форма} | форматная форма повторяется число раз; например * {3} {| l} | равно | l | l | l | |
Для разделения ячеек и введения новых строк используйте следующие команды:
и | разделитель столбцов |
\ | начало новой строки (после \ можно указать дополнительный пробел, используя квадратные скобки, например, \ [6pt] ) |
\ hline | горизонтальная линия между рядами |
\ новая строка | начать новую строку в ячейке (в столбце абзаца) |
\ cline {i-j} | частичная горизонтальная линия, начинающаяся в столбце i и заканчивающаяся в столбце j |
Дополнительная литература
Для получения дополнительной информации см.
ECET 109 - Синтез схемы из схемы
После того, как схема введена в систему CAD, она обрабатывается
количество инструментов САПР, которые анализируют схему и создают реализацию
его для целевого чипа.В Quartus II эти инструменты контролируются
прикладной программой под названием Compiler .
Использование компилятора:
Запустите компилятор, выбрав Обработка | Начать компиляцию . По мере прохождения компиляции различные этапы, его ход отображается в окне внизу левый угол. Успешная (или неудачная) компиляция указывается в всплывающее окно.Подтвердите это, нажав ОК и изучите отчет о компиляции, изображенный на рисунке 2.17. В сводке отчета указано что для реализации эта крошечная схема на выбранной микросхеме FPGA.
Рисунок 2.17 Сводка отчета о компиляции
Отчет о компиляции содержит много информации, которая может быть интерес к дизайнеру.Например, подробная реализация в вид синтезированных логических выражений можно увидеть, выбрав Fitter | Fitter Equations в каталоге отчетов о компиляции. Обратите внимание, что уравнение, которое Quartus II использовал для реализации нашей схемы это
(Quartus II обозначает И как &, ИЛИ как #, а НЕ как!). Это не
простейшее выражение, которое можно ожидать, а именно
Но оба выражения представляют одну и ту же функцию, и поскольку логика элементы (LE) - это таблицы поиска (истинности) с четырьмя входами, называемые LUT в на выбранном чипе FPGA наша функция реализована с использованием одного LE в в любом случае.
Дополнительно : |
Quartus II отображает сообщения, созданные во время компиляции, в сообщениях.
окно.Если схема нарисована правильно, одно из сообщений будет
укажите, что компиляция прошла успешно, как показано на рис. 2.18. Если
вы используете веб-версию на своем домашнем компьютере, у вас будет 1
предупреждающее сообщение, которое можно игнорировать. Предупреждение генерируется, потому что
Оптимизация списка соединений недоступна в веб-версии программного обеспечения
Рисунок 2.18 Компиляция прошла успешно
Если вы получаете вывод в окне сообщений, который выглядит как показано на рисунке 2.19, вы должны нажать на ОК а затем выберите Обработка | Снова запустите компиляцию . Это необходимо, потому что существует проблема при получении файла лицензии с сервера. Этот проблема не возникнет, если вы используете веб-версию у себя дома компьютер.
Рисунок 2.19 Сообщение о проблеме с лицензией
Если вы работаете в лабораториях ECET, вам, возможно, придется обратиться к |
Создание условного обозначения конструкции блока
Следующее, что нам нужно сделать, это создать символ для нашей схемы, который можно будет использовать в других логических схемах.
С указанной схемой на экране и после компиляции схемы, щелкнув фон логики, затем выберите:
Файл | Создать / Обновить | Создание файлов символов для текущего использования
Вы можете видеть, что символ был помещен под Библиотеки | Project и может быть использован в других дизайнах.Вы можете увидеть вновь созданный символ блока, представленный на Рисунке 2.19.
Для работы с новым символом сначала создайте новый проект, а затем модуль символа можно добавить в редактор блок-схем.
Этот прямоугольник содержит схему и имеет ту же функциональность, что и наш первоначальный проект, показанный на рис. 2.17.
Создание символов блоков может быть очень полезным. Если вы создадите символ блока для декодера 7-сегментного дисплея, который вы разработаете в эксперименте 8, его можно будет использовать как часть вашего дизайна в эксперименте 13, чтобы ваши результаты могли отображаться на 7-сегментном дисплее.
Моделирование расчетной схемы
% PDF-1.5 % 4296 0 объект > эндобдж xref 4296 310 0000000017 00000 н. 0000007141 00000 н. 0000007325 00000 н. 0000009123 00000 н. 0000009466 00000 н. 0000009631 00000 н. 0000009796 00000 н. 0000009990 00000 н. 0000010259 00000 п. 0000010429 00000 п. 0000011150 00000 п. 0000011702 00000 п. 0000011969 00000 п. 0000012505 00000 п. 0000012980 00000 п. 0000013496 00000 п. 0000013901 00000 п. 0000014173 00000 п. 0000014276 00000 п. 0000014414 00000 п. 0000014484 00000 п. 0000016074 00000 п. 0000024662 00000 п. 0000041029 00000 п. 0000041266 00000 п. 0000041422 00000 п. 0000041584 00000 п. 0000041812 00000 п. 0000041972 00000 п. 0000042183 00000 п. 0000042375 00000 п. 0000042555 00000 п. 0000042725 00000 п. 0000042896 00000 п. 0000043123 00000 п. 0000043300 00000 п. 0000043497 00000 п. 0000043723 00000 п. 0000043910 00000 п. 0000044114 00000 п. 0000044286 00000 п. 0000044515 00000 п. 0000044669 00000 п. 0000044840 00000 п. 0000045010 00000 п. 0000045192 00000 п. 0000045362 00000 п. 0000045546 00000 п. 0000045712 00000 п. 0000045933 00000 п. 0000046116 00000 п. 0000046297 00000 п. 0000046535 00000 п. 0000046688 00000 п. 0000046889 00000 н. 0000047060 00000 п. 0000047227 00000 п. 0000047468 00000 н. 0000047712 00000 п. 0000047886 00000 п. 0000048113 00000 п. 0000048303 00000 п. 0000048477 00000 н. 0000048636 00000 н. 0000048843 00000 н. 0000049032 00000 н. 0000049205 00000 п. 0000049363 00000 п. 0000049531 00000 п. 0000049785 00000 п. 0000049953 00000 н. 0000050119 00000 п. 0000050280 00000 п. 0000050441 00000 п. 0000050606 00000 п. 0000050823 00000 п. 0000051008 00000 п. 0000051245 00000 п. 0000051455 00000 п. 0000051608 00000 п. 0000051772 00000 п. 0000051946 00000 п. 0000052116 00000 п. 0000052285 00000 п. 0000052455 00000 п. 0000052622 00000 п. 0000052790 00000 н. 0000052982 00000 п. 0000053219 00000 п. 0000053389 00000 п. 0000053555 00000 п. 0000053736 00000 п. 0000053939 00000 п. 0000054115 00000 п. 0000054311 00000 п. 0000054535 00000 п. 0000054684 00000 п. 0000054916 00000 п. 0000055050 00000 п. 0000055265 00000 п. 0000055496 00000 п. 0000055638 00000 п. 0000055894 00000 п. 0000056113 00000 п. 0000056287 00000 п. 0000056462 00000 п. 0000056630 00000 п. 0000056827 00000 н. 0000057076 00000 п. 0000057256 00000 п. 0000057423 00000 п. 0000057604 00000 п. 0000057825 00000 п. 0000057988 00000 п. 0000058214 00000 п. 0000058371 00000 п. 0000058544 00000 п. 0000058727 00000 н. 0000058917 00000 п. 0000059146 00000 п. 0000059320 00000 п. 0000059506 00000 п. 0000059692 00000 п. 0000059876 00000 п. 0000060073 00000 п. 0000060267 00000 п. 0000060446 00000 п. 0000060663 00000 п. 0000060832 00000 п. 0000061002 00000 п. 0000061165 00000 п. 0000061381 00000 п. 0000061535 00000 п. 0000061704 00000 п. 0000061884 00000 п. 0000062068 00000 п. 0000062287 00000 п. 0000062501 00000 п. 0000062707 00000 п. 0000062913 00000 п. 0000063117 00000 п. 0000063319 00000 п. 0000063514 00000 п. 0000063755 00000 п. 0000063915 00000 п. 0000064118 00000 п. 0000064296 00000 н. 0000064501 00000 п. 0000064684 00000 п. 0000064928 00000 н. 0000065139 00000 п. 0000065309 00000 п. 0000065482 00000 п. 0000065655 00000 п. 0000065831 00000 п. 0000066009 00000 п. 0000066240 00000 п. 0000066401 00000 п. 0000066567 00000 п. 0000066801 00000 п. 0000066965 00000 п. 0000067146 00000 п. 0000067333 00000 п. 0000067525 00000 п. 0000067716 00000 п. 0000067902 00000 п. 0000068150 00000 п. 0000068313 00000 п. 0000068483 00000 п. 0000068744 00000 п. 0000068964 00000 н. 0000069135 00000 п. 0000069345 00000 п. 0000069515 00000 п. 0000069754 00000 п. 0000069917 00000 п. 0000070165 00000 п. 0000070311 00000 п. 0000070481 00000 п. 0000070657 00000 п. 0000070839 00000 п. 0000071018 00000 п. 0000071199 00000 п. 0000071384 00000 п. 0000071617 00000 п. 0000071780 00000 п. 0000071959 00000 п. 0000072136 00000 п. 0000072387 00000 п. 0000072561 00000 п. 0000072760 00000 п. 0000072927 00000 н. 0000073111 00000 п. 0000073284 00000 п. 0000073473 00000 п. 0000073694 00000 п. 0000073856 00000 п. 0000074055 00000 п. 0000074282 00000 п. 0000074445 00000 п. 0000074633 00000 п. 0000074806 00000 п. 0000074967 00000 п. 0000075240 00000 п. 0000075441 00000 п. 0000075618 00000 п. 0000075819 00000 п. 0000076013 00000 п. 0000076202 00000 п. 0000076391 00000 п. 0000076569 00000 п. 0000076785 00000 п. 0000076962 00000 п. 0000077163 00000 п. 0000077357 00000 п. 0000077546 00000 п. 0000077735 00000 п. 0000077913 00000 п. 0000078128 00000 п. 0000078304 00000 п. 0000078504 00000 п. 0000078697 00000 п. 0000078885 00000 п. 0000079073 00000 п. 0000079250 00000 п. 0000079462 00000 п. 0000079620 00000 н. 0000079788 00000 п. 0000080035 00000 п. 0000080260 00000 п. 0000080433 00000 п. 0000080591 00000 п. 0000080798 00000 п. 0000081041 00000 п. 0000081194 00000 п. 0000081415 00000 п. 0000081574 00000 п. 0000081733 00000 п. 0000081995 00000 п. 0000082148 00000 п. 0000082320 00000 п. 0000082488 00000 п. 0000082696 00000 п. 0000082950 00000 п. 0000083096 00000 п. 0000083323 00000 п. 0000083468 00000 п. 0000083643 00000 п. 0000083799 00000 п. 0000084025 00000 п. 0000084184 00000 п. 0000084348 00000 п. 0000084559 00000 п. 0000084735 00000 п. 0000084939 00000 п. 0000085129 00000 п. 0000085357 00000 п. 0000085569 00000 п. 0000085734 00000 п. 0000085908 00000 п. 0000086117 00000 п. 0000086331 00000 п. 0000086527 00000 н. 0000086756 00000 п. 0000086925 00000 п. 0000087152 00000 п. 0000087326 00000 п. 0000087558 00000 п. 0000087714 00000 п. 0000087875 00000 п. 0000088082 00000 п. 0000088311 00000 п. 0000088527 00000 н. 0000088688 00000 п. 0000088848 00000 н. 0000089098 00000 н. 0000089266 00000 п. 0000089443 00000 п. 0000089712 00000 п. 0000089925 00000 н. 00000
00000 п. 00000
00000 п. 00000 00000 п. 00000
00000 п. 00000 00000 п. 00000 00000 п.
00000 00000 п.
00000 00000 п.
00000
00000 п.
00000 00000 п.
0000092050 00000 п.
0000092238 00000 п.
0000092421 00000 п.
0000092605 00000 п.
0000092796 00000 н.
0000093016 00000 п.
0000093246 00000 п.
0000093406 00000 п.