программируемое логическое устройство

Классы МПК:G06F7/57 арифметико-логические устройства (ALU), те оборудование или устройства для выполнения двух или более операций, относящихся к группам  7/483
Автор(ы):, , , ,
Патентообладатель(и):Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Пермский национальный исследовательский политехнический университет" (RU)
Приоритеты:
подача заявки:
2012-04-26
публикация патента:

Изобретение относится к вычислительной технике и может быть использовано для вычисления логических функций в отказоустойчивой аппаратуре. Техническим результатом является сокращение аппаратных затрат при реализации систем логических функций большого количества переменных. Устройство содержит группы D-триггеров, блоки вычисления функций, счетчик, дешифратор, блоки конъюнкций, блоки значений конъюнкций, при этом блоки вычисления функций, блоки конъюнкций, блоки значений конъюнкций реализованы на базе логических элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 . 4 ил., 8 табл. программируемое логическое устройство, патент № 2503993

программируемое логическое устройство, патент № 2503993 программируемое логическое устройство, патент № 2503993 программируемое логическое устройство, патент № 2503993 программируемое логическое устройство, патент № 2503993

Формула изобретения

Программируемое логическое устройство, содержащее первую, вторую и третью группы D-триггеров количеством n, где n - разрядность вычисляемых логических функций, группу m блоков вычисления функций, где m - число вычисляемых логических функций, счетчик, дешифратор, причем информационные входы D-триггеров из групп D-триггеров подключены к соответствующим разрядам входов данных, входы сброса всех D-триггеров всех групп D-триггеров и вход сброса счетчика объединены и подключены ко входу сброса устройства, выход счетчика подключен ко входу дешифратора, первый выход дешифратора подключен ко входам синхронизации D-триггеров первой группы D-триггеров, второй выход дешифратора подключен ко входам синхронизации D-триггеров второй группы D-триггеров, третий выход дешифратора подключен ко входам синхронизации D-триггеров третьей группы D-триггеров, выходы группы m блоков вычисления функций являются выходами устройства, каждый блок вычисления функций содержит k групп n-1 элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , где k=intlog2(n),(n=2k), в первой группе n/2 элементов, в каждой группе элементов в два раза меньше, чем в предыдущей, в последней - один элемент, то есть имеется "пирамидальное" соединение элементов, причем выходы нечетных элементов нечетных групп подключены к первым входам соответствующих элементов следующей четной группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , двум элементам нечетной группы соответствует один элемент четной группы, выходы четных элементов первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к четвертым входам следующей четной группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , отличающееся тем, что дополнительно введены k-1 групп первых D-триггеров количеством n, где n - разрядность вычисляемых логических функций, k - число вычисляемых конъюнкций в системе из m функций, k-1 групп вторых D-триггеров количеством n, k-1 групп третьих D-триггеров количеством n, группа k блоков конъюнкций, группа k блоков значений конъюнкций, причем информационные входы D-триггеров k-1 групп первых D триггеров, вторых D триггеров, третьих D-триггеров подключены к соответствующим разрядам входов данных, входы сброса D-триггеров k-1 групп первых D триггеров, вторых D триггеров, третьих объединены и подключены ко входу сброса устройства, входы синхронизации D-триггеров k-1 групп первых D-триггеров подключены к соответствующим k-1 выходам дешифратора для k-1 групп первых D триггеров, входы синхронизации D-триггеров k-1 групп вторых D-триггеров подключены к соответствующим k-1 выходам дешифратора для k-1 групп вторых D триггеров, входы синхронизации D-триггеров k-1 групп третьих D-триггеров подключены к соответствующим k-1 выходам дешифратора для k-1 групп третьих D триггеров, выходы группы первых D-триггеров подключены к первой группе входов первого блока конъюнкций, выходы группы вторых D-триггеров подключены ко второй группе входов первого блока конъюнкций, третьи группы входов всех блоков конъюнкций подключены ко входу переменных устройства, выходы k-1 групп первых D-триггеров подключены к первым группам входов соответствующих k-1 блоков конъюнкций, выходы k-1 групп вторых D-триггеров подключены ко вторым группам входов соответствующих k-1 блоков конъюнкций, выходы блоков конъюнкций подключены ко входам соответствующих блоков значений конъюнкций, выходы блоков значений конъюнкций подключены к соответствующим входам конъюнкций каждого блока вычисления функций, выходы k-1 групп третьих D-триггеров подключены к соответствующим входам блоков значений функций, причем нечетные входы первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к соответствующим входам первой группы входов блока вычисления функций, четные входы первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к соответствующим входам второй группы входов блока вычисления функций, выходы нечетных элементов нечетных групп элементов 22·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к третьим входам соответствующих элементов второй группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , выходы четных элементов первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены ко вторым входам второй группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , выходы предпоследней группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , содержат два элемента 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , и выход первого элемента предпоследней группы подключен к первому и второму входам единственного элемента последней группы, а выход второго элемента предпоследней группы подключен к третьему и четвертому входам единственного элемента последней группы, выход которого является выходом блока вычисления функций, при этом каждый i-й блок конъюнкций содержит n групп значений разрядов, каждый из которых содержит 6 элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , причем входы первых трех элементов объединены, вход первого элемента подключен к соответствующему i-му входу третьей группы входов блока конъюнкций и к первым двум входам четвертого элемента, вход второго элемента подключен к соответствующему i-му входу первой группы входов блока конъюнкций и к третьему и четвертому входам четвертого элемента, вход третьего элемента подключен к соответствующему i-му входу второй группы входов блока конъюнкций и ко второму входу шестого элемента, выход которого является i-м выходом i-го блок а конъюнкций, выход первого элемента подключен к первому и третьему входам пятого элемента, выход второго элемента подключен ко второму и четвертому входам пятого элемента, выход третьего элемента подключен к третьему входу шестого элемента, выход четвертого элемента подключен к первому входу шестого элемента, а выход пятого элемента подключен к четвертому входу шестого элемента, третья группа входов каждого блока конъюнкций является входами переменных устройства, при этом каждый i-й блок значений конъюнкций содержит k групп n-1 элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , где k=intlog2(n),(n=2k), то есть имеется "пирамидальное" соединение элементов, и дополнительный элемент, причем первый и второй входы первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к соответствующим нечетным входам блока значений конъюнкций, третий и четвертый входы первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к соответствующим нечетным входам блока значений конъюнкций, выходы нечетных элементов первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к нечетным входам второй группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , выходы четных элементов нечетной группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к четным входам четной группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , выходы предпоследней группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , содержат два элемента 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , и выход первого элемента предпоследней группы подключен к первому и второму входам единственного элемента последней группы, а выход второго элемента предпоследней группы подключен к третьему и четвертому входам единственного элемента последней группы, выход которого подключен ко всем входам дополнительного элемента, выход которого является выходом блока значений конъюнкций.

Описание изобретения к патенту

Изобретение относится к вычислительной технике и может быть использовано для вычисления логических функций в отказоустойчивой аппаратуре.

Известно программируемое логическое устройство, содержащее g n-входовых элементов И (n - количество информационных входов устройства, 2программируемое логическое устройство, патент № 2503993 gпрограммируемое логическое устройство, патент № 2503993 2n), t элементов ИЛИ (t - количество информационных выходов устройства), первую, вторую и третью группы D-триггеров, первую группу элементов И с тремя состояниями выхода, группу элементов И-НЕ с тремя состояниями выхода, g·t двухвходовых элементов И, счетчик и дешифратор, первый, второй и третий RS-триггеры, дополнительный элемент ИЛИ и вторую группу элементов И с тремя состояниями выхода (авт.св. СССР № 1444892, кл. G11C 17/00, G06F 7/00, 1988 г.).

Недостатками известного устройства являются низкое быстродействие вычисления логических функций при наличии отказов и высокие аппаратурные затраты на реализацию систем логических функций вследствие использования стандартных логических базисов.

