Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Схемотехника

..pdf
Скачиваний:
4
Добавлен:
12.11.2023
Размер:
15.39 Mб
Скачать

9.3. МОДЕЛИРОВАНИЕ ЛОГИЧЕСКОГО ЭЛЕМЕНТАДНФ-LUT

9.3.1. Моделирование блока конъюнкцийДНФ-LUT

На рис. 9.7 представлена модель одного разряда S0 блока конъюнкций. Ключи S2, S3 моделируют настройки конфигурации t1, t2. При t1 = 1 – существенная переменная неS0, при t2 = 1 – существенная переменная S0. Ключ S1 формирует значение переменной S0, которое через инверторы (Q2,3,4,5) передаётся на инвертор Q7, Q8. В данном случае существенная переменная не S0, она равна 0, соответственно, она активна и входит в конъюнкцию, которую «набирает» цепочка из передающих транзисторов типа Q12 для вычисления значения конъюнкции на инверторе Q9, Q10 в блоке конъюнкций (рис. 9.7, 9.8).

Рис. 9.7. Моделирование логического элемента ДНФ-LUT

(существенная переменная неS0)

121

Рис. 9.8. Моделирование логического элемента ДНФ-LUT

(переменная S0 = 1 не существенна)

9.3.2. Моделирование блока функций ДНФ-LUT

Выполним моделирование блока функций ДНФ-LUT. На рис. 9.9 равна 0 конъюнкция, не входящая в функцию (t2 = 0).

Выполним моделирование ситуации «все конъюнкции функции не активны (активный уровень k = 0)» (рис. 9.10).

Таким образом, использование ДНФ-LUT позволяет уменьшить сложность реализации функций большого числа переменных. Выигрыш тем больше, чем меньше конъюнкций из два в степени n используется. При этом затраты растут линейно в отличие от известного LUT. Особенно велик выигрыш при n более 7,8. Выполненное функциональное моделирование подтверждает работоспособность предлагаемого технического решения ДНФ – конфигурируемого логического элемента ДНФ-LUT для ПЛИС – FPGA. Получен патент РФ [18].

122

Рис. 9.9. Моделирование блока функций ДНФ-LUT (равна 0 конъюнкция, не входящая в функцию)

Рис. 9.10. Моделирование блока функций ДНФ-LUT (равны 0 конъюнкции, входящие в функцию)

123

10. ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ С КОНТРОЛЕМ CHLUT

LUT С РАБОЧИМ КОНТРОЛЕМ

В высоконадёжных приложениях требуются цифровые устройства с контролем выполнения операций. В обычных ПЛИС такой контроль не предусмотрен.

Предлагается для контроля активной цепочки дерева передающих транзисторов цепочка в другой половине дерева, которая не активна в данный момент [19]. Эта цепочка тем не менее почти полностью «активная», за исключением последнего, «старшего» транзистора, так для набора 0001 (старшие разряды справа – А, В, С, D) такая, своего рода, альтернативная цепочка 0000. Теперь, если подключить её к настроечному входу, соответствующему набору 0001, то перед последним транзистором можно сравнить логические уровни этих двух цепочек. Нельзя просто так «замыкать» два настроечных входа – выходы SRAM. Однако это можно сделать, отключая выходы SRAM неиспользуемой в данный момент половины дерева дополнительными группами «отключающих» транзисторов, управляемых старшей переменной. Получаем схему (рис. 10.1).

На рис. 10.1 реализован контроль выхода LUT с использованием транзисторов Тс1, Тс2: один из «старших» транзисторов дерева проверяется непосредственно, другой – на соответствующем наборе, активирующем его. На рис. 10.1 схема сложения по модулю два реализована на основе LUT с n = 2, в котором «жёстко» заданы константы 0,1 путём подключения к шине питания

(Vcc) и «ноль вольт» (Ground).

Входные инверторы (NOT) необходимы для восстановления логического уровня сигнала, прошедшего цепочку передающих транзисторов. Два других инвертора обеспечивают инверсирование переменных. С учётом того, что для реализации инверторов (NOT) необходимо дватранзистора, всего требуется 16 транзисторов.

124

Рис. 10.1. Рабочий контроль LUT путём использования второй половины дерева передающих транзисторов

МОДЕЛИРОВАНИЕ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ С КОНТРОЛЕМ CHLUT-2

Выполним моделирование ЛЭ с контролем ChLUT-2, причём схему сложения по модулю два (рис. 10.1–10.6) представим одним блоком. Введём в схему четыре отключающих настройку транзистора, которые управляются старшей переменной Х2 (не Х2), соединим стоки этих транзисторов: d3 с d1, d2 с d0 для подключения настройки активной цепочки передающих транзисторов также и в альтернативную цепочку. Проверим формирование выходного сигнала и отсутствие сигнала ошибки (Error). Выполним моделирование передачи единицы и нуля со входа 0 (рис. 10.2, 10.3).

125

Рис. 10.2. Передача единицы со входа 0

Рис. 10.3. Передача нуля со входа 0

Схема функционирует верно: формируются 0 и 1. Выполним моделирование передачи единицы и нуля со входа 1 (рис. 10.4, 10.5).

126

Рис. 10.4. Передача нуля со входа 1

Рис. 10.5. Передача единицы со входа 1

Схема функционирует верно: формируются 1 и 0. Выполним моделирование передачи единицы и нуля со входа 2 (рис. 10.6, 10.7).

127

Рис. 10.6. Передача единицы со входа 2

Рис. 10.7. Передача нуля со входа 2

Схема функционирует верно: формируются 0 и 1. Выполним моделирование передачи единицы и нуля со входа 2 (рис. 10.8, 10.9).

128

Рис. 10.8. Передача единицы со входа 3

Рис. 10.9. Передача нуля со входа 3

Схема функционирует верно: формируются 0 и 1. Выполним моделирование обрыва связи d0–d2 при передаче 1 по d2 – формируется сигнал ошибки (рис. 10.10).

Выполним моделирование обрыва связи d0–d2 при передаче 0 по d2 – сигнал ошибки не формируется (рис. 10.11)

129

Рис. 10.10. Ошибка при несравнении информации 1

Рис. 10.11. Отсутствие ошибки, хотя связи нет – обрыв эквивалентен нулю

Следовательно, обрыв будет зафиксирован только при передаче единицы. Соответственно закорачивание связи на шину «ноль вольт» или постоянно закрытый транзистор будет обнаружен при передаче единицы.

130