
- •1. Плис. Основные понятия, области использования.
- •2. Комбинаторные схемы.
- •3. Логические элементы и, или, не и т.Д. И схемы на их основе
- •4. Шифратор и дешифратор. Реализация на логических элементах.
- •5. Триггеры.
- •Типы триггеров rs-триггеры rs-триггер асинхронный
- •Rs-триггер синхронный
- •Rs-триггер двухступенчатый со сложной логикой
- •D-триггеры
- •D-триггер синхронный
- •6. Схемы с элементами памяти.
- •7. Синхронные и асинхронные входы триггеров.
- •11. Описание логических выражений. Реализация в виде схем и текстового описания.
- •1.3.9 Булевы выражения
- •1.3.9.1 Логические операторы
- •1.3.9.1.1 Булевы операторы, использующие not
- •1.3.9.1.2 Булевы операторы, использующие and, nand, or, nor, xor, и xnor
- •1.3.9.4 Приоритеты булевых операторов и компараторов
- •1.3.10 Логические функции
- •1.3.10.1 Мегафункции/lpm
- •1.3.10.2 Макрофункции
- •14. Реализация счетчика на языке ahdl.
- •17. Процесс создания и отладки программ для плис.
D-триггеры
D-триггеры также называют триггерами задержки(от англ. Delay).
D-триггер синхронный
Пример условного графического обозначения (УГО) D-триггера с динамическим синхронным входом С и с дополнительными асинхронными инверсными входами SиR
D |
Q(t) |
Q(t+1) |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
D-триггер в основном используется для реализации защёлки. Так, например, для снятия 32 бит информации с параллельной шины, берут 32 D-триггера и объединяют их входы синхронизации для управления записью информации в защёлку, а 32 Dвхода подсоединяют к шине.
В одноступенчатых D-триггерах во время прозрачности все изменения информации на входе D передаются на выход Q. Там, где это нежелательно, нужно применять двухступенчатые (двухтактные, Master-Slave, MS) D-триггеры.
6. Схемы с элементами памяти.
Различные схемы на основе триггеров(делители частоты, счетчики)
7. Синхронные и асинхронные входы триггеров.
11. Описание логических выражений. Реализация в виде схем и текстового описания.
1.3.9 Булевы выражения
Булевы выражения состоят из операндов, разделенных логическими и арифметическими операторами и компараторами и дополнительно сгруппированы с помощью круглых скобок. Выражения используются в булевых уравнениях также как и в других операторах таких как Case и If Then.
Булево выражение может быть одним из следующих:
1. Операнд
Например, a, b[5..1], 7, VCC
2. Подставляемая ссылка на логическую функцию
Например, out[15..0] = 16dmux(q[3..0]);
3. Префиксный оператор (! или -), применяемый к булеву выражению
Например, !c
4. Два булевых выражения, разделенных бинарным оператором
Например, d1 $ d3
5. Булево выражение, заключенное в круглые скобки
Например, (!foo & bar)
Вы можете именовать булевы операторы и компараторы в файлах AHDL для облегчения ввода присваиваний ресурсов и для интерпретации раздела Equations в файле отчета. За дополнительной информацией обратитесь к 1.2.5.2
1.3.9.1 Логические операторы
В булевых выражениях можно использовать следующие логические операторы:
Оператор: |
Пример: |
Описание: |
! |
!tob |
дополнение до 1 |
NOT |
NOT tob |
|
& |
bread & butter |
И |
AND |
bread AND butter |
|
!& |
a[3..1] !& b[5..3] |
И-НЕ |
NAND |
a[3..1] NAND b[5..3] |
|
# |
trick # treat |
ИЛИ |
OR |
trick OR treat |
|
!# |
c[8..5] !# d[7..4] |
ИЛИ-НЕ |
NOR |
c[8..5] NOR d[7..4] |
|
$ |
foo $ bar |
Исключающее ИЛИ |
XOR |
foo XOR bar |
|
!$ |
x2 !$ x4 |
Исключающее ИЛИ-НЕ |
XNOR |
x2 XNOR x4 |
|
Каждый оператор представляет двухвходовый логический вентиль, за исключением оператора NOT (!), который является префиксом инвертирования одного узла. Вы можете использовать или имя или символ для представления логического оператора.
Выражения, которые используют эти операторы, интерпретируются различно в зависимости от того, являются ли операнды одиночными узлами, шинами или числами.
Вы можете позволить компилятору заменить И операторы и все компараторы в булевых выражениях на lpm_add_sub и lpm_compare функции, включая логическую опцию Use LPM for AHDL Operators.