Наиболее близким устройством того же назначения к заявленному изобретению по совокупности признаков является программируемое логическое устройство, содержащее первую, вторую и третью группы D-триггеров количеством по m·2 n (n - число входных переменных, m - число выходных функций), третью группу D-триггеров количеством 2(n-1)m, группу m(n-1) элементов И, счетчик, группу m·2n элементов И с тремя состояниями на выходе, дешифратор, группу m(n-1) элементов ИЛИ, вторая группа m·2n элементов И с тремя состояниями на выходе и m блоков вычисления функций, причем входом сброса D-триггеров первой, второй и третьей групп счетчика является вход сброса устройства, счетный вход счетчика является входом программирования устройства, а информационные выходы счетчика подключены к информационным входам дешифратора, неинверсные выходы D-триггеров второй группы подключены к управляющим входам соответствующих элементов И с тремя состояниями на выходе группы m·2 n элементов И с тремя состояниями на выходе, неинверсные выходы D-триггеров третьей группы подключены ко вторым входам соответствующих элементов И группы m·2n элементов И, управляющие входы элементов второй группы m·2n элементов И с тремя состояниями на выходе подключены к инверсным выходам соответствующих D-триггеров второй группы D-триггеров, а информационные входы элементов второй группы m·2n элементов И с тремя состояниями на выходе являются соответствующими входами расширения соответствующей группы из m групп входов расширения, выходы элементов И с тремя состояниями на выходе объединены и подключены ко входам настройки соответствующего из m блоков вычисления функций, первый выход дешифратора подключен ко входам синхронизации D-триггеров первой группы, второй выход дешифратора подключен ко входам синхронизации D-триггеров второй группы, третий выход дешифратора подключен ко входам синхронизации D-триггеров третьей группы, четвертый выход дешифратора является выходом окончания программирования устройства, информационные входы D-триггеров первой и второй группы являются соответствующими входами расширения соответствующей из m групп входов расширения, информационные входы D-триггеров третьей группы являются 2(n-1) входами расширения соответствующей из m групп входов расширения, первые входы элементов И группы m(n-1) элементов И являются соответствующими из n-1 неинверсных входов группы 2n·m входов парафазных входных переменных (по 2m разрядов на каждый блок вычисления функций), первые входы элементов ИЛИ группы m(m-1) элементов ИЛИ являются соответствующими из n-1 инверсных входов группы 2n·m входов парафазных входных переменных (по 2m разрядов на каждый из m блоков вычисления функций), выходы элементов И группы m(n-1) элементов И подключены к соответствующим i-м инверсным входам парафазных входных переменных соответствующего из m блоков вычисления функций программируемое логическое устройство, патент № 2503993 , а старший неинверсный разряд этих входов является соответствующим n-м неинверсным входом группы 2n·m входов парафазных входных переменных, выходы элементов ИЛИ группы m(n-1) элементов ИЛИ подключены к соответствующим i-м инверсным входам парафазных входных переменных соответствующего из m блоков вычисления функций программируемое логическое устройство, патент № 2503993 , а старший инверсный разряд этих входов является соответствующим n-м инверсным входам группы 2n·m входов парафазных входных переменных, входы сброса блоков вычисления функций являются входом сброса устройства, входы синхронизации блоков вычисления функций являются входом синхронизации устройства, дополнительные входы сброса блоков вычисления функций являются группой m входов дополнительного сброса устройства, входы реконфигурации m блоков вычисления функций являются группой m входов реконфигурации блоков вычисления функций при отказах, входы типа реконфигурации m блоков вычисления функции при отказах являются группой m входов типа реконфигурации блоков вычисления функций при отказах, выходы неинверсного значения функции блоков вычисления функций являются соответствующими разрядами группы m выходов значений функции устройства, выходы инверсного значения функции блоков вычисления функций являются соответствующими разрядами группы m выходов инверсных значений функций устройства, выходы готовности результатов вычислений блоков вычисления функций являются группой m выходов готовности результатов вычисления функций устройства, каждый блок вычисления функций содержит группу 4·2n элементов И с тремя состояниями на выходе, два D-триггера, Т-триггер, RS-триггер фиксации импульса, пять элементов ИЛИ, три элемента И, четыре инвертора, n групп элементов 2·2НЕ-И-ИЛИ (в каждую i-ю группу входит 2n-1 элементов, программируемое логическое устройство, патент № 2503993 ), элемент задержки, дополнительную группу элементов И с тремя состояниями на выходе, причем входы управления нечетных элементов И с тремя состояниями на выходе из группы 4·2 n элементов И с тремя состояниями на выходе подключены к неинверсному выходу Т-триггера, инверсный выход которого подключен ко входам управления четырех элементов И с тремя состояниями на выходе из группы 4·2n элементов И с тремя состояниями на выходе, информационные выходы которых являются соответствующими разрядами входов настройки блока, информационные входы нечетных элементов И с тремя состояниями на выходе из первой половины группы 4·2n элементов И с тремя состояниями на выходе подключены к соответствующим j-м элементам второй половины входов настройки, программируемое логическое устройство, патент № 2503993 , информационные входы нечетных элементов И с тремя состояниями на выходе из второй половины 4·2n элементов И с тремя состояниями на выходе подключены к соответствующим М разрядам первой половины входов настройки, программируемое логическое устройство, патент № 2503993 , выходы нечетных элементов И с тремя состояниями на выходе группы 4·2n элементов И с тремя состояниями на выходе объединены с выходами соответствующих четных элементов И с тремя состояниями на выходе и подключены к соответствующим нечетным входам соответствующего элемента 2·2НЕ-И-ИЛИ первой группы из n групп элементов 2·2НЕ-И-ИЛИ (по две пары нечетный - четный элемент И с тремя состояниями выхода на каждый элемент 2·2НЕ-И-ИЛИ, четные входы элементов 2·2НЕ-И-ИЛИ каждой S-й группы, программируемое логическое устройство, патент № 2503993 , элементов 2·2НЕ-И-ИЛИ являются соответствующими разрядами входов парафазных входных переменных блока (второй вход каждого элемента 2·2НЕ-И-ИЛИ S-й группы является входом XS, четвертый - программируемое логическое устройство, патент № 2503993 программируемое логическое устройство, патент № 2503993 ), выходы элементов 2·2НЕ-И-ИЛИ S-й группы, программируемое логическое устройство, патент № 2503993 , где n - число входных переменных, подключены к соответствующим нечетным входам элементов 2·2НЕ-И-ИЛИ S+1 группы, причем к каждому элементу 2·2НЕ-И-ИЛИ в группы программируемое логическое устройство, патент № 2503993 подключены выходы двух элементов i-1 групп, выход единственного элемента 2·2НЕ-И-ИЛИ последней n-й группы из n групп элементов 2·2НЕ-И-ИЛИ подключен к информационному входу первого D-триггера, второй вход этого элемента подключен к выходу первого элемента ИЛИ, а четвертый вход этого элемента 2·2НЕ-И-ИЛИ n-й группы подключен к выходу второго элемента ИЛИ, первые входы первого и второго элементов ИЛИ подключены к выходам первого и второго элементов И соответственно, второй вход первого элемента ИЛИ подключен к объединенным выходам первого и второго элементов И с тремя состояниями на выходе дополнительной группы элементов И с тремя состояниями при выходе, второй вход второго элемента ИЛИ подключен к объединенным выходам третьего и четвертого элементов И с тремя состояниями на выходе дополнительной группы элементов И с тремя состояниями на выходе, вторые входы первого и второго элементов И, входы второго и четвертого инвертора являются видом реконфигурации блока при отказах, первый вход первого элемента И и вход первого инвертора являются входом типа реконфигурации блока при отказах, выход первого инвертора подключен к первому входу второго элемента И, вход обнуления первого D-триггера и первый вход четвертого элемента ИЛИ являются входом сброса блока, входы синхронизации первого и второго D-триггеров, счетный вход Т-триггера, вход элемента задержки являются входом синхронизации блока, выход второго инвертора подключен ко второму входу четвертого элемента ИЛИ, третий вход которого является входом дополнительного сброса блока, выход четвертого элемента ИЛИ подключен ко входам обнуления второго D-триггера, RS-триггера фиксации импульса и Т-триггера, выход первого D-триггера подключен к информационному входу второго D-триггера и первому входу третьего элемента ИЛИ, второй вход которого подключен к выходу второго D-триггера, выход третьего элемента ИЛИ является выходом значения функции блока и подключен ко входу третьего инвертора и первому входу пятого элемента ИЛИ, выход третьего инвертора является выходом инверсного значения функции блока, выход четвертого инвертора подключен ко второму входу пятого элемента ИЛИ, третий вход которого подключен ко входу третьего элемента И, выход пятого элемента ИЛИ является выходом готовности результатов вычисления функций блока, первый вход третьего элемента И подключен к выходу RS-триггера функции импульса, а второй вход третьего элемента И подключен к инверсному выходу Т-триггера, который также подключен ко входам управления нечетных элементов И с тремя состояниями на выходе дополнительной группы элементов с тремя состояниями на выходе, ко входам управления четных элементов которой подключен неинверсный выход Т-триггера, информационные входы первого и четвертого элементов И с тремя состояниями на выходе являются n-м инверсным входом хn парафазных входных переменных блока, а информационные входы второго и третьего элементов И с тремя состояниями на выходе дополнительной группы элементов И с тремя состояниями на выходе являются n-м инверсным входом программируемое логическое устройство, патент № 2503993 парафазных входных переменных блока (патент РФ № 2146840 от 20.03.2000, кл. G11C 17/00, G06F 7/00). Данное устройство принято за прототип.

Недостатком известного устройства, принятого за прототип, являются высокие аппаратурные затраты на реализацию систем логических функций большого числа переменных.

Это обусловлено следующими обстоятельствами. Технические средства прототипа ориентированы на реализацию логических функций в совершенной дизъюнктивной нормальной форме (СДНФ). В связи с этим, каждый блок вычисления функций должен иметь 2 n настроечных входов для задания всех возможных конституент функции n переменных, хотя некоторые из них могут повторяться в других функциях системы функций. Для реализации каждого блока вычисления функций в прототипе необходим 2n-1 элемент, что приводит к невозможности такой реализации даже для небольших n - порядка 8программируемое логическое устройство, патент № 2503993 10. В настоящее время в программируемых логических интегральных схемах (ПЛИС) переход на блоки вычисления функций (LUT) 6 переменных только начат, в основном используются блоки 4, 5 переменных.

Задачей изобретения является снижение аппаратных затрат на реализацию систем логических функций большого количества переменных.

Поставленная задача была решена за счет того, что в известное программируемое логическое устройство, содержащее первую, вторую и третью группы D-триггеров количеством n, где n - разрядность вычисляемых логических функций, группу m блоков вычисления функций, где m - число вычисляемых логических функций, счетчик, дешифратор, причем информационные входы D-триггеров из групп D-триггеров подключены к соответствующим разрядам входов данных, входы сброса всех D-триггеров всех групп D-триггеров и вход сброса счетчика объединены и подключены ко входу сброса устройства, выход счетчика подключен ко входу дешифратора, первый выход дешифратора подключен ко входам синхронизации D-триггеров первой группы D-триггеров, второй выход дешифратора подключен ко входам синхронизации D-триггеров второй группы D-триггеров, третий выход дешифратора подключен ко входам синхронизации D-триггеров третьей группы D-триггеров, выходы группы m блоков вычисления функций являются выходами устройства, каждый блок вычисления функций содержит k групп n-1 элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , где k=int log2(n),(n=2k), в первой группе n/2 элементов, в каждой группе элементов в два раза меньше, чем в предыдущей, в последней - один элемент, то есть имеется "пирамидальное" соединение элементов, причем выходы нечетных элементов нечетных групп подключены к первым входам соответствующих элементов следующей четной группы элементов 2·2НЕ-И-ИЛИ двум элементам нечетной группы соответствует один элемент четной группы, выходы четных элементов первой группы элементов 2·2НЕ-И-ИЛИ подключены к четвертым входам следующей четной группы элементов 2·2НЕ-И-ИЛИ дополнительно введены k-1 групп первых D-триггеров количеством n, где n - разрядность вычисляемых логических функций, k - число вычисляемых конъюнкций в системе из m функций, k-1 групп вторых D-триггеров количеством n, k-1 групп третьих D-триггеров количеством n, группа k блоков конъюнкций, группа k блоков значений конъюнкций, причем информационные входы D-триггеров k-1 групп первых D-триггеров, вторых D-триггеров, третьих D-триггеров подключены к соответствующим разрядам входов данных, входы сброса D-триггеров k-1 групп первых D-триггеров, вторых D-триггеров, третьих объединены и подключены ко входу сброса устройства, входы синхронизации D-триггеров k-1 групп первых D-триггеров подключены к соответствующим k-1 выходам дешифратора для k-1 групп первых D-триггеров, входы синхронизации D-триггеров k-1 групп вторых D-триггеров подключены к соответствующим k-1 выходам дешифратора для k-1 групп вторых D-триггеров, входы синхронизации D-триггеров k-1 групп третьих D-триггеров подключены к соответствующим k-1 выходам дешифратора для k-1 групп третьих D-триггеров, выходы группы первых D-триггеров подключены к первой группе входов первого блока конъюнкций, выходы группы вторых D-триггеров подключены ко второй группе входов первого блока конъюнкций, третьи группы входов всех блоков конъюнкций подключены ко входу переменных устройства, выходы k-1 групп первых D-триггеров подключены к первым группам входов соответствующих k-1 блоков конъюнкций, выходы k-1 групп вторых D-триггеров подключены ко вторым группам входов соответствующих k-1 блоков конъюнкций, выходы блоков конъюнкций подключены ко входам соответствующих блоков значений конъюнкций, выходы блоков значений конъюнкций подключены к соответствующим входам конъюнкций каждого блока вычисления функций, выходы k-1 групп третьих D-триггеров подключены к соответствующим входам функций блоков значений конъюнкций, причем нечетные входы первой группы элементов 2·2НЕ-И-ИЛИ подключены к соответствующим входам первой группы входов блока вычисления функций, четные входы первой группы элементов 2·2НЕ-И-ИЛИ подключены к соответствующим входам второй группы входов блока вычисления функций, выходы нечетных элементов нечетных групп элементов 22·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к третьим входам соответствующих элементов второй группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , выходы четных элементов первой группы элементов 2·2НЕ-И-ИЛИ подключены ко вторым входам второй группы элементов 2·2НЕ-И-ИЛИ, выходы предпоследней группы элементов 2·2НЕ-И-ИЛИ содержат два элемента 2·2НЕ-И-ИЛИ и выход первого элемента предпоследней группы подключен к первому и второму входам единственного элемента последней группы, а выход второго элемента предпоследней группы подключен к третьему и четвертому входам единственного элемента последней группы, выход которого является выходом блока вычисления функций, при этом каждый i-ый блок конъюнкций содержит n групп значений разрядов, каждый из которых содержит 6 элементов 2·2НЕ-И-ИЛИ, причем входы первых трех элементов объединены, вход первого элемента подключен к соответствующему i-му входу третьей группы входов блока конъюнкций и к первым двум входам четвертого элемента, вход второго элемента подключен к соответствующему i-му входу первой группы входов блока конъюнкций и к третьему и четвертому входам четвертого элемента, вход третьего элемента подключен к соответствующему i-му входу второй группы входов блока конъюнкций и ко второму входу шестого элемента, выход которого является i-м выходом i-го блока конъюнкций, выход первого элемента подключен к первому и третьему входам пятого элемента, выход второго элемента подключен ко второму и четвертому входам пятого элемента, выход третьего элемента подключен к третьему входу шестого элемента, выход четвертого элемента подключен к первому входу шестого элемента, а выход пятого элемента подключен к четвертому входу шестого элемента, третья группа входов каждого блока конъюнкций является входами переменных устройства, при этом каждый i-ый блок значений конъюнкций содержит k групп n-1 элементов 2·2НЕ-И-ИЛИ, где k=int log2(n), (n=2k), то есть имеется "пирамидальное" соединение элементов, и дополнительный элемент, причем первый и второй входы первой группы элементов 2·2НЕ-И-ИЛИ подключены к соответствующим нечетным входам блока значений конъюнкций, третий и четвертый входы первой группы элементов 2·2НЕ-И-ИЛИ подключены к соответствующим нечетным входам блока значений конъюнкций, выходы нечетных элементов первой группы элементов 2·2НЕ-И-ИЛИ подключены к нечетным входам второй группы элементов 2·2НЕ-И-ИЛИ, выходы четных элементов нечетной группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к четным входам четной группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , выходы предпоследней группы элементов 2·2НЕ-И-ИЛИ содержат два элемента 2·2НЕ-И-ИЛИ и выход первого элемента предпоследней группы подключен к первому и второму входам единственного элемента последней группы, а выход второго элемента предпоследней группы подключен к третьему и четвертому входам единственного элемента последней группы, выход которого подключен ко всем входам дополнительного элемента, выход которого является выходом блока значений конъюнкций.

Введение процедуры вычисления логических функций в дизъюнктивной нормальной форме (ДНФ) на базе логических элементов, реализующих функцию 2·2НЕ-И-ИЛИ программируемое логическое устройство, патент № 2503993 , позволяет снизить аппаратные затраты на реализацию систем логических функций большого количества переменных.

Суть новой введенной процедуры заключается в следующем:

а) в задании для каждой конъюнкции вычисляемой системы логических функций трех констант - масок: основной, выделяющей существенные переменные, дополнительной, выделяющей не инверсные существенные переменные, выходных функций, указывающей, какие функции системы функций активирует данная конъюнкция;

