Отказоустойчивая статическая оперативная память на основе ячеек БМК
Автор: Тюрин С.Ф.
Журнал: Вестник Пермского университета. Математика. Механика. Информатика @vestnik-psu-mmi
Рубрика: Информатика. Информационные системы
Статья в выпуске: 1 (32), 2016 года.
Бесплатный доступ
Предлагается отказоустойчивая ячейка памяти SRAM с учетверением транзисторов -QSRAM. Показывается предпочтительность такого технического решения по ряду показателей - в сравнении с троированием - известным вариантом TMR (Triple Modular Redundancy). Выполняется моделирование в системе схемотехнического моделирования NI Multisim.
Транзистор, резервирование, базовый матричный кристалл, ячейка, логический элемент, вероятность безотказной работы, мажоритарный элемент, ячейка памяти sram, sram с учетверением транзисторов - qsram, троирование - tmr (triple modular redundancy)
Короткий адрес: https://sciup.org/14730022
IDR: 14730022
Текст научной статьи Отказоустойчивая статическая оперативная память на основе ячеек БМК
Введение Известно, что минимизация логических (переключательных) функций выполняется в Булевом базисе И, ИЛИ, НЕ [1, 2]. Пусть задана некоторая бинарная переключательная функция своей таблицей истинности (рис. 1). a Ь с f (abc) ООО 0 0 0 1 0 0 10 0 0 11 1 10 0 0 10 1 1 110 1 111 1 Рис. 1. Таблица истинности некоторой бинарной переключательной функции Минимизация в булевом базисе И, ИЛИ, НЕ, например по карте Карно (рис. 2), позволяет получить выражение f(abc) = ab v ac v bc, (1) © Тюрин С. Ф., Прохоров А. С., 2016 |
которое представляет собой так называемую мажоритарную функцию. c 1-------------------------------------< b 1----------------------------------------------------------------------------1 0 13 2 0 о ^ 0 4 5 I 7 6 о Д Ж i ac bc ab Рис. 2. Минимизация в булевом базисе И, ИЛИ, НЕ функции рис. 1 по карте Карно В выражении (1) имеется три импли-канты, но ни количество импликант, ни число переменных в импликанте при минимизации в булевом базисе не ограничено. То есть, такое представление функции является своего рода линейным (рис. 3). |


Рис. 3. Линейное представление функции в булевом базисе
После чего полученные выражения представляются в заданном базисе [3, 4]. Возникают некоторые сомнения об оптимальности полученных за два "приема" схем. Тем более, что в случае минимизации в заданном базисе, например ИНЕ, ИЛИ-НЕ, можно было бы сразу получать схему, совместив по возможности процесс её построения с процессом нахождения импликант, т. е. выполнять преобразования за один этап. Однако известно, что минимизация в произвольных базисах крайне сложна, что вызвано лавинообразно увеличивающейся комбинаторной сложностью задачи [5–8].
В [1–12] предложена концепция функционально-полного толерантного (ФПТ) логического базиса и элемента. ФПТ-элемент сохраняет свойство базисности в смысле теоремы Поста при заданной модели отказов. ФПТ-базис также предпочтителен для реализации широкого класса логических (булевых) функций по сравнению с традиционными базисами И-НЕ, ИЛИ-НЕ.
-
2. Минимизация логической функции в базисе (X 1 v Х 2 )
Как же минимизировать функцию рис. 1 в базисе только одной функции, например 2И-НЕ
(x i v X 2 ). (2)
В этом случае ограничено число дизъюнкций с инверсией не более чем одной переменной – до двух. То есть, представление функции не линейное, а древовидное, первые два яруса имеют вид (рис. 4).

