Синтез логических КМОП схем с пониженным энергопотреблением П.Н. Бибило, Л.Д. Черемисинова, С.Н. Кардаш, Н.А. Кириенко, П.В. Леончик, Д.Я. Новиков, В.И. Романов, Д.И. Черемисинов Объединенный институт проблем информатики НАН Беларуси Аппаратно-программный комплекс проектирования КМОП СБИС Программный комплекс автоматизации проектирования логических схем, оптимизированных по критерию энергопотребления Библиотека КМОП элементов с пониженным энергопотреблением и повышенной устойчивостью к вредным воздействиям Синтез логической схемы из элементов КМОП библиотеки КМОП СБИС с пониженным энергопотреблением и повышенной устойчивостью к вредным воздействиям 2 Логический элемент «И-НЕ» Схема электрическая принципиальная library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.NUMERIC_STD.all; entity NA is port (A:IN std_ulogic; B:IN std_ulogic; Y:OUT std_ulogic); end; architecture BEHAVIOR of NA is begin Y <= not (A and B) after 1ns; end; Топология 3 Энергосберегающее проектирование КМОП схем Оценки качества СБИС : Площадь кристалла + Быстродействие Энергопотребление Мотивация : Чрезмерное рассеивание энергии Перегрев устройства : нарушение функциональности сокращение времени безотказной работы ; Сокращение времени автономной работы портативных устройств ; Повышенное энергопотребление Рост затрат на оборудование и обслуживание 4 Архитектура программного комплекса для синтеза логических схем, оптимизированных по энергопотреблению Оценка энергопотребления VHDL Оптимизация двухуровневых представлений Двухуровневая схема из вентилей Оптимизация многоуровневых представлений SF, функциональное описание Оценка энергопотребления Синтез схемы SF, структурное описание SF, функциональное описание VHDL Leonardo (синтез схемы) VHDL Схемотехническая модель Оценка энергопотребления 5 Программный комплекс ЭЛС «Энергосберегающий логический синтез» ЭЛС Ядро совокупность : проектных операций 6 Преобразования данных в программном комплексе синтеза логических схем, оптимизированных по энергопотреблению Исходное описание схемы на языке VHDL Конвертер VHDLSF Исходное описание схемы на языке SF Описание схемы на языке SF 1 Проект. операция 1 Проект. операция 2 Описание схемы на языке SF 2 ... Проект. операция N Описание схемы на языке SF N Конвертер SFVHDL Результирующее описание схемы на языке VHDL 7 Общий маршрут проектирования СБИС Исходная система булевых функций: – VHDL-описание; – формат SF SDF – матричная форма; – формат SF LOG – логические уравнения Результат покрытия: сеть элементов КМОП-библиотеки в формате SF CONNECT – структурное описание netlist Троичные матрицы VHDL Логические уравнения Двухуровневой и Многоуровневой логики Технологически независимая оптимизация на логическом уровне Технологически зависимая оптимизация на логическом уровне 10x 101 X01 100 110 110 11x 010 x = ab’ + b’c + abc’ y = abc’ + ab z = ab’ Покрытие Библиотечными элементами netlist layout Система ЭЛС 8 Технологический процесс проектирования логических схем в программном комплексе ЭЛС 9 Технологический процесс проектирования логических схем в программном комплексе ЭЛС 10 Работа программного комплекса ЭЛС Окно с приветствием Рабочее окно настройки Линейка инструментов системы ЭЛС 11 Окна программного комплекса ЭЛС в режиме проектирования В режиме оптимизации двухуровневой логики 12 Минимизация булевых функций с учетом энергопотребления n, m, k – число аргументов, функций, конъюнкций системы ДНФ; l1, l2 – число литералов и kmin1, kmin2 – конъюнкций минимизированных систем ДНФ; Ps1, Ps2 – оценки переключательной активности подсхем; t1, t2 – время в сек. Pentium 4 (3 гГц) Сигнальные вероятности: p1 = 0.10; p2 = 0.13; p3 = 0.16; p4 = 0.19; p5 = 0.22; p6 = 0.25; p7 = 0.28; p8 = 0.31; p9 = 0.34; p10 = 0.37; p11 = 0.40; p12 = 0.43; p13 = 0.46; p14 = 0.49; p15 = 0.52 13 Оптимизация многоуровневых представлений y1 = ^a+^b*^e+b*^f; y2 = ^a*b*^c+^a*^b*^d; y1 = ^a+(^b*^e)+(^_b*^f); y2 = ^a*(^(^((^_b*^c)+(^b*^d)))); _b = ^b; Факторизация 14 Синтез схем из вентилей с учетом энергопотребления n – число элементов, m – число транзисторов, k1 – число переключений транзисторов, k2 – число переключений транзисторов по алгоритму Закревского, max – максимальное число переключений транзисторов ЭЛС alu1 n m k1 k2 max 1. ЭЛС 5 26 280 52736 24 2. LeonardoSpectrum 7 32 414 67584 34 Leonardo 15 Синтез схем из библиотечных элементов в системе ЭЛС Дерево иерархии блоков Булевы функции в матричной форме CONNECT d329 A=x14 e329 A=x0 f329 D=x10 A=d329.O B=x15 C=e329.O g329 A=x18 h329 D=x16 A=f329.O B=g329.O C=x17 i329 D=x10 A=d329.O B=x15 C=e329.O j329 A=x17 k329 D=j329.O A=i329.O B=x18 C=x16 l329 A=x16 m329 A=x15 16 Верификация состояний проекта Верификация выполняется для любых пар состояний одного и того же проекта 17 Оценка энергопотребления на основе логического VHDL-моделирования VHDL-модель схемы dd3 dd1 dd6 dd5 A3 w3 N w5 A2 w1 f1 O2 x1 dd7 dd4 dd9 x2 A2 w6 w4 O2 N f2 x3 dd2 A2 z(3) z(5) dd8 w2 z(2) dd10 XOR2 z(7) z(1) w7 z(8) N z(4) z(6) z(10) f3 library ieee; use ieee.std_logic_1164.all; use work.perecl.all; entity circ is port(x1, x2, x3 : in std_logic; F1, F2, F3 :out std_logic; K : out integer); end; architecture circ_arch of circ is signal W : std_logic_vector (1 to 8); signal Z : MAS; begin dd1 : A2 port map (w(5), x2, w(1), Z(1)); dd2 : A2 port map (x3, x1, w(2), Z(2)); dd3 : A3 port map (x1, x3, x2, w(3), Z(3)); dd4 : O2 port map (w(7), w(2), w(4), Z(4)); dd5 : N port map (w(3), w(5), Z(5)); dd6 : O2 port map (w(1), w(7), F1, Z(6)); dd7 : A2 port map (x2, x3, w(7), Z(7)); dd8 : XOR2 port map (w(7), w(2), w(8), Z(8 dd9 : N port map (w(4), F2, Z(9)); dd10 : N port map (w(8), F3, Z(10)); p1 : process (Z) begin K <= sum_percl(z); end process; end; z(9) process(z) К Подсчет числа переключений транзисторов: VHDL модель расширена монитором для сбора статистики переключений, который строится автоматически 18 Методика оценки энергопотребления КМОП СБИС на схемотехническом уровне Маршрут аналогового моделирования : Схема VHDL-описание netlist КМОП-схемы в формате Edif (LeonardoSpectrum) SPICE-описание схемы (схемотех. моделирование AccuSim II) Результат схемотехнического моделирования Потребление тока КМОП-схемой (512 тактов) 19 19 Выводы Программный комплекс ЭЛС позволяет синтезировать логические схемы из библиотечных КМОП элементов; 2. подготовить тесты и оценить энергопотребление на этапе логического проектирования; 3. сформировать описания схем и подготовить тесты для схемотехнического моделирования, что приводит - к сокращению сроков проектирования; - к уменьшению площади и энергопотребления функциональных блоков КМОП СБИС. 1. 20