б) в вычислении каждого разряда данной конъюнкции по соответствующему разряду входного вектора с использованием логических элементов 2·2НЕ-И-ИЛИ;

в) в вычислении значений данной конъюнкции по соответствующим результатам вычисления всех ее разрядов с использованием логических элементов 2·2НЕ-И-ИЛИ;

г) в вычислении значений функций по результатам вычисления всех конъюнкций с использованием логических элементов 2·2НЕ-И-ИЛИ.

Введение дополнительных k-1 групп триггеров первых D-триггеров количеством n, где n - разрядность вычисляемых логических функций, k - число вычисляемых конъюнкций в системе из m функций позволяет хранить в процессе вычислений k-1 n-разрядную основную маску для выделения существенных переменных (ХО) для обеспечения вычислений в k-1 блоках конъюнкций.

Введение дополнительных k-1 групп вторых D-триггеров количеством n позволяет хранить в процессе вычислений k-1 n-разрядную дополнительную маску для выделения не инверсных существенных переменных (XD) для обеспечения вычислений в k-1 блоках конъюнкций.

Введение дополнительных k-1 групп третьих D-триггеров количеством n позволяет хранить в процессе вычислений k-1 n-разрядную маску выходных функций (ZB), указывающую, какие функции системы функций активирует данная конъюнкция для обеспечения вычислений в блоках вычисления функций.

