Программируемое логическое устройство
Владельцы патента RU 2653304:
федеральное государственное бюджетное образовательное учреждение высшего образования "Пермский национальный исследовательский политехнический университет" (RU)
Изобретение относится к вычислительной технике и может быть использовано для вычисления систем логических функций в самосинхронных схемах. Технический результат изобретения заключается в обеспечении возможности использования устройства в самосинхронных схемах, в которых необходима реализация фазы гашения помимо рабочей фазы. Технический результат достигается за счет введения двойственного блока дешифрации входного набора, входов инверсий переменных, 2n блоков двойственных конституент нуля, группы 2n элементов 2ИЛИ-НЕ, шины «Ноль вольт» и шины «+Vcc». 4 ил., 2 табл.
Изобретение относится к вычислительной технике и может быть использовано для вычисления систем логических функций в самосинхронных схемах.
Известно программируемое логическое устройство, содержащее группу n инверторов, n групп передающих транзисторов (n - число входных переменных) по 2i, i=1, n транзисторов в группе, группу 2n инверторов настройки, выходной инвертор, входы n переменных, группу 2n входов настройки, выход устройства, причем затвор каждого нечетного транзистора i-й группы передающих транзисторов i=1, n подключен к выходу i-го инвертора группы n инверторов, затвор каждого четного транзистора i-й группы передающих транзисторов подключен к i-му входу входов n переменных, истоки 2n транзисторов n-ой группы подключены к выходам инверторов группы 2n инверторов настройки, входы которых являются группой 2n входов настройки, стоки четных и нечетных транзисторов n-й группы объединены и подключены к истокам соответствующих 2n-1 транзисторов n-1-й группы, стоки которых объединены и подключены к истокам соответствующих 2n-2 транзисторов n-2-й группы, стоки двух последних транзисторов 1-й группы объединены и подключены ко входу выходного инвертора, выход которого является выходом устройства (Строганов А., Цыбин С. Программируемая коммутация в ПЛИС: взгляд изнутри // Компоненты и технологии. - 2010. - №11. С. 56-62. Рис. 9, [Электронный ресурс]. - URL: http://www.kit-e.ru/articles/plis/2010_l l_56.php 25.02.17 г.).
Недостатком известного устройства являются высокие аппаратурные затраты, выраженные в количестве транзисторов, на реализацию систем логических функций в программируемых логических интегральных схемах.
Наиболее близким устройством того же назначения к заявленному изобретению по совокупности признаков является программируемое логическое устройство, содержащее блок дешифрации входного набора, 2n блоков конституент нуля и m блоков вычисления функций, входы n переменных, m групп 2n настроечных входов, вход «ноль вольт»,
при этом блок дешифрации входного набора содержит группу n инверторов, n групп передающих транзисторов (n - число входных переменных) по транзисторов в группе, группу 2n инверторов, инвертор, причем затвор каждого нечетного транзистора i-й группы передающих транзисторов подключен к выходу i-гo инвертора группы n инверторов, затвор каждого четного транзистора i-й группы передающих транзисторов подключен к i-му входу входов n переменных, вход инвертора подключен к шине «ноль вольт»,
выход инвертора подключен к истокам двух транзисторов 1-й группы передающих транзисторов,
сток первого транзистора 1-й группы передающих транзисторов подключены к объединенным истокам первого и второго из четырех транзисторов 2-й группы передающих транзисторов,
сток второго транзистора 1-й группы передающих транзисторов подключен к объединенным истокам третьего и четвертого из четырех транзисторов 2-й группы передающих транзисторов,
сток первого транзистора 2-й группы передающих транзисторов подключен к объединенным истокам первого и второго из восьми транзисторов 3-й группы передающих транзисторов,
сток второго транзистора 2-й группы передающих транзисторов подключен к объединенным истокам третьего и четвертого из восьми транзисторов 3-й группы передающих транзисторов,
сток третьего транзистора 2-й группы передающих транзисторов подключен к объединенным истокам пятого и шестого из восьми транзисторов 3-й группы передающих транзисторов,
сток четвертого транзистора 2-й группы передающих транзисторов подключен к объединенным истокам седьмого и восьмого из восьми транзисторов 3-й группы передающих транзисторов,
транзисторы в группах 3, 4… n-2 соединены аналогично
объединенные истоки четных и нечетных передающих транзисторов из 2n-1 транзисторов n-1-й группы подключены к стокам соответствующих 2n-2 транзисторов n-2-й группы, i=1, n,
стоки транзисторов из 2n транзисторов последней, n-й группы подключены ко входам инверторов группы 2n инверторов и к выходам соответствующего из 2n блоков конституент нуля, входы которых подключены к соответствующим переменным входов n переменных или инверсий переменных с выходов соответствующих для реализации конституенты нуля инверторов группы n инверторов,
выходы инверторов группы 2n инверторов подключены к 2n входам конституент СДНФ m блоков вычисления функций,
группы 2n входов которых являются m группами настроечных входов устройства, а выходы m блоков вычисления функций являются выходами устройства,
при этом каждый блок реализации конституенты нуля содержит n передающих транзисторов и шину «ноль вольт», истоки передающих транзисторов объединены и являются выходом блока, стоки которых объединены и подключены к шине «ноль вольт», затворы транзисторов подключены к соответствующим разрядам переменных выходов переменных, либо к инверсиям переменных с выходов соответствующих инверторов группы n инверторов, так, что в j-m блоке реализации конституенты нуля формируется отрицание конституенты единицы с десятичным номером j-1,
при этом каждый j-й блок вычисления функций содержит группу 2n передающих транзисторов и инвертор, истоки передающих транзисторов подключены к выходам, соответствующим из 2n инверторов группы 2n инверторов для включения соответствующего набора в соответствующую функцию, стоки передающих транзисторов объединены и подключены ко входу инвертора, выход которого является выходом блока,
затворы передающих транзисторов подключены к соответствующим разрядам j-й группы групп настроечных входов устройства, на i-й вход которой, i=1, 2n, подается единица, если i-я конституента единицы входит в СДНФ реализуемой j-й функции и ноль - если не входит (патент РФ №2573732, опубл. 27.01.2016 г.).
Недостатком известного устройства, принятого за прототип, является невозможность его использования для вычисления систем логических функций в самосинхронных схемах (ССС). Это обусловлено следующими обстоятельствами. Технические средства прототипа ориентированы на реализацию систем логических функций в синхронных схемах и не имеют средств индикации завершения переходных процессов. Входные переменные поступают на входные инверторы, на выходе которых образуются инверсии входных сигналов. Это приводит к тому, что, даже введя двойственный канал для вычисления двойственной логической функции (путем инвертирования настроек), нет возможности реализации фазы гашения, так как спейсер (например, нулевой) не может быть создан - отсутствуют средства приведения выходов основного и двойственного каналов в одинаковое состояние.
Для реализации спейсера в фазе гашения необходимы дополнительные средства приведения выходов основного и двойственного каналов в одинаковое состояние, отсутствующие в прототипе.
Все это вызывает невозможность фиксации завершения переходного процесса, что является ключевым в самосинхронных схемах.
Задачей изобретения является обеспечение возможности индицирования завершения переходного процесса для использования устройства при реализации систем логических функций в самосинхронных схемах с парафазными переменными и нулевым спейсером.
Поставленная задача была решена за счет того, что в заявляемое устройство, содержащее блок дешифрации входного набора, 2n блоков конституент нуля и m блоков вычисления функций, входы n переменных, m групп по 2n настроечных входов,
при этом блок дешифрации входного набора содержит n групп передающих транзисторов (n - число входных переменных) по транзисторов в группе, инвертор,
причем затвор каждого четного транзистора i-й группы передающих транзисторов подключен к i-му входу входов n переменных,
выход инвертора подключен к истокам двух транзисторов 1-й группы передающих транзисторов,
сток первого транзистора 1-й группы передающих транзисторов подключен к объединенным истокам первого и второго из четырех транзисторов 2-й группы передающих транзисторов,
сток второго транзистора 1-й группы передающих транзисторов подключен к объединенным истокам третьего и четвертого из четырех транзисторов 2-й группы передающих транзисторов,
сток первого транзистора 2-й группы передающих транзисторов подключен к объединенным истокам первого и второго из восьми транзисторов 3-й группы передающих транзисторов,
сток второго транзистора 2-й группы передающих транзисторов подключен к объединенным истокам третьего и четвертого из восьми транзисторов 3-й группы передающих транзисторов,
сток третьего транзистора 2-й группы передающих транзисторов подключен к объединенным истокам пятого и шестого из восьми транзисторов 3-й группы передающих транзисторов,
сток четвертого транзистора 2-й группы передающих транзисторов подключен к объединенным истокам седьмого и восьмого из восьми транзисторов 3-й группы передающих транзисторов,
транзисторы в группах 3, 4 … n-2 соединены аналогично,
объединенные истоки четных и нечетных передающих транзисторов из 2n-1 транзисторов n-1-й группы подключены к стокам соответствующих 2n-2 транзисторов n-2-й группы, i=1, n,
стоки транзисторов из 2n транзисторов последней, n-й группы подключены ко входам соответствующих инверторов группы 2n инверторов и к выходам соответствующего из 2n блоков конституент нуля, входы которых подключены к соответствующим переменным входов n переменных,
выходы инверторов группы 2n инверторов подключены к 2n входам конституент СДНФ m блоков вычисления функций,
группы 2n входов которых являются m группами настроечных входов устройства, а выходы m блоков вычисления функций являются выходами устройства,
при этом каждый блок реализации конституенты нуля содержит n передающих транзисторов и шину «ноль вольт», истоки передающих транзисторов объединены и являются выходом блока, стоки n передающих транзисторов объединены и подключены к шине «ноль вольт»,
при этом каждый j-й блок вычисления функций j=l … m содержит группу 2n передающих транзисторов и инвертор, стоки передающих транзисторов объединены и подключены ко входу инвертора, выход которого является выходом блока, затворы транзисторов группы 2n передающих транзисторов подключены к выходам соответствующих инверторов группы 2n инверторов, а
истоки передающих транзисторов группы 2n передающих транзисторов подключены к соответствующим разрядам j-й группы из m⋅2n групп настроечных входов устройства, на i-й вход которой, i=1, 2n, подается единица, если i-я конституента единицы входит в СДНФ реализуемой j-й функции и ноль - если не входит,
дополнительно введены
двойственный блок дешифрации входного набора, входы инверсий переменных, 2n блоков двойственных конституент нуля, группа 2n элементов 2ИЛИ-НЕ, шина «Ноль вольт», шина «+Vcc»,
причем шина «Ноль вольт» подключена ко входу инвертора блока дешифрации входного набора, входы инверсий переменных подключены к затворам соответствующих нечетных транзисторов i-й группы передающих транзисторов, входы инверсий переменных подключены ко входам инверсий переменных блоков конституент нуля,
входы переменных и инверсий переменных подключены ко входам переменных и инверсий переменных двойственного блока дешифрации входного набора, первая группа 2n информационных выходов которого подключена ко второй группе входов блоков вычисления функций, а вторая группа 2n информационных выходов подключена ко входам соответствующих из 2n блоков двойственных конституент нуля,
двойственный блок дешифрации входного набора построен аналогично блоку дешифрации входного набора, шина «+Vcc» подключена ко входу инвертора двойственного блока дешифрации входного набора,
при этом в каждый блок реализации конституенты нуля введены 2n транзисторов инверсной проводимости, затворы которых подключены к соответствующим входам входов переменных, либо ко входам инверсий переменных, исток 2n-го транзистора инверсной проводимости подключен к шине «+Vcc», сток n-го транзистора инверсной проводимости подключен к истоку (2n-1)-го транзистора инверсной проводимости, сток которого подключен к истоку (2n-2)-го транзистора инверсной проводимости, остальные транзисторы инверсной проводимости подключены аналогично, сток первого транзистора инверсной проводимости подключен к объединенным истокам n передающих транзисторов блока реализации конституенты нуля,
затворы которых подключены к соответствующим разрядам переменных входов переменных, либо ко входам инверсий переменных, так, что в j-m блоке реализации конституенты нуля формируется отрицание конституенты единицы с десятичным номером j-1,
2n блоков двойственных конституент нуля построены аналогично 2n блокам конституент нуля, за исключением, того, что стоки передающих транзисторов объединены и подключены к шине «+Vcc»,
при этом каждый j-й блок вычисления функций содержит дополнительную группу 2n передающих транзисторов, дополнительный инвертор, группу 2n транзисторов инверсной проводимости и элемент 2И-НЕ, выход инвертора подключен к первому входу элемента 2И-НЕ,
затворы передающих транзисторов дополнительной группы 2n передающих транзисторов подключены к выходам двойственного блока дешифрации входного набора, соответствующим выходам 2n инверторов группы 2n инверторов двойственного блока дешифрации входного набора для включения соответствующего набора в соответствующую функцию, стоки передающих транзисторов дополнительной группы объединены и подключены ко входу дополнительного инвертора, выход которого подключен ко второму входу элемента 2И-НЕ, выход которого является выходом индикации блока, выход дополнительного инвертора является двойственным выходом устройства,
истоки передающих транзисторов подключены к соответствующим разрядам j-й группы дополнительной из m⋅2n групп настроечных входов устройства, на i-й вход которой, i=l, 2n, подается единица, если i-я конституента единицы не входит в СДНФ реализуемой j-й функции и ноль - если входит,
сток 2n-го транзистора группы 2n транзисторов инверсной проводимости подключен к истоку (2n-1)-го транзистора инверсной проводимости группы 2n транзисторов инверсной проводимости, сток которого подключен к истоку (2n-2)-го транзистора инверсной проводимости, остальные транзисторы инверсной проводимости группы 2n транзисторов инверсной проводимости подключены аналогично, сток первого транзистора инверсной проводимости группы 2n транзисторов инверсной проводимости подключен к шине «Ноль вольт».
Признаки заявляемого технического решения, отличительные от прототипа - двойственный блок дешифрации входного набора, входы инверсий переменных, 2n блоков двойственных конституент нуля, группа 2n элементов 2ИЛИ-НЕ, шина «Ноль вольт», шина «+Vcc»,
шина «Ноль вольт» подключена ко входу инвертора блока дешифрации входного набора, входы инверсий переменных подключены к затворам соответствующих нечетных транзисторов i-й группы передающих транзисторов, входы инверсий переменных подключены ко входам инверсий переменных блоков конституент нуля,
входы переменных и инверсий переменных подключены ко входам переменных и инверсий переменных двойственного блока дешифрации входного набора, первая группа 2n информационных выходов которого подключена ко второй группе входов блоков вычисления функций, а вторая группа 2n информационных выходов подключена ко входам соответствующих из 2n блоков двойственных конституент нуля,
двойственный блок дешифрации входного набора построен аналогично блоку дешифрации входного набора, шина «+Vcc» подключена ко входу инвертора двойственного блока дешифрации входного набора,
при этом в каждый блок реализации конституенты нуля введены 2-n транзисторов инверсной проводимости, затворы которых подключены к соответствующим входам входов переменных, либо ко входам инверсий переменных, исток 2n-го транзистора инверсной проводимости подключен к шине «+Vcc», сток n-го транзистора инверсной проводимости подключен к истоку (2n-1)-го транзистора инверсной проводимости, сток которого подключен к истоку (2n-2)-го транзистора инверсной проводимости, остальные транзисторы инверсной проводимости подключены аналогично, сток первого транзистора инверсной проводимости подключен к объединенным истокам n передающих транзисторов блока реализации конституенты нуля,
затворы которых подключены к соответствующим разрядам переменных входов переменных, либо ко входам инверсий переменных, так, что в j-m блоке реализации конституенты нуля формируется отрицание конституенты единицы с десятичным номером j-1,
2n блоков двойственных конституент нуля построены аналогично 2n блокам конституент нуля, за исключением того, что стоки передающих транзисторов объединены и подключены к шине «+Vcc»,
при этом каждый j-й блок вычисления функций содержит дополнительную группу 2n передающих транзисторов, дополнительный инвертор, группу 2n транзисторов инверсной проводимости и элемент 2И-НЕ, выход инвертора подключен к первому входу элемента 2И-НЕ,
затворы передающих транзисторов дополнительной группы 2n передающих транзисторов подключены к выходам двойственного блока дешифрации входного набора, соответствующим выходам 2n инверторов группы 2n инверторов двойственного блока дешифрации входного набора для включения соответствующего набора в соответствующую функцию, стоки передающих транзисторов дополнительной группы объединены и подключены ко входу дополнительного инвертора, выход которого подключен ко второму входу элемента 2И-НЕ, выход которого является выходом индикации блока, выход дополнительного инвертора является двойственным выходом устройства,
истоки передающих транзисторов подключены к соответствующим разрядам j-й группы дополнительной из m⋅2n групп настроечных входов устройства, на i-й вход которой, i=l, 2n, подается единица, если i-я конституента единицы не входит в СДНФ реализуемой j-й функции и ноль - если входит,
сток 2n-го транзистора группы 2n транзисторов инверсной проводимости подключен к истоку (2n-1)-го транзистора инверсной проводимости группы 2n транзисторов инверсной проводимости, сток которого подключен к истоку (2n-2)-го транзистора инверсной проводимости, остальные транзисторы инверсной проводимости группы 2n транзисторов инверсной проводимости подключены аналогично, сток первого транзистора инверсной проводимости группы 2n транзисторов инверсной проводимости подключен к шине «Ноль вольт».
Отличительные признаки в сочетании с известными позволяют использовать устройство в самосинхронных схемах, в которых необходима реализация фазы гашения (спейсера) помимо рабочей фазы.
Введение двойственного блока дешифрации входного набора обеспечивает реализацию m двойственных функций, что позволяет фиксировать факт окончания переходного процесса в рабочей фазе самосинхронной схемы - при формировании значений функций и значений двойственных функций, они будут инверсны.
Введение блоков реализации двойственной конституенты нуля обеспечивает в двойственном блоке дешифрации входного набора ортогональность сигналов на выходах транзисторов последней группы транзисторов 2n, так как в двойственном блоке дешифрации входного набора на их выходы передается двойственный сигнал.
Введение группы 2n элементов 2ИЛИ-НЕ позволяет осуществлять индикацию завершения переходного процесса дешифрации входного набора по информации с выходов соответствующих инверторов группы 2n инверторов в блоке дешифрации входного набора и двойственном блоке дешифрации входного набора для обеспечения двухфазного вычисления значений логических функций.
Изменение связей по сравнению с известным устройством обеспечивает возможность использования устройства в самосинхронных схемах, в которых необходима реализация фазы гашения (спейсера) помимо рабочей фазы.
На фиг. 1 изображена схема электрическая структурная программируемого логического устройства.
На фиг. 2 - схема электрическая функциональная j-го блока из 2n блоков конституент нуля, .
На фиг. 3 - схема электрическая функциональная j -го блока из 2n блоков двойственных конституент нуля, .
На фиг. 4 - схема электрическая функциональная j -го блока вычисления функций.
Программируемое логическое устройство (фиг. 1) содержит блок дешифрации входного набора 1, содержащий n групп передающих транзисторов 2 (n - число входных переменных) по транзисторов в группе, группу 2n инверторов 3, инвертор 4, входы 5 переменных 5.1, 5.3, 5.4… 5.2 n-1 и инверсий переменных 5.2, 5.4, 5.6, … 5.2 n, вход «ноль вольт» 6, 2n блоков конституент нуля 7, m блоков вычисления функций 8, выходы устройства 9, где 9.1, 9.3, … 9. m-2 - выходы m функций, 9.2, 9.4, … 9. m-1 - выходы индикации т функций, 9.3, 9.5, … 9. m - выходы двойственных функций, входы настройки 10, двойственный блок дешифрации входного набора 11, аналогичный блоку дешифрации входного набора 1, 2n блоков двойственных конституент нуля 12, вход «+Vcc» 13, группу 2n элементов 2ИЛИ-НЕ 14.1, 14.2… 14.2n, выходы который являются выходами индикации дешифрации входного набора 15.
В блоке дешифрации входного набора 1 и двойственном блоке дешифрации входного набора 11 затвор каждого четного транзистора 2 i-й группы передающих транзисторов подключен к i-му входу входов переменных 5.1, 5.3, 5.4… 5.2 n-1, , а затвор каждого нечетного транзистора 2 i-й группы передающих транзисторов подключен к j-му входу инверсий переменных 5.2, 5.4, 5.6… 5.2 n,
.
Выход инвертора 4 подключен к истокам двух транзисторов 2.1.1, 2.1.2 1-й группы передающих транзисторов 2.1.
Сток первого транзистора 2.1.1 1-й группы передающих транзисторов подключены к объединенным истокам первого 2.2.1 и второго 2.2.2 из четырех транзисторов 2-й группы передающих транзисторов 2.2.
Сток второго транзистора 2.1.2 1-й группы передающих транзисторов подключен к объединенным истокам третьего 2.2.3 и четвертого 2.2.4 из четырех транзисторов 2-й группы передающих транзисторов 2.2.
Сток первого транзистора 2.2.1 2-й группы передающих транзисторов 2.2 подключен к объединенным истокам первого 2.3.1 и второго 2.3.2 из восьми транзисторов 3-й группы передающих транзисторов 2.3.
Сток второго транзистора 2.2.2 2-й группы передающих транзисторов подключен к объединенным истокам третьего 2.3.3 и четвертого 2.3.4 из восьми транзисторов 3-й группы передающих транзисторов 2.3.
Сток третьего транзистора 2.2.3 2-й группы передающих транзисторов подключен к объединенным истокам пятого 2.3.5 и шестого 2.3.6 из восьми транзисторов 3-й группы передающих транзисторов 2.3.
Сток четвертого транзистора 2.2.4 2-й группы передающих транзисторов подключен к объединенным истокам седьмого 2.3.7 и восьмого 2.3.8 из восьми транзисторов 3-й группы передающих транзисторов 2.3.
Транзисторы в группах 3, 4… n-2 соединены аналогично. Объединенные истоки четных и нечетных передающих транзисторов из 2n-1 транзисторов n-1й группы подключены к стокам соответствующих 2n-2 транзисторов n-2й группы, i=1, n.
В блоке дешифрации входного набора 1 стоки транзисторов из 2n транзисторов последней, n-й группы 2.n подключены ко входам соответствующих инверторов 3 группы 2n инверторов и к выходам соответствующего из 2n блоков конституент нуля 7, входы которых подключены к соответствующим переменным входов n переменных 5.1, 5.3, 5.4… 5.2 n-1, и n инверсий переменных 5.2, 5.4, 5.6… 5.2 n,
.
В двойственном блоке дешифрации входного набора 11 стоки транзисторов из 2n транзисторов последней, n-ой группы 2.n подключены ко входам соответствующих инверторов 3 группы 2n инверторов и к выходам соответствующего из 2n блоков двойственных конституент нуля 12, входы которых подключены к соответствующим переменным входов n переменных 5.1, 5.3, 5.4… 5.2 n-1, и n инверсий переменных 5.2, 5.4, 5.6...5.2 n,
.
Выходы инверторов группы 2n инверторов 3 в блоке дешифрации входного набора 1 подключены к 2n входам конституент СДНФ m блоков вычисления функций 8.1-8.m, к другим 2n входам конституент СДНФ подключены выходы инверторов 3 двойственного блока дешифрации входного набора 11.
Вход инвертора 4 двойственного блока дешифрации входного набора 11 подключен ко входу «+Vcc» 13.
Каждый блок реализации конституенты нуля 7 (фиг. 2) содержит шину «+Vcc» 16, 2n транзисторов инверсной проводимости 17, шину «ноль вольт» 18, n передающих транзисторов 19.
Стоки передающих транзисторов 19 объединены и являются выходом блока, истоки которых объединены и подключены к шине «ноль вольт» 18.
Затворы нечетных из 2n транзисторов инверсной проводимости 17 подключены к соответствующим входам n входам переменных 5.1, 5.3, 5.4… 5.2 n-1, затворы четных из 2n транзисторов инверсной проводимости 17 подключены ко входам инверсий переменных 5.2, 5.4, 5.6...5.2 n.
Исток n-го транзистора инверсной проводимости 17.2n подключен к шине «+Vcc» 16.
Сток 2n-го транзистора инверсной проводимости 17.2n подключен к истоку (n-l)-гo транзистора инверсной проводимости 17.2n-1, сток которого подключен к истоку (2n-2)-го транзистора инверсной проводимости 17.2n-2, остальные транзисторы инверсной проводимости 17 подключены аналогично. Сток первого транзистора инверсной проводимости 17.1 подключен к объединенным истокам n передающих транзисторов 19 блока реализации конституенты нуля 7.
Затворы n передающих транзисторов 19 подключены к соответствующим разрядам переменных входов переменных5.1, 5.3, 5.4… 5.2 n-1, либо ко входам инверсий переменных 5.2, 5.4, 5.6… 5.2 n, так, что в j-m блоке реализации конституенты нуля 7.j формируется отрицание конституенты единицы с десятичным номером j-1.
Каждый блок реализации двойственной конституенты нуля 12 (фиг. 3) содержит первую шину «+Vcc» 20, 2n транзисторов инверсной проводимости 21, вторую шину «+Vcc» 22, n передающих транзисторов 23.
Стоки n передающих транзисторов 23 объединены и являются выходом блока 12. Истоки передающих транзисторов 23 объединены и подключены к шине «+Vcc» 22.
Затворы нечетных из 2n транзисторов инверсной проводимости 21 подключены к соответствующим входам n входам переменных 5.1, 5.3, 5.4...5.2 n-1, затворы четных из 2n транзисторов инверсной проводимости 21 подключены ко входам инверсий переменных 5.2, 5.4, 5.6...5.2 n.
Исток 2n-го транзистора инверсной проводимости 21.n подключен к шине «+Vcc» 20.
Сток 2n-го транзистора инверсной проводимости 21.2n подключен к истоку (2n-1)-го транзистора инверсной проводимости 21.2n-1, сток которого подключен к истоку (2n-2)-го транзистора инверсной проводимости 21.2n-2, остальные транзисторы инверсной проводимости 21 подключены аналогично. Сток первого транзистора инверсной проводимости 21.1 подключен к объединенным стокам n передающих транзисторов 23 блока реализации двойственной конституенты нуля 12.
Затворы n передающих транзисторов 23 подключены к соответствующим разрядам переменных входов переменных 5.1, 5.3, 5.4… 5.2 n-1, либо ко входам инверсий переменных 5.2, 5.4, 5.6… 5.2 n, так, что в j-m блоке реализации двойственной конституенты нуля 12.j формируется отрицание конституенты единицы с десятичным номером j-1.
Каждый j-й блок вычисления функций 8 (фиг. 4) содержит группу 2n передающих транзисторов 24 и инвертор 25, дополнительный инвертор 26, группу 2n транзисторов инверсной проводимости 27, элемент 2И-НЕ 28, группу 2n передающих транзисторов инверсной проводимости 29, шину «Ноль вольт» 30.
В j-м блоке вычисления функций 8 затворы передающих транзисторов 24 подключены к выходам блока дешифрации входного набора 1, соответствующим выходам 2n инверторов группы 2n инверторов 3 блока дешифрации входного набора 1 для включения соответствующего набора в соответствующую функцию.
Стоки передающих транзисторов 24 объединены и подключены ко входу инвертора 25, выход которого является выходом функции 9.j блока 8. Выход инвертора 25 подключен к первому входу элемента 2И-НЕ 28.
Истоки передающих транзисторов 24 подключены к соответствующим разрядам j-й группы из m⋅2n групп настроечных входов 10 устройства, на i-й вход которых, i=1, 2n, подается единица, если i-я конституента единицы входит в СДНФ реализуемой j-й функции и ноль - если не входит.
Затворы передающих транзисторов дополнительной группы 29 подключены к выходам двойственного блока дешифрации входного набора 11, соответствующим выходам 2n инверторов группы 2n инверторов 3 двойственного блока дешифрации входного набора 11 для включения соответствующего набора в соответствующую функцию.
Стоки передающих транзисторов дополнительной группы 29 объединены и подключены ко входу дополнительного инвертора 26, выход дополнительного инвертора 26 является выходом двойственной функции 9.j+2 блока 8j. Выход инвертора 26 подключен к первому входу элемента 2И-НЕ 28, выход которого является выходом индикации 9.j+1 блока 8j.
Сток 2n-го транзистора инверсной проводимости 27.2n подключен к истоку (2n-1)-го транзистора инверсной проводимости 27.2n-1, сток которого подключен к истоку (2n-2)-го транзистора инверсной проводимости 27.n-2, остальные транзисторы инверсной проводимости 27 подключены аналогично. Сток первого транзистора инверсной проводимости 27.1 подключен к шине «Ноль вольт» 30.
Истоки передающих транзисторов дополнительной группы 29 подключены к соответствующим разрядам j-й группы дополнительной из m⋅2n групп настроечных входов 10 устройства, на i-й вход которой, i=l, 2n, подается единица, если i-я конституента единицы не входит в СДНФ реализуемой j-й функции и ноль - если входит.
Программируемое логическое устройство работает в следующих режимах:
1) Программирования;
2) Двухфазного вычисления логической функции.
1.Режим программирования. В этом режиме на m групп 2n настроечных входов 10 устанавливаются сигналы настройки m логических функций, зависящих не более чем от n переменных.
Если i-я конституента входит в j-ю логическую функцию, то на входе 10.j. i i-й группы 10.j из m групп 2n+1 настроечных входов 10 устанавливается единица и ноль - в противном случае. Таким образом программируются все необходимые m блоков вычисления функций 8 путем активации истоков соответствующих транзисторов 24.
В то же время, для настройки дополнительной группы передающих транзисторов 29 - если i-я конституента входит в j-ю логическую функцию, то на входе 10.j. i i-й группы 10.j из m групп 2n+1 настроечных входов 10 устанавливается ноль и единица - в противном случае.
Таким образом программируются все необходимые m блоков вычисления функций 8 путем настройки истоков соответствующих транзисторов 29.
Это необходимо для реализации на выходе дополнительного инвертора 26 двойственной логической функции.
Пример. Пусть, например, необходимо реализовать следующую систему из семи логических функций, зависящих от четырех переменных y2, y1, x2, х1:
В предлагаемом устройстве настраиваются семь блоков вычисления функций 8.1-8.7 по входам настройки 10.1.1-10.1.16 в соответствии с таблицей 1:
Настройка блоков вычисления функций 8.1-8.7 по входам настройки 10.1.17-10.1.32 осуществляется в соответствии с таблицей 2:
2) Двухфазное вычисление логической функции.
Двухфазное вычисление логической функции обеспечивает фиксацию завершения переходного процесса, что позволяет с использованием дополнительных средств, внешних по отношению к устройству реализовать самосинхронную обработку информации.
2.1. Фаза гашения.
В фазе гашения с помощью внешних по отношению к устройству средств на n входах переменных 5.1, 5.3, 5.4…5.2 n-1, и n инверсий переменных 5.2, 5.4, 5.6...5.2 n,
устанавливаются логические нули (спейсер).
Это приводит к тому, что в блоке дешифрации входного набора 1 и в двойственном блоке дешифрации входного набора 11 становятся неактивными затворы всех транзисторов n групп передающих транзисторов 2. Также неактивны затворы всех транзисторов 19 в блоках реализации конституент нуля 7 и всех транзисторов 23 в двойственных блоках реализации конституенты нуля 12.
В то же время активируются затворы всех транзисторов групп 2n транзисторов инверсной проводимости 17 в блоках реализации конституент нуля 7 и 21 в двойственных блоках реализации конституенты нуля 12. Вследствие этого на выходы блоков реализации конституент нуля 7 передается логическая единица со входа «+Vcc» 16 и логическая единица со входа «+Vcc» 20 в двойственных блоках реализации конституенты нуля 12.
Это приводит к тому, что логические единицы со входов «+Vcc» 16 и со входов «+Vcc» 20 во всех блоках реализации конституент нуля 7 и во всех двойственных блоках реализации конституенты нуля 12 подаются на входы всех инверторов 3 группы 2n инверторов в блоке дешифрации входного набора 1 и в двойственном блоке дешифрации входного набора 11, в связи с чем выходы всех инверторов 3 группы 2n инверторов переходят в состояние логического нуля и на входы всех элементов 2ИЛИ-НЕ группы 14 подаются логические нули, а выходы всех элементов 2ИЛИ-НЕ группы 14 переходят в состояние логической единицы, что воспринимается внешним по отношению к устройству оборудованием как сигнал завершения фазы гашения (спейсера) в блоке дешифрации входного набора 1 и в двойственном блоке дешифрации входного набора 11.
В каждом j-м блоке вычисления функций 8 в связи с тем, что выходы всех инверторов 3 группы 2n инверторов переходят в состояние логического нуля затворы всех транзисторов в группе 2n передающих транзисторов 24 становятся неактивны. В то же время активируются затворы всех транзисторов в группе 2n транзисторов инверсной проводимости 27 и в группе 2n передающих транзисторов инверсной проводимости 29.
Логический ноль с шины «Ноль вольт» 30 подается на вход инвертора 25 и на выход 9j. На вход инвертора 26 через транзисторы инверсной проводимости 29, все затворы которых активированы передается логический ноль с хотя бы одного из настроечных входов , в связи с чем выход инвертора 26 и выход 9j+2 переходят в состояние логической единицы.
Логические единицы на выходах инверторов 25 и 26 вызывают переход выхода элемента 2И-НЕ 28 и выхода 9j+l в состояние логического нуля, что воспринимается внешним по отношению к устройству оборудованием как сигнал завершения фазы гашения (спейсера) в блоках вычисления функций 8.
2.2. Рабочая фаза.
Получив сигнал завершения фазы гашения по выходам индикации дешифрации входного набора 15.1.15.2…15.2n (логическая единица), выходам индикации m функций 9.2, 9.4… 9. m-1 (логический ноль),
внешние по отношению к устройству технические средства устанавливают на n входах переменных 5.1, 5.3, 5.4…5.2 n-1 и n входах инверсий переменных 5.2, 5.4, 5.6…5.2 n
так называемый парафазный вектор, когда в отличие от прототипа имеется и сигнал, и его инверсия.
При этом цепочки транзисторов групп 2n транзисторов инверсной проводимости 17, 21, 27 разрываются, так как в каждой паре 2n транзисторов инверсной проводимости 17, 21, 27 активен затвор только одного транзистора. Это создает условия для вычисления логических функций. В n группах передающих транзисторов 2 блока дешифрации входного набора 1 и двойственного блока дешифрации входного набора 11 в зависимости от входного набора, заданного парафазным вектором 5 реализуется один из 2n путей с выхода инвертора 4 на вход соответствующего инвертора в группе 2n инверторов 3. При этом в блоке дешифрации входного набора 1 на вход этого инвертора поступает логическая единица, так как вход инвертора 4 подключен ко входу «Ноль вольт» 6, а в двойственном блоке дешифрации входного набора 11 - логический ноль, так как вход инвертора 4 в двойственном блоке дешифрации входного набора 11 подключен ко входу «+Vcc» 13. Этим обеспечивается инверсное значение выходов инверторов 3 в блоке дешифрации входного набора 1 и в двойственном блоке дешифрации входного набора 11 для фиксации завершения рабочей фазы по выходам индикации дешифрации входного набора 15.1.15.2… 15.2n (логический ноль); выходам индикации m функций 9.2, 9.4… 9. m-1 (логическая единица).
При этом в блоке реализации конституенты нуля 7, соответствующем заданному входному набору (одному из 2n), затворы передающих транзисторов 19 неактивны и цепь со входа «Ноль вольт» 18 на выход блока реализации конституенты нуля 7 разорвана. Во всех остальных 2n-1 блоках реализации конституенты нуля 7 один из затворов передающих транзисторов 19 активен и цепь с шины «Ноль вольт» 18 на выход блока реализации конституенты нуля 7 замкнута, обеспечивая на входах соответствующих инверторов 3 сигнал логического нуля, что приводит к формированию логической единицы на их выходах.
В блоке реализации двойственной конституенты нуля 12, соответствующем заданному входному набору (одному из 2n), затворы передающих транзисторов также 23 неактивны и цепь со второй шины «+Vcc» 22 на выход этого блока реализации двойственной конституенты нуля 12 разорвана. Во всех остальных 2n-1 блоках реализации двойственной конституенты нуля 12 один из затворов передающих транзисторов 23 активен и цепь со второй шины «+Vcc» 22 на выход блока реализации двойственной конституенты нуля 12 замкнута, обеспечивая на входах соответствующих инверторов 3 в двойственного блока дешифрации входного набора 11 сигнал логического нуля, что приводит к формированию логической единицы на их выходах. Это обеспечивает инверсное значение выходов остальных 2n-1 инверторов 3 в блоке дешифрации входного набора 1 и в двойственном блоке дешифрации входного набора 11 для фиксации завершения рабочей фазы по выходам индикации дешифрации входного набора 15.1.15.2...15.2n (логический ноль); выходам индикации m функций 9.2, 9.4… 9. m-1 (логическая единица).
В блоках вычисления функций 8 по результатам работы блока дешифрации входного набора 1 и двойственного блока дешифрации входного набора 11 активируется затвор j-ro транзистора в группе 2n передающих транзисторов 24 и затвор j-гo транзистора в группе 2n передающих транзисторов инверсной проводимости 29, соответствующие одному из 2n инверторов 3 (j-му) в блоке дешифрации входного набора 1 и двойственном блоке дешифрации входного набора 11 на данном (j-м) входном наборе переменных 5.
Это приводит к передаче j-гo настроечного сигнала через соответствующий транзистор группы 24 с соответствующего входов настройки 10.j на вход инвертора 25 (логическая единица, если данная конституента входит в данную функцию и логический ноль, если не входит) и соответствующий транзистор группы 29 с соответствующего входов настройки 10.2nj на вход инвертора 26 (логический ноль, если данная конституента входит в данную функцию и логическая единица, если не входит).
Вследствие этого на выходах 9.j и 9.j+2 формируются различные сигналы: 9.j=0; 9.j+2=l, если функция равна 1 и 9.j=l; 9.j+2=0, если функция не равна 1.
При этом выход 9.j+1=1, что сигнализирует о завершении рабочей фазы по этой m-й функции.
Внешнее оборудование анализирует сигналы 15 и 9.j+1 и по завершении переходных процессов в рабочей фазе инициирует очередную фазу гашения (спейсера), после которой устанавливается новый набор значений переменных и очередная рабочая фаза.
При необходимости возможна перенастройка устройства для вычисления других логических функций и т.д.
Устройство также может работать без фазы гашения, в синхронных схемах. При этом синхронизируется подача входного вектора входы 5, например, путем записи входного вектора по синхроимпульсу на внешний по отношению к устройству регистр (триггеры), а результаты вычислений на выходах 9 записываются по другому синхроимпульсу на другой внешний по отношению к устройству регистр (триггеры). Результаты на выходах 9 могут быть оценены внешними по отношению к устройству средствами с целью контроля функционирования устройства.
Таким образом, в отличие от прототипа, устройство может быть использовано в самосинхронных схемах, работа которых, после настройки на требуемую логическую функцию, состоит из фазы гашения и рабочей фазы.
Такая работа в составе самосинхронных схем характеризуется большим быстродействием, чем у синхронных схем, так как они работают по реальным задержкам сигналов, и возможностью работы на сверхнизких напряжениях питания, что позволяет использовать устройство в энергоэффективных приложениях.
Программируемое логическое устройство, содержащее блок дешифрации входного набора, 2n блоков конституент нуля и m блоков вычисления функций, входы n переменных, m групп по 2n настроечных входов,
при этом блок дешифрации входного набора содержит n групп передающих транзисторов (n - число входных переменных) по 2i, транзисторов в группе, инвертор,
причем затвор каждого четного транзистора i-й группы передающих транзисторов подключен к i-му входу входов n переменных,
выход инвертора подключен к истокам двух транзисторов 1-й группы передающих транзисторов,
сток первого транзистора 1-й группы передающих транзисторов подключены к объединенным истокам первого и второго из четырех транзисторов 2-й группы передающих транзисторов,
сток второго транзистора 1-й группы передающих транзисторов подключен к объединенным истокам третьего и четвертого из четырех транзисторов 2-й группы передающих транзисторов,
сток первого транзистора 2-й группы передающих транзисторов подключен к объединенным истокам первого и второго из восьми транзисторов 3-й группы передающих транзисторов,
сток второго транзистора 2-й группы передающих транзисторов подключен к объединенным истокам третьего и четвертого из восьми транзисторов 3-й группы передающих транзисторов,
сток третьего транзистора 2-й группы передающих транзисторов подключен к объединенным истокам пятого и шестого из восьми транзисторов 3-й группы передающих транзисторов,
сток четвертого транзистора 2-й группы передающих транзисторов подключен к объединенным истокам седьмого и восьмого из восьми транзисторов 3-й группы передающих транзисторов,
транзисторы в группах 3, 4 … n-2 соединены аналогично,
объединенные истоки четных и нечетных передающих транзисторов из 2n-1 транзисторов n-1-й группы подключены к стокам соответствующих 2n-2 транзисторов n-2-й группы, i=1, n,
стоки транзисторов из 2n транзисторов последней, n-й группы подключены ко входам соответствующих инверторов группы 2n инверторов и к выходам соответствующего из 2n блоков конституент нуля, входы которых подключены к соответствующим переменным входов n переменных,
выходы инверторов группы 2n инверторов подключены к 2n входам конституент СДНФ m блоков вычисления функций,
группы 2n входов которых являются m группами настроечных входов устройства, а выходы m блоков вычисления функций являются выходами устройства,
при этом каждый блок реализации конституенты нуля содержит n передающих транзисторов и шину «ноль вольт», истоки передающих транзисторов объединены и являются выходом блока, стоки n передающих транзисторов объединены и подключены к шине «ноль вольт»,
при этом каждый j-й блок вычисления функций j=1…m, содержит группу 2n передающих транзисторов и инвертор, стоки передающих транзисторов объединены и подключены ко входу инвертора, выход которого является выходом блока, затворы транзисторов группы 2n передающих транзисторов подключены к выходам соответствующих инверторов группы 2n инверторов, а
истоки передающих транзисторов группы 2n передающих транзисторов подключены к соответствующим разрядам j-ой группы из m⋅2n групп настроечных входов устройства, на i-й вход которой, i=1, 2n, подается единица, если i-я конституента единицы входит в СДНФ реализуемой j-й функции и ноль - если не входит,
отличающееся тем, что в него дополнительно введены двойственный блок дешифрации входного набора, входы инверсий переменных, 2n блоков двойственных конституент нуля, группа 2n элементов 2ИЛИ-НЕ, шина «Ноль вольт», шина «+Vcc»,
причем шина «Ноль вольт» подключена ко входу инвертора блока дешифрации входного набора, входы инверсий переменных подключены к затворам соответствующих нечетных транзисторов i-й группы передающих транзисторов, входы инверсий переменных подключены ко входам инверсий переменных блоков конституент нуля,
входы переменных и инверсий переменных подключены ко входам переменных и инверсий переменных двойственного блока дешифрации входного набора, первая группа 2n информационных выходов которого подключена ко второй группе входов блоков вычисления функций, а вторая группа 2n информационных выходов подключена ко входам соответствующих из 2n блоков двойственных конституент нуля,
двойственный блок дешифрации входного набора построен аналогично блоку дешифрации входного набора, шина «+Vcc» подключена ко входу инвертора двойственного блока дешифрации входного набора,
при этом в каждый блок реализации конституенты нуля введены 2 n транзисторов инверсной проводимости, затворы которых подключены к соответствующим входам входов переменных, либо ко входам инверсий переменных, исток 2n-го транзистора инверсной проводимости подключен к шине «+Vcc», сток n-го транзистора инверсной проводимости подключен к истоку (2n-1)-го транзистора инверсной проводимости, сток которого подключен к истоку (2n-2)-го транзистора инверсной проводимости, остальные транзисторы инверсной проводимости подключены аналогично, сток первого транзистора инверсной проводимости подключен к объединенным истокам n передающих транзисторов блока реализации конституенты нуля,
затворы которых подключены к соответствующим разрядам переменных входов переменных, либо ко входам инверсий переменных, так, что в j-m блоке реализации конституенты нуля формируется отрицание конституенты единицы с десятичным номером j-1,
2n блоков двойственных конституент нуля построены аналогично 2n блокам конституент нуля, за исключением, того, что стоки передающих транзисторов объединены и подключены к шине «+Vcc»,
при этом каждый j-й блок вычисления функций содержит дополнительную группу 2n передающих транзисторов, дополнительный инвертор, группу 2n транзисторов инверсной проводимости и элемент 2И-НЕ, выход инвертора подключен к первому входу элемента 2И-НЕ,
затворы передающих транзисторов дополнительной группы 2n передающих транзисторов подключены к выходам двойственного блока дешифрации входного набора, соответствующим выходам 2n инверторов группы 2n инверторов двойственного блока дешифрации входного набора для включения соответствующего набора в соответствующую функцию, стоки передающих транзисторов дополнительной группы объединены и подключены ко входу дополнительного инвертора, выход которого подключен ко второму входу элемента 2И-НЕ, выход которого является выходом индикации блока, выход дополнительного инвертора является двойственным выходом устройства,
истоки передающих транзисторов подключены к соответствующим разрядам j-й группы дополнительной из m⋅2n групп настроечных входов устройства, на i-й вход которой, i=1, 2n, подается единица, если i-я конституента единицы не входит в СДНФ реализуемой j-й функции, и ноль - если входит,
сток 2n-го транзистора группы 2n транзисторов инверсной проводимости подключен к истоку (2n-1)-го транзистора инверсной проводимости группы 2n транзисторов инверсной проводимости, сток которого подключен к истоку (2n-2)-го транзистора инверсной проводимости, остальные транзисторы инверсной проводимости группы 2n транзисторов инверсной проводимости подключены аналогично, сток первого транзистора инверсной проводимости группы 2n транзисторов инверсной проводимости подключен к шине «Ноль вольт».