Отказоустойчивая статическая оперативная память на основе ячеек БМК

Бесплатный доступ

Предлагается отказоустойчивая ячейка памяти 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.
Еще
Статья научная