Введение блоков конъюнкций с предлагаемой структурой и соответствующими связями позволяет вычислять каждый разряд данной конъюнкции по соответствующему разряду входного вектора с использованием логических элементов 2·2НЕ-И-ИЛИ.

Введение блоков значений конъюнкций с предлагаемой структурой и соответствующими связями позволяет вычислять значение данной конъюнкции по соответствующим результатам вычисления всех ее разрядов в блоках конъюнкций с использованием логических элементов 2·2НЕ-И-ИЛИ, при этом, если конъюнкция истинна, то есть равна единице (все существенные разряды входного вектора совпадают с соответствующими данной конъюнкции), то на выходе блока значений формируется нулевой сигнал.

Введение новых связей для m блоков вычисления функций позволяет вычислять значения функций в системе функций по результатам вычислений в блоках значений конъюнкций, используя настроечную информацию в k-1 группах третьих D-триггеров во время реализации новой введенной дисциплины.

Введение новых связей для D-триггеров первой группы позволяет хранить в процессе вычислений n-разрядную основную маску для выделения существенных переменных (ХО) для обеспечения вычислений в первом блоке конъюнкций.

Введение новых связей для D-триггеров второй группы позволяет хранить в процессе вычислений n-разрядную основную маску для выделения существенных переменных (ХО) для обеспечения вычислений в первом блоке конъюнкций.

Введение новых связей для дешифратора позволяет обеспечить программирование дополнительных k-1 групп D-триггеров первой, второй и третьей групп для последующего участия их в реализации вычислений логических функций.

Введение новых связей элементов в блоке вычисления функций позволяет вычислять значения функций в системе функций по результатам вычислений в блоках значений конъюнкций, используя настроечную информацию в k-1 группах третьих D-триггеров во время реализации новой введенной дисциплины.

На фиг.1 изображена схема электрическая структурная программируемого логического устройства.

На фиг.2 - схема электрическая функциональная j-го разряда - i-го блока конъюнкции.

На фиг.3 - схема электрическая функциональная i-го блока значений конъюнкции.

На фиг.4 - схема электрическая функциональная i-го блока вычисления функций.

Программируемое логическое устройство содержит первую 1, вторую 2 и третью 3 группы D-триггеров количеством n, где n - разрядность вычисляемых логических функций, группу m блоков вычисления функций 4, где m - число вычисляемых логических функций, счетчик 5, дешифратор 6, k-1 групп первых D-триггеров 7 количеством n, где n - разрядность вычисляемых логических функций, k - число вычисляемых конъюнкций в системе из m функций, k-1 групп вторых D-триггеров 8 количеством n, k-1 групп третьих D-триггеров 9 количеством n, группу k блоков конъюнкций 10, группу k блоков значений конъюнкций 11.

Устройство имеет входы задания переменных 12.

Информационные входы D-триггеров из групп 1, 2, 3, 7, 8, 9 D-триггеров подключены к соответствующим разрядам входов данных 13.

Входы сброса всех D-триггеров из групп 1, 2, 3, 7, 8, 9 D-триггеров и вход сброса счетчика 5 объединены и подключены ко входу сброса 14 устройства.

Выход счетчика 5 подключен ко входу дешифратора 6.

Первый выход 6.1.1 дешифратора 6 подключен ко входам синхронизации D-триггеров первой группы D-триггеров 1.

Второй выход 6.1.2 дешифратора 6 подключен ко входам синхронизации D-триггеров второй группы D-триггеров 2.

Третий выход 6.1.3 дешифратора 6 подключен ко входам синхронизации D-триггеров третьей группы D-триггеров 3.

Счетный вход счетчика 5 является входом программирования устройства 15.

Выходы группы m блоков вычисления функций 4 являются выходами устройства 16.

Информационные входы D-триггеров k-1 групп первых D-триггеров 7, вторых D-триггеров 8, третьих D-триггеров 9 подключены к соответствующим разрядам настроечных входов 13.

Входы сброса D-триггеров k-1 групп первых D-триггеров 7, вторых D-триггеров 8, третьих D-триггеров 9 объединены и подключены ко входу сброса 14 устройства.

Входы синхронизации D-триггеров i-ой из k-1 групп первых D-триггеров 7 подключены к соответствующим i-м из k-1 выходов 6.i.1 дешифратора 6 для k-1 групп первых D-триггеров 7.

Входы синхронизации D-триггеров i-ой из k-1 групп вторых D-триггеров 8 подключены к соответствующим i-м из k-1 выходов 6.i.2 дешифратора 6 для k-1 групп вторых D-триггеров 8.

Входы синхронизации D-триггеров i-ой из k-1 групп третьих D-триггеров 9 подключены к соответствующим i-м из k-1 выходов 6.i.3 дешифратора 6 для k-1 групп третьих D-триггеров 9.

Выходы группы первых D-триггеров 1 подключены к первой группе входов 10.1.1 первого блока конъюнкций 10.1.

Выходы группы вторых D-триггеров 2 подключены ко второй группе входов 10.1.2 первого блока конъюнкций 10.1.

Третьи группы входов 10.1.3 всех блоков конъюнкций подключены ко входу задания переменных 12 устройства.

Выходы k-1 групп первых D-триггеров 7 подключены к первым группам входов 10.i.1 соответствующих i-ых из k-1 блоков конъюнкций 10.i (i=2программируемое логическое устройство, патент № 2503993 k).

Выходы k-1 групп вторых D-триггеров 8 подключены ко вторым группам входов 10.i.2 соответствующих i-ых из k-1 блоков конъюнкций 10.i (i=2программируемое логическое устройство, патент № 2503993 k).

Выходы 10.1.4 i-ых блоков конъюнкций 10.i подключены ко входам соответствующих блоков значений конъюнкций 11.i.

Выходы j-ых блоков значений конъюнкций 11.i подключены ко входам конъюнкций 4.j каждого из блоков вычисления функций 4 (j=1программируемое логическое устройство, патент № 2503993 k).

Выходы i-ых D-триггеров из k-1 групп третьих D-триггеров 9 подключены к соответствующим i-ым входам функций 4.2.i (i=1программируемое логическое устройство, патент № 2503993 m) блоков вычисления функций 4.

Устройство имеет выходы значений функций 16.

Последний выход дешифратора 6 является выходом готовности 17 устройства.

Каждый блок i-ый вычисления функций 10.i содержат k групп n-1 элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , где k=int log2(n), (n=2k). В первой группе n/2 элементов, в каждой группе элементов в два раза меньше, чем в предыдущей, в последней - один элемент, то есть имеется "пирамидальное" соединение элементов.

Нечетные входы первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.1.j количеством r, где r=2n-1 подключены к соответствующим входам первой группы входов блока вычисления функций 4.1.1, 4.3.1программируемое логическое устройство, патент № 2503993 4.n-1.1. При этом предполагается, что программируемое логическое устройство, патент № 2503993 .

Четные входы первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.1.j подключены к соответствующим входам 4.2.1, 4.4.1программируемое логическое устройство, патент № 2503993 4.n.1 второй группы входов блока вычисления функций.

Выходы нечетных элементов первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , подключены к нечетным входам второй группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.2.j.

Выходы четных элементов первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.1 подключены к четным входам второй группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.2.

Аналогично выходы нечетных элементов нечетной группы элементов 22·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.k подключены к нечетным входам следующей группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.k+1.

Выходы четных элементов нечетной группы 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.k подключены к четным входам следующей группы элементов ·2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.k+1.

Выходы предпоследней группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 18.k-1.1, 18.k-1.2 содержат два элемента 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 .

Выход первого элемента предпоследней группы 18.k-1.1 подключен к первому и второму входам единственного элемента последней группы 18.k.

Выход второго элемента предпоследней группы 18.k-1.2 подключен к третьему и четвертому входам единственного элемента последней группы 18.k, выход которого является выходом i-го блока вычисления функций 16.i.

Каждый i-ый блок конъюнкций содержит n групп значений разрядов, каждый из которых содержит 6 элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 19-24.

Входы первых трех элементов 19, 20, 21 объединены, вход первого элемента 19 подключен к соответствующему i-му входу 10.1.3.i третьей группы входов соответствующего блока конъюнкций 10 и к первым двум входам четвертого элемента 22.

Вход второго элемента 20 подключен к соответствующему i-му входу 10.1.1.i первой группы входов данного блока конъюнкций 10 и к третьему и четвертому входам четвертого элемента 23.

Вход третьего элемента 21 подключен к соответствующему i-му входу 10.1.2.i второй группы входов блока конъюнкций 10 и ко второму входу шестого элемента 24, выход которого является i-м выходом 10.1.4.i i-го блока конъюнкций 10.

Выход первого элемента 19 подключен к первому и третьему входам пятого элемента 23.

Выход второго элемента 20 подключен ко второму и четвертому входам пятого элемента 23.

Выход третьего элементам 21 подключен к третьему входу шестого элемента, выход четвертого элемента подключен к первому входу шестого элемента 24.

Выход пятого элемента 23 подключен к четвертому входу шестого элемента 24. Каждый i-ый блок значений конъюнкций 11 содержит k групп n-1 пирамидально соединенных элементов 25, 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , где k=int log2(n), (n=2k), и дополнительный элемент 26.

Первый и второй входы элементов первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 25.1 подключены к соответствующим нечетным входам блока значений конъюнкций 10.1.4.

Третий и четвертый входы элементов первой группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 25.1 подключены к соответствующим четным входам блока значений конъюнкций 10.1.4.

Выходы нечетных элементов нечетной группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 25.k подключены к нечетным входам четной группы 24.k+1 элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 .

Выходы четных элементов нечетной группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 25.k подключены к четным входам четной группы 25.k+1 элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 .

Выходы предпоследней группы элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 25.k-1 содержат два элемента 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , 25.k-1.1, 25.k-1.2 и выход первого элемента предпоследней группы 25.k-1.1 подключен к первому и второму входам единственного элемента последней группы 25.k.

Выход второго элемента предпоследней группы 25.k-1.2 подключен к третьему и четвертому входам единственного элемента последней группы 25.k, выход которого подключен ко всем входам дополнительного элемента 26, выход которого является выходом данного i-го блока значений конъюнкций 11.1.i.

Первая группа D-триггеров 1 и k-1 групп первых D-триггеров 7 (фиг.1) количеством n, где n - разрядность вычисляемых логических функций, k - число вычисляемых конъюнкций в системе из m функций предназначены для записи и хранения в процессе вычислений информации настройки k n-разрядных основных масок для выделения существенных переменных (ХО) с целью обеспечения вычислений в k блоках конъюнкций 10.

Запись в j-e триггеры D-триггеров этих групп 1, 7 осуществляется с соответствующих j-x разрядов настоечных входов 13 по переднему фронту сигнала "1" на выходе 6.j.1 дешифратора 6 j=1программируемое логическое устройство, патент № 2503993 k.

D-триггеры этих групп 1, 7 обнуляются по входу обнуления 14. Настроечная информация, записанная в D-триггерах этих групп 1,7, управляет входами настройки 10.1.1-10.k.1 k блоков конъюнкций 10.1-10.k и определяет реализуемые в конъюнкциях существенные переменные.

D-триггеры этих групп 1, 7 могут быть реализованы, например, на интегральных микросхемах 155ТМ2 с дополнительными инверторами по входу R.

Вторая группа D-триггеров 2 и k-1 групп вторых D-триггеров 8 (фиг.1) количеством n, где n - разрядность вычисляемых логических функций, k - число вычисляемых конъюнкций в системе из m функций предназначены для записи и хранения в процессе вычислений информации настройки k n-разрядных дополнительных масок не инверсных существенных переменных (XD) с целью обеспечения вычислений в k блоках конъюнкций 10.

Запись в j-e триггеры D-триггеров этих групп 2, 8 осуществляется с соответствующих j-x разрядов настоечных входов 13 по переднему фронту сигнала "1" на выходе 6.j.2 дешифратора 6, j=1программируемое логическое устройство, патент № 2503993 k.

D-триггеры этих групп 2, 8 обнуляются по входу обнуления 14. Настроечная информация, записанная в D-триггерах этих групп 2, 8, управляет входами настройки 10.1.2-10.k.2 k блоков конъюнкций 10.1-10.k и определяет реализуемые в конъюнкциях существенные неинверсные переменные.

D-триггеры этих групп 2, 8 могут быть реализованы, например, на интегральных микросхемах 155ТМ2 с дополнительными инверторами по входу R.