Рис. 4. Древовидное (два уровня) представление – корнем вверх – функции в базисе И-НЕ (xi v X2)
Следует заметить, что если бы базис был не 2И-НЕ, а 3И-НЕ, то дерево (рис. 4) было бы не бинарное, а тернарное.
Продолжаем, дл я третьего уровня:
f = f1 V f 3.2 V f 3.3 V f 3 .4 V f 3.5 V f 3.6 V f 3.7 V f 3.8 . (3)
Необходимо определить все подфункции этого уровня. То есть, найти минимальное дерево из всех возможных деревьев!
-
3. Проверка покрытия заданной
функции одним элементом (x i v X 2 )
Будем получать всевозможные выражения вида
(f ij V f4 + i );f e {a,b,c,0,1}, (4)
т.е. вначале из переменных f(abc) констант 0, 1 и строить соответствующие дополнительные столбцы таблицы истинности – получим рис. 5.

Рис. 5. Расширенная таблица истинности функции, представленной рис. 1 для выражений вида (5)
(f L i v M;f e {a,b,c,0,1}. (5)
Ни в одном дополнительном столбце (рис. 5) единицы не соответствуют единицам функции f(abc). То есть, одним элементом заданную функцию не реализовать. Кроме того, ни один дополнительный столбец (рис. 5) не имплицирует f(abc).
-
4. Проверка возможности реализации з а данной функции двумя элементами
(x i V X 2 )
Полагаем, в первую очередь необходимо проверить, не покрываются ли единицы функции ее переменными и дизъюнкциями двух таких конъюнкций. Для этого требуется 2 элемента, что можно назвать "простым" или "примитивным" представлением, так как некоторые элементы используются как простые инверторы. То есть, иными словами,
(f i.1 ∨ f i.2 );f ∈ {a, b, c,0,1, a, b, c}. (6)
Получим рис. 6.

Рис. 6. Проверка " простых " покрытий, реализуемых двумя элементами
(x 1 ∨ x 2 )
Ни один столбец рис. 6 не покрывает своими единицами единиц функции f(abc). Таким образом, двумя элементами (когда один – общий инвертор) заданную фу нкцию реали зо вать невозможно. Но столбцы a ∨ b , b ∨ c , a ∨ c – импликанты f(abc)! Они покрывают все единицы f(abc) и совершенно равноценны – каждый покрывает две единицы из четырех, но двумя столбцами не обойтись. Лег ко, од на ко, в и деть, что дизъюнкция столбцов a ∨ b , b ∨ c , a ∨ c покрывает единицы функции, но в том-то и дело, что ее нельзя использовать в нашем сл учае!
Выберем первый столбец a ∨ b , ибо он допустим, и попробуем определить покрытие в нашем базисе дл я оставшихся едини ц:
f = a ∨ b ∨ f ∨ f ∨ f ∨ f . (7)
3.5 3.6 3.7 3.8
То есть необходимы уже два элемента с базисом (x 1 ∨ x 2 ) и теперь следует допус ти мым образом комбинировать столбцы b ∨ c , a ∨ c . Как комбинировать? Все тем же способом
f ∨ f ∨ f ∨ f , (8)
3.5 3.6 3 .7 3.8
так как "левое плечо" (x 1 ∨ x 2 ) уже занято, теперь необходимо получить выражение под "правой" инверсией (рис. 7).

Рис. 7. Проверка покрытий, реализуемых комбинированием b ∨ c , a ∨ c , b ∨ c ∨ a ∨ c. (9)
Видно, что простая инверсия столбца b∨c∨a∨c приведет к получению требуемого покрытия. Таким образом, выражение b ∨ c ∨ a ∨ c (10)
также является импликантой и совместно с a ∨ b покрывает все единицы функции f(abc). Это не что иное, как еще 4 элемента. Итак, получили 6 элементов (24 транзистора):
a ∨ b ∨ b ∨ c ∨ a ∨ c

Рис. 8. Схема реализации мажоритарной функции в базисе 2И-НЕ
По существу, рис. 8 – это дерево корнем вниз. Имеется 4 уровня, на каждом уровне реализуется функция (x 1 ∨ x 2 ) . Быстродействие такой схемы -4 τ , где τ – задержка одного элемента 2И-НЕ (4 транзистора).
Таким образом, минимизация в базисе (x 1 ∨ x 2 ) сводится к нахождению всех им-пликант вида:
(f i.1 ∨ f i.2 );f ∈ {a,b,c,0,1, a,b,c,f j ,f j },(12) т. е. построенных из переменных, их инверсий, констант и уже полученных импликант. При этом решается задача оптимального покрытия импликантами единичных наборов функции.
-
5. Минимизация логической
функции в базисе (x 1 ∨ x 2 )(x 3 ∨ x 4 )
Возникает вопрос: как же минимизировать функцию рис. 1 в избыточном базисе? Например:
(x 1 ∨ x 2 )(x 3 ∨ x 4 ). (13)
В этом случае ограничено число конъюнкций до двух, число переменных в конъ- юнкции также не более двух, да еще обязательна инверсия! Искомое выражение представляет собой не ДНФ, а вложенные друг в друга выражения вида
(f i.1 ∨ f i.2 )(f i.3 ∨ f i.4 ). (14)
То есть представление функции также древовидное, но "дерево" уже другое (рис. 5).

Рис. 9. Древовидное представление функции в базисе (x1 ∨ x2)(x3 ∨ x4)
На рис. 9 индекс подфункции fi.j.k.m (15)
указывает ярус дерева (i), позицию (j, =1…4), верхний ярус (k), к какой позиции верхнего яруса подключается (m), причем i ≠ k. В таком представлении пара соседних листов объединяется конъюнкцией, между двумя крайними парами – дизъюнкция, а в вершине – инверсия, из которой исходят эти пары.
-
6. Проверка покрытия заданной функции одним элементом
(x 1 ∨ x 2 )(x 3 ∨ x 4 )
Нам необходимо получить всевозможные выражения вида
(f i.1 ∨ f i.2 )(f i.3 ∨ f i.4 );f ∈ {a,b,c,0,1}, (16)
т.е. вначале из переменных f(abc) констант 0, 1 и строить соответствующие дополнительные столбцы таблицы истинности (рис. 10).


Рис. 10. Расширенная таблица истинности функции, представленной рис. 1 для выражений вида
(f i.1 ∨ f i.2 )(f i.3 ∨ f i.4 );f ∈ {a,b,c,0,1}
Ни один столбец рис. 10 не покрывает своими единицами единиц функции f(abc). То есть, одним элементом заданную функцию не реализовать.
-
7. Проверка возможности реализации заданной функции двумя элементами (x 1 ∨ x 2 )(x 3 ∨ x 4 )
В целом, следует проверить, не покрываются ли единицы функции ее переменными, конъюнкциями этих переменных длиной 2 и дизъюнкциями двух таких конъюнкций – для этого требуется 2 элемента. Это можно назвать "простым" или "примитивным" представлением (рис. 11).

Рис. 11. " Простое " или " примитивное " представление некоторой функции из двух элементов (x 1 ∨ x 2 )(x 3 ∨ x 4 ) , один из которых используется как инвертор
Получим рис. 12.
a b с ООО О 0 1 |
W - О О О О |
ь О О |
с avb bvc ООО 1 0 0 |
a v с 0 0 |
ab ас 0 0 0 1 |
Ьс 0 1 |
|
О 1 О |
О О |
1 |
ООО |
0 |
0 |
1 |
|
О 1 1 1 О О |
1 О О 1 |
1 О |
1 0 1 ООО |
0 0 |
1 1 |
1 0 |
|
1 0 1 |
1 1 |
О |
1 О О |
1 |
1 |
1 |
|
1 1 О 1 1 1 |
1 1 1 1 |
1 1 |
0 1 0 1 1 1 |
0 1 |
1 1 |
1 1 |

Рис.12. Проверка " простых " покрытий, реализуемых двумя элементами (x 1 ∨ x 2 )(x 3 ∨ x 4 )
Ни один столбец рис. 12 не покрывает своими единицами единиц функции f(abc).
Таким образом, двумя элементами (когда один – общий инвертор) заданную функцию реализовать невозможно.
Лег ко, од на ко, в и деть, что дизъюнкция столбцов a ∨ b , b ∨ c , a ∨ c покрывает единицы функции, но к сожалению, ее нельзя использовать в нашем случае! Здесь мы пока не использовали возможность инверсий некоторых или всех входных переменных, т.е. строго говоря, это должно выглядеть следующим образом:
(f i.1 ∨ f i.2 )(f i.3 ∨ f i.4 );f ∈ {a,b,c,0,1,a,b,c}.(17) Полагаем, необходимо рис. 10, 12 еще дополнить всеми вариантами использования инверсий переменных.
-
8. Проверка возможности реализации заданной функции тремя элементами (x 1 ∨ x 2 )(x 3 ∨ x 4 )
Теперь следует комбинировать столбцы, т.е. получать выражения вида (f j.1 ∨ f j.2 )(f j.3 ∨ f j.4 ) из полученных ранее столбцов вида
(f i.1 ∨ f i.2 )(f i.3 ∨ f i.4 );f ∈ {a,b,c,0,1,a, b, c}. (18)
Ле гко увидеть, что конъюнкция ab и (a ∨ b)c покрывает все единицы f(abc).
Значит, можно реализовать ее в виде (ab)(a ∨ b)(c) всего тремя элементами! (рис.13):
В каждом элементе (x 1 ∨ x 2 )(x 3 ∨ x 4 ) восемь транзисторов [9, 10], итого 24 транзистора, как и в схеме рис. 6, однако быстродействие в количестве элементов - 2 τ ’, где τ ’ – быстродействие одного элемента с базисом (x 1 ∨ x 2 )(x 3 ∨ x 4 ) , в котором сигнал проходит 2 транзистора, итого быстродействие – 4 транзистора, а в схеме рис. 6 – 8 транзисторов.
Дело в том, что в схемах с базисом (x 1 ∨ x 2 )(x 3 ∨ x 4 ) [11] цепи подключения + и общей шины одинаковы и содержат 2 последовательных транзистора n -МОП, p -МОП, а в элементах с базисом (x 1 ∨ x 2 ) имеется один n -МОП транзистор, но два последовательных p -МОП.

Рис. 13. Реализация f(abc) = (ab)(a ∨ b)(c) тремя элементами с базисом (x 1 ∨ x 2 )(x 3 ∨ x 4 )
Заключение
Таким образом, оптимальное покрытие логических функций в традиционном базисе (x 1 ∨ x 2 ) и в избыточном базисе (x 1 ∨ x 2 )(x 3 ∨ x 4 ) в отличие от " линейного " булева базиса И, ИЛИ, НЕ может быть найдено только в виде дерева соответствующих им-пликант. Построение всевозможных различных допустимых для данного базиса импли-кант, а также минимизация соответствующих деревьев представляет собой сложную комбинаторную задачу. Оптимальная реализация мажоритарной функции в избыточном базисе (x 1 ∨ x 2 )(x 3 ∨ x 4 ) равноценна реализации в базисе (x 1 ∨ x 2 ) по числу транзисторов, но предпочтительна по быстродействию. Целесообразна автоматизация поиска оптимального покрытия.
Список литературы Отказоустойчивая статическая оперативная память на основе ячеек БМК
- Проблемы создания отечественной элементной компонентной базы. URL: http://www.electronics.ru/journal/article/295. (дата обращения: 27.06.2015).
- Инновационный комплекс МИЭТ. URL: http://miet.ru/content/s/200 (дата обращения: 27.06.2015).
- Базовые матричные кристаллы. URL: http://www.asic.ru/index.php?option=com_c ontent&view=article&id=52&Itemid=92 (дата обращения: 27.06.2015).
- Гаврилов С.В., Денисов А.Н., Коняхин В.В. и др. САПР "Ковчег3.0" для проектирования микросхем на БМК серий 5503, 5507, 5521 и 5529. М., 2013. 295 с.
- Денисов А.Н., Фомин Ю.П., Коняхин В.В. и др. Библиотека функциональных ячеек для проектирования полузаказных микросхем серий 5503 и 5507/под общ. ред. А.Н. Саурова. М.: Техносфера, 2012. 304 c.
- Степченков Ю.А., Денисов А.Н., Дьяченко Ю.Г. и др. Библиотека элементов для проектирования самосинхронных полузаказных микросхем серий 5503/5507 и 5508/5509. М.: ИПИ РАН, 2008. 296 с.
- Muller D.E., Bartky W.S. A theory of asynchronous circuits//Proc. Int Symp. On the Theory of Switching, Part 1. Harvard University Press, 1959. P. 204-243.
- Апериодические автоматы/под ред. В.И. Варшавского. М.: Наука, 1976. С. 304.
- Варшавский В.И., Мараховский В.Б., Ро-зенблюм Л.Я. и др. § 4.3. Апериодическая схемотехника/Искусственный интеллект. Т.3: Программные и аппаратные средства/под ред. В.Н. Захарова, В.Ф. Хорошевского. М.: Радио и связь, 1990.
- Yakovlev A. Energy-modulated computing//Design, Automation & Test in Europe Conference & Exhibition (DATE), 2011. IEEE, 2011. С. 1-6.
- Тюрин С.Ф., Аляев Ю.А. Зеленая волна//Образовательные ресурсы и технологии. 2014. № 5 (8). С. 144-157.
- Тюрин С.Ф., Плотникова А.Ю. Концепция "зеленой логики"//Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. 2013. № 8. С. 61-72.
- Donald C. Mayer, Ronald C. Lacoe. Designing Integrated Circuits to Withstand Space Radiation. Vol. 4, № 2. Crosslink. URL: http://www.aero.org/publications/crosslink/su mmer2003/06.html (дата обращения: 20.05.2015).
- Юдинцев В. Радиационно-стойкие интегральные схемы. Надежность в космосе и на земле//Электроника: Наука, Технология. Бизнес: журнал. 2007, № 5. С. 72-77. ISSN 1992-4178. URL: http://www.electronics.ru/files/article_pdf/0/a rticle_592_363.pdf (дата обращения: 29.05.20 15).
- Kamenskih, A.N., Tyurin, S.F. Application of redundant basis elements to increase self-timedcircuits reliability//Proceedings of the 2014 IEEE North West Russia Young Researchers in Electrical and Electronic Engineering Conference. ElConRusNW 2014. P. 47-50.
- Kamenskih, A.N., Tyurin, S.F. Features that provide fault tolerance of self-synchronizing circuits//Russian Electrical Engineering. 2015. P. 672-682.
- Kamenskikh A.N., Tyurin S.F. Advanced Approach to Development of Energy-Aware and Naturally Reliable Computing Systems. Proceeding of the 2015 IEEE North West Russia Section Young researches in electrical and electronic engineering conference (2015 El-ConRusNW). P. 67-69.
- Tyurin, S.F. Retention of functional completeness of Boolean functions under "failures" of the arguments (1999) Automation and Remote Control 60 (9 PART 2). P. 1360-1367.
- Tyurin S., Kharchenko V. Redundant Basises for Critical Systems and Infrastructures: General Approach and Variants of Imple-mentationProceedings of the 1st Intrenational Workshop on Critical Infrastructures Safety and Security, Kirovograd, Ukraine 11-13, May, 2011. Vol. 2. P. 300-307.
- Tyurin S.F., Grekov A.V., Gromov O.A. The principle of recovery logic FPGA for critical applications by adapting (3). P. 328-332.
- Tyurin S.F., Gromov O.A. A residual basis search algorithm of fault-tolerant programmable logic integrated circuits//Russian Electrical Engineering. 2013. 84 (11). P. 647-651.
- Ульман Дж. Д. Вычислительные аспекты СБИС/пер. с англ. А.В. Неймана/под ред. П.П. Пархоменко. М.: Радио и связь, 1990. 480 с.
- Глебов А.Л. SP-BDD модель цифровых КМОП-схем и ее приложения в оптимизации и моделировании//Информационные технологии. 1997. №. 10.
- ГОСТ Р 53480-2009. Надежность в технике. Термины и определения. IEC 60050 (191):1990-12(NEQ). М.: Стандартинформ, 2010.