Третья группа D-триггеров 3 и k-1 групп третьих D-триггеров 9 (фиг.1) количеством n, где n - разрядность вычисляемых логических функций, k - число вычисляемых конъюнкций в системе из m функций предназначены для записи и хранения в процессе вычислений информации настройки k n-разрядных масок выходных функций (ZB), указывающих, какие функции системы функций активирует данная конъюнкция для обеспечения вычислений в блоках вычисления функций 4.

Запись в j-e триггеры D-триггеров этих групп 3, 9 осуществляется с соответствующих j-x разрядов настоечных входов 13 по переднему фронту сигнала "1" на выходе 6.j.3 дешифратора 6, j=1программируемое логическое устройство, патент № 2503993 k.

D-триггеры этих групп 3, 9 обнуляются по входу обнуления 14. Настроечная информация, записанная в D-триггерах этих групп 3, 9, управляет входами настройки 4.2.1-4.2.m m блоков вычисления функций 4, mпрограммируемое логическое устройство, патент № 2503993 n и указывает, какие функции системы функций активирует данная конъюнкция для обеспечения вычислений в блоках вычисления функций 4.

D-триггеры этих групп 3, 9 могут быть реализованы, например, на интегральных микросхемах 155ТМ2 с дополнительными инверторами по входу R.

Блоки вычисления функций 4 предназначены для вычисления значений логических функций в системе функций по результатам вычислений в блоках значений конъюнкций 11, используя настроечную информацию в D-триггерах групп 3, 9 по k входам конъюнкций 4.j.1программируемое логическое устройство, патент № 2503993 4.j.k, где j - номер блока вычисления функций 4 из блоков 4.1программируемое логическое устройство, патент № 2503993 4.jпрограммируемое логическое устройство, патент № 2503993 4.m, mпрограммируемое логическое устройство, патент № 2503993 n.

Счетчик 5 предназначен для управления дешифратором 6 в режиме программирования. Предварительно счетчик 5 обнуляется по входу сброса 14. Счетчик 5 принимает импульсы со входа программирования 15. Счетчик 5 может быть реализован, например, на интегральной микросхеме 155ИЕ2.

Дешифратор 6 предназначен для управления входами синхронизации D-триггеров групп D-триггеров 1, 2, 3, 7, 8, 9 по информации со счетчика 5.

По первому импульсу программирования на выходе счетчика 5 устанавливается информация, приводящая к установлению "1" на выходе 6.1.1 дешифратора 6, по второму - на выходе 6.1.2, по третьему - на выходе 6.1.3 и так далее, за 3.k импульсов обеспечивается активирование всех 3.k выходов дешифратора, при этом информация записывается в D-триггеры групп 1, 2, 3, 7, 8, 9.

По последнему 3.k 1-му импульсу программирования устанавливается "1" на последнем выходе дешифратора 6, что приводит к возбуждению выхода окончания программирования 17 и означает готовность снятия значений функций с выходов 16.1программируемое логическое устройство, патент № 2503993 16.m.

Дешифратор 6 может быть реализован, например, на интегральной микросхеме 155ИД3, причем ее входы управления необходимо подключить к "0" В.

Блоки конъюнкций 10 в количестве k, где k - количество конъюнкций в вычисляемой системе логических функций, с предлагаемой структурой и соответствующими связями предназначены для вычисления каждого разряда данной конъюнкции по соответствующему разряду входного вектора с использованием логических элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 ,

Третья группа входов 10.i.3 каждого i-го блока конъюнкций 10.i является входами переменных устройства 12.

Блоки значений конъюнкций 11 в количестве k, где k - количество конъюнкций в вычисляемой системе логических функций, с предлагаемой структурой и соответствующими связями предназначены для вычисления значений конъюнкций по соответствующим результатам вычисления всех ее разрядов в блоках конъюнкций с использованием логических элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 ,

Входы 12 переменных разрядностью n предназначены для приема входных переменных (входного вектора) и передачи его на третью группу входов всех блоков конъюнкций.

Настроечные входы 13 (входы данных) разрядностью n предназначены для приема настроечной информации - k основных (XOi), дополнительных (XDi) масок и маски выходных сигналов (ZBi), i=1программируемое логическое устройство, патент № 2503993 k с целью записи этой информации в триггеры групп 1, 2, 3, 7, 8, 9 для обеспечения вычислений систем логических функций по соответствующим конъюнкциям.

Вход сброса 14 предназначен для приема импульса обнуления устройства для обнуления D-триггеров групп 1, 2, 3, 7, 8, 9 и счетчика 5.

Вход программирования 15 предназначен для приема импульсов программирования, управляющих счетчиком 5.

Группа m выходов значений функций 16.1-16.m предназначена для выдачи значений m логических функций, вычисленных в блоках вычисления функций 4.1-4.m.

Выход окончания программирования 17 предназначен для выдачи сигнала окончания программирования с последнего выхода дешифратора 6, по которому внешним устройствам разрешается принимать результаты вычислений.

В каждом j-м блоке 4.j вычисления функций k групп 18.1программируемое логическое устройство, патент № 2503993 18.k n-1 пирамидально соединенных элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , где k=int log2(n), (n=2k), предназначены для вычисления соответствующей j-й выходной функции

программируемое логическое устройство, патент № 2503993

по результатам вычислений в блоках значений конъюнкций, когда результат вычисления соответствующей i-ой конъюнкции в i-м блоке значения конъюнкций равен нулю:

(zi=0),

конъюнкция равна единице, и эта конъюнкция входит в соответствующую функцию системы логических функций:

(zioo=1).

Эти элементы могут быть реализованы, например, так, как описано в патенте № 2438234 от 27.12.2011 г.

В каждом блоке конъюнкций 10n элементов 19-24, 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , предназначены для вычисления функции

программируемое логическое устройство, патент № 2503993

Выделения путем конъюнкции с соответствующим разрядом основной маски (о) значащих бит во входном векторе, и суммирования по модулю два значения этого i-го бита, если он значащий, с дополнительной маской (d).

В каждом i-м блоке значений конъюнкций 11 k групп 25.1программируемое логическое устройство, патент № 2503993 25.k n-1 пирамидально соединенных элементов 25, 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , где k=int log2(n),(n=2k), и дополнительный элемент 26 предназначены для вычисления функции

программируемое логическое устройство, патент № 2503993

равной единице, когда по всем разрядам zi данной n-разрядной конъюнкции получены «нули», то есть соответствующая конъюнкция покрывает входной вектор (равна единице или истинна).

Программируемое логическое устройство работает в следующих режимах: 1) программирования (или запись); 2) вычисления при отсутствии отказов; 3) вычисления при наличии отказов.

В режиме программирования (или настройки) устройство работает следующим образом.

В исходном состоянии D-триггеры групп 1, 2, 3, 7, 8, 9, счетчик 5 обнулены по входу сброса 14 устройства (фиг.1).

По первому импульсу, поступающему на вход программирования 15 устройства, счетчик 5 переходит в первое состояние и на выходе 6.1.1 дешифратора 6 появляется сигнал "1". По этому сигналу информация программирования, предварительно поданная на входы данных 13 с помощью внешних по отношению к устройству технических средств, записывается в D-триггеры группы 1. Информация в D-триггеры группы 1 заносится с их входов D по фронту сигнала, поступающего с выхода 6.1.1 дешифратора 6.

После этого с помощью внешних по отношению к устройству технических средств на входы 13 подается информация программирования второй группы D-триггеров 2, в которые она и записывается по второму импульсу программирования, поступающему на вход 15 устройства, по фронту сигнала "1", возникающему на выходе 6.1.2 дешифратора 6.

По третьему импульсу программирования активируется выход 6.1.3 дешифратора 6 и настроечная информация с входов данных 13, предварительно поданная внешними техническими средствами, записывается по D входам в соответствующие D-триггеры третьей группы 3.

Аналогично происходит запись настроечной информации (информации программирования) в D-триггеры группы 7, 8, 9.

По последнему импульсу программирования на последнем, отдельном выходе дешифратора 6, то есть на выходе 17 окончания программирования, устанавливается "1", свидетельствующий о завершении режима программирования и готовности к вычислениям.

При очередном цикле программирования производится предварительное обнуление устройства по входу обнуления 14, вследствие чего счетчик 5 будет вновь установлен в нулевое, исходное состояние и на выходе 17 появится "0".

В режиме вычислений при отсутствии отказов устройство работает следующим образом.

После фиксации внешними по отношению к заявляемому устройству техническими средствами сигнала готовности на выходе 17 устройства, эти внешние технические средства подают на вход 12 задания переменных входной вектор и затем считывают с выходов 16 устройства значения вычисленных логических функций заданной настройкой системы функций.

Информация на входы 12 задания переменных может быть подана и во время программирования и до него, но считывание информации со входов 16 должно производиться внешними техническими средствами только после формирования устройством сигнала «1» на выходе 17.

При этом предполагается, что внешние технические средства начнут считывание вычисленных значений 16 после завершения переходных процессов в блоках 10, 11, 4.

Вычисления производятся путем реализации в блоках 10, 11, 4 соответствующих указанных выше логических функций.

Вычисления могут производиться и в тестовом режиме.

Например, путем сравнениям результатов вычислений с эталонными в процессе выполнения описываемых вычислений. Это может быть выполнено, например, по отдельным конъюнкциям - проверяя правильность вычисления каждой конъюнкции путем задания соответствующих констант, вызывающих активацию всех выходных функций. Например, целесообразны тесты «бегущая отдельная переменная, входящая во все функции», «бегущая инверсия отдельной переменной, входящая во все функции», «конъюнкция всех переменных, входящая во все функции», «конъюнкция инверсий всех переменных, входящая во все функции», «конъюнкция перемежающихся переменных, входящая во все функции». Здесь имеется некоторая аналогия с тестированием ОЗУ.

В режиме вычислений при наличии отказов устройство работает следующим образом.

В случае непрохождения теста по отдельным конъюнкциям или функциям может быть принято решение об их исключении с использованием соответствующей настроечной информации, при этом количество реализуемых конъюнкций (функций) снижается, что должно быть учтено внешним оборудованием.

В крайнем случае, вычисления могут производиться на работоспособном оборудовании одной конъюнкции (один блок 10 и соответствующий блок 11) и одной функции (блок 4). При этом внешнее оборудование обеспечивает чередование циклов программирования и вычислений с фиксацией и интерпретацией промежуточных результатов вычислений. Сначала вычисляется одна функция по отдельным соответствующим ей конъюнкциям, потом следующая и так далее.

Рассмотрим примеры конкретного выполнения вычислений систем логических функций в программируемом логическом устройстве.

1. Пример вычисления системы логических функций.

Пусть нужно вычислить следующую систему логических функций:

программируемое логическое устройство, патент № 2503993

программируемое логическое устройство, патент № 2503993

Составим список конъюнкций и возбуждаемых ими функций:

1) программируемое логическое устройство, патент № 2503993

База (зафиксированная последовательность) входных переменных - y1 x2 x1 , база выходных переменных - z1 z2. Получим список (массив) констант.

Основная константа X0i (i у нас от 1 до 3 - три конъюнкции) должна выделять существенные переменные, поэтому она содержит единицы в позициях существенных переменных i-й конъюнкции (позиции определяются базой полного входного слова).

Дополнительная константа XDi соответствует значениям истинности переменных в данной конъюнкции, поэтому она содержит единицы в позициях неинверсированных переменных и нули в остальных позициях.

Для возбуждения выходных функций необходима третья маска - маска выходов ZOi, которая содержит единицы в позициях логических функций, в которые входит соответствующая конъюнкция (позиции определяются базой выходных функций). Итак, получим таблицу 1:

Таблица 1
Настроечная информация для вычисления некоторой системы функций (массив масок - констант)
Обозначение константы Код при базе входов y2y1x2x 1Код при базе выходов z1 z2Примечание
1.X0(1)0011 программируемое логическое устройство, патент № 2503993 конъюнкция программируемое логическое устройство, патент № 2503993
2. XD(1)0010программируемое логическое устройство, патент № 2503993 конъюнкция программируемое логическое устройство, патент № 2503993
3. Z(1)программируемое логическое устройство, патент № 2503993 0010конъюнкция программируемое логическое устройство, патент № 2503993
4. X0(2)0100программируемое логическое устройство, патент № 2503993 конъюнкция y1(1, 2)
5.XD(2) 0100программируемое логическое устройство, патент № 2503993 конъюнкция y1(1, 2)
6.Z(2) программируемое логическое устройство, патент № 2503993 0011конъюнкция y1(1, 2)
7. X0(3)1001программируемое логическое устройство, патент № 2503993 конъюнкция программируемое логическое устройство, патент № 2503993
8. XD(3)0001программируемое логическое устройство, патент № 2503993 конъюнкция программируемое логическое устройство, патент № 2503993
9. Z(3)программируемое логическое устройство, патент № 2503993 0011конъюнкция программируемое логическое устройство, патент № 2503993

Рассмотрим, как производятся вычисления. Это - усовершенствованная аппаратная реализация алгоритма PLA (Алексенко А.Г., Голицын А.А., Иванников А.Д. Проектирование радиоэлектронной аппаратуры на микропроцессорах. - М.: Радио и связь, 1984. - С.109-111).

Пусть входное слово y2y1x2x1=0100. В первом блоке конъюнкций входное слово поразрядно маскируется первой, основной маской (константой):

программируемое логическое устройство, патент № 2503993

И выполняется поразрядная операция сложения по модулю 2 с дополнительной маской:

программируемое логическое устройство, патент № 2503993

Результат ненулевой: это значит, что конъюнкция программируемое логическое устройство, патент № 2503993 . Действительно, из входного слова видно, что, x2 =0, x1=0. Это же видно и из результатов маскирования первой константы. А вторая константа показывает, что x1 должен быть равен 0, x2=1.

Поэтому на выходе первого блока значений конъюнкций будет ноль и соответствующий бит третьей маски (выходов) для этой конъюнкции игнорируется.

Во втором блоке конъюнкций:

программируемое логическое устройство, патент № 2503993

Результат нулевой, значит, конъюнкция y1=1 и на выходе второго блока значений конъюнкций формируется единица.

Поэтому в двух последних блоках вычисления функций формируются единицы, так как значение маски Z(2)=0011, то есть вторая конъюнкция возбуждает и первую функцию, и вторую.

В третьем блоке конъюнкций:

программируемое логическое устройство, патент № 2503993

программируемое логическое устройство, патент № 2503993

Результат ненулевой, поэтому на выходе третьего блока значений конъюнкций - ноль и третья маска Z(3) в блоках вычисления функций игнорируется.

В шестнадцатеричном коде массив программирования устройства выглядит следующим образом:

03Н, 02Н, 02Н, 08Н, 08Н, 03Н, 06Н, 06Н, 02Н.

Этот массив загружается в D-триггеры групп 1, 2, 3, 7, 8, 9 в процессе программирования.

2. Пример реализации конечного автомата.

При реализации (вычислении) системы логических функций конечного автомата его код состояния необходимо хранить во внешнем по отношению к устройству оборудовании (необходимы внешние триггеры или регистр). Рассмотрим пример реализации такой системы функций, причем для простоты не будем производить минимизацию функций.

Пусть дана таблица переходов-выходов некоторого автомата-распознавателя Мили (таблица 2).

Таблица 2
Таблица переходов-выходов некоторого автомата
Код состояния Y2Y1 abпрограммируемое логическое устройство, патент № 2503993
00 011110 программируемое логическое устройство, патент № 2503993
программируемое логическое устройство, патент № 2503993 00H программируемое логическое устройство, патент № 2503993 01Н программируемое логическое устройство, патент № 2503993 03Н 02Н программируемое логическое устройство, патент № 2503993 программируемое логическое устройство, патент № 2503993
00
программируемое логическое устройство, патент № 2503993
программируемое логическое устройство, патент № 2503993 04H программируемое логическое устройство, патент № 2503993 05Н программируемое логическое устройство, патент № 2503993 07Н программируемое логическое устройство, патент № 2503993 06H
01
программируемое логическое устройство, патент № 2503993
программируемое логическое устройство, патент № 2503993 0СН 0DH программируемое логическое устройство, патент № 2503993 0FH программируемое логическое устройство, патент № 2503993 0EH программируемое логическое устройство, патент № 2503993 программируемое логическое устройство, патент № 2503993
11
программируемое логическое устройство, патент № 2503993

Пусть база входного слова имеет вид y2y1(t)ab(подаются на входы 12), база выходного слова y2y1(t+1)z 2z1 (формируются на выходах 16).

Ниже приведена таблица констант, которая получена на основе таблицы переходов выходов TABL:

db 0FH,01H,04H,

db 0FH,02H,02H,

db 0FH,04H,06H,

db 0FH,05H,04H,

db 0FH,07H,0CH,

db 0FH,0DH,0EH,

db 0FH,0FH,0CH,

db 0FH,0EH,0DH.

Рассмотрим подробнее, как они получены, на примере первой тройки констант. Первая константа 00FH одинакова для всех конъюнкций: существенны младшие 4 разряда разряды, т.к. база входного слова y2y1(t)ab. Входные переменные ab - 2 младших разряда, затем идут два разряда, хранящие код состояния памяти автомата Y2Y1 .

Следующие константы - код клетки с ненулевым содержимым (например 01Н). Последнюю константу получают следующим образом. Берут содержимое клетки, объединяют числитель и знаменатель и переводят его в шестнадцатеричный код: программируемое логическое устройство, патент № 2503993 . Аналогично получают остальные константы. Этот массив из троек констант загружается в D-триггеры групп 1, 2, 3, 7, 8, 9 в процессе программирования.

В блоках 4 формируются значения y2y1(t+1)z2 z1. Функции y2y1(t+1) записываются во внешний регистр, из которого переменные состояния y2 y1 передаются на соответствующие входы 12.

3. Пример диагностирования устройства.

Рассмотрим для простоты устройство с n=4, m=4, k=4.

Предлагается тест «бегущая единица» - таблица 3:

Таблица 3
Тест «бегущая единица»
Входы 12ХО XDZO
1.11111000 10001000
2-0100 01000100
3-0010 00100010
4.-0001 00010001

Каждая конъюнкция, состоящая из одной переменной, активирует «свою» функцию. На выходах устройства 16 - все единицы. Предлагается тест «бегущий ноль» - таблица 4:

Таблица 4
Тест «бегущая единица»
Входы 12ХО XDZO
1.00001000 00001000
2-0100 00000100
3-0010 00000010
4.-0001 00000001

Каждая конъюнкция, состоящая из одной инверсной переменной, активирует «свою» функцию. На выходах устройства 16 - все единицы.

Предлагается тест «все единицы» - таблица 5:

Таблица 5
Тест «все единицы»
Входы 12ХО XDZO
1.11111111 11111000
2-1111 11110100
3-1111 11110010
4.-1111 11110001

Каждая конъюнкция, состоящая из всех переменных, активирует «свою» функцию. На выходах устройства 16 - все единицы.

Предлагается тест «все нули» - таблица 6:

Таблица 6
Тест «все нули»
Входы 12ХО XDZO
1.00001111 00001000
2-1111 00000100
3-1111 00000010
4.-1111 00000001

Каждая конъюнкция, состоящая из инверсий всех переменных, активирует «свою» функцию. На выходах устройства 16 - все единицы.

Аналогично можно предложить тесты по каждой конъюнкции, проверяющие, как данная конъюнкция активирует все функции, например, для первой конъюнкции - таблицы 7-8:

Таблица 7
Тест «проверка первой единичной конъюнкции»
Входы 12ХО XDZO
1.11111111 11111111
2-0000 00000000
3-0000 00000000
4.-0000 00000000

Первая конъюнкция, состоящая из всех переменных, активирует все функции. На выходах устройства 16 - все единицы.

Таблица 8
Тест «проверка первой нулевой конъюнкции»
Входы 12ХО XDZO
1.00001111 00001111
2-0000 00000000
3-0000 00000000
4.-0000 00000000

Первая конъюнкция, состоящая из инверсий всех переменных, активирует все функции. На выходах устройства 16 - все единицы.

Аналогично могут быть предложены и другие тесты.

4. Пример парирования отказов.

Устройство может парировать отказы вычисления конъюнкций - блоков 10, 11, выявленные путем вышеописанного диагностирования. Для этого дефектная конъюнкция, соответствующая, например, z1 в выражении

программируемое логическое устройство, патент № 2503993

отключается путем задания, например, z1o1=0, при этом число реализуемых конъюнкций уменьшается на одну.

В крайнем случае, когда остаются технические средства для всего одной работоспособной конъюнкции, устройство может быть использовано для программно-аппаратного вычисления за несколько тактов, используя внешние технические средства, путем чередования циклов программирования каждой очередной конъюнкции и вычислений соответствующих ей функций.

Устройство может парировать отказы вычисления функций в блоках 4 путем исключения этой функции, при этом число выходных функций уменьшается.

В крайнем случае, когда остаются технические средства для всего одной работоспособной функции (всего один блок 4), устройство может быть использовано для программно-аппаратного вычисления за несколько тактов, используя внешние технические средства, путем чередования циклов программирования конъюнкций и вычисления соответствующей им функции. То есть за один цикл вычисляться будет только одна функция, возможно, зависящая от многих конъюнкций.

Возможна также работа на одной из двух оставшихся работоспособных доль блоков 4, путем отключения отказавшей (не формирующей необходимую единицу) сигналами z ioi=0, zi.

Оценим технико-экономическую эффективность предлагаемого устройства.

В прототипе для реализации n блоков функций (берем n=m) необходимо n·[(2 n-1)+n], где (2n-1) - количество элементов для реализации мультиплексора на 2n каналов, (+n) - количество элементов 2·2НЕ-И-ИЛИ, реализующих функцию программируемое логическое устройство, патент № 2503993 , для инверсий переменных элементов. Кроме того, необходимо по 2n·2n триггеров настройки.

В предлагаемом устройстве для реализации n-разрядного блока конъюнкции необходимо 6 элементов на одну переменную 6 n, n-1 элемент для блока значений конъюнкции n элементов для блока вычисления функции.

Если имеется k конъюнкций (берем n=m), то всего будет:

k(6n+n-1+n)=k(8n-1)

Триггеров настройки необходимо 3 kn.

Таким образом, выигрыш в количестве элементов описывается выражением:

программируемое логическое устройство, патент № 2503993

Выигрыш в количестве триггеров описывается выражением:

программируемое логическое устройство, патент № 2503993 .

Так, если n=m=8, k=10, получаем:

программируемое логическое устройство, патент № 2503993

программируемое логическое устройство, патент № 2503993

Достижение технического результата изобретения подтверждается приведенными оценками.

Класс G06F7/57 арифметико-логические устройства (ALU), те оборудование или устройства для выполнения двух или более операций, относящихся к группам  7/483

способ и аппаратура для обеспечения поддержки альтернативных вычислений в реконфигурируемых системах-на-кристалле -  патент 2519387 (10.06.2014)
логический преобразователь -  патент 2518669 (10.06.2014)
логический преобразователь -  патент 2517720 (27.05.2014)
логический вычислитель -  патент 2504826 (20.01.2014)
логический модуль -  патент 2497181 (27.10.2013)
логический процессор -  патент 2491613 (27.08.2013)
самопроверяемый специализированный вычислитель систем булевых функций -  патент 2485575 (20.06.2013)
ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных вычислений суммы м n-разрядных чисел -  патент 2475815 (20.02.2013)
логический преобразователь -  патент 2475814 (20.02.2013)
высокопараллельный спецпроцессор для решения задачи о выполнимости булевых формул -  патент 2474871 (10.02.2013)
Наверх