М.С. Шуплецов - Основы проектирования цифровых интегральных схем
Описание файла
PDF-файл из архива "М.С. Шуплецов - Основы проектирования цифровых интегральных схем", который расположен в категории "". Всё это находится в предмете "основы кибернетики" из 6 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Курс «Основы кибернетики»Основы проектированияцифровых интегральных схемВесна 2017План лекции• Общие сведения о проектированиицифровых интегральных схем (ИС)• Уровни абстракции при проектировании ИС• Основные стратегии проектирования ИС• Примеры:– Двухуровневый логический синтез– Каталоги оптимальных схем– Проверка эквивалентности и функциональнаякоррекция схемОбщие сведения опроектировании цифровых ИССверхбольшая ИСЭлементная база цифровых ИСПроизводство ИСПроизводство ИСЗакон МураГордон Мур (1965 г.) – удвоение числа транзисторов на интегральнойсхеме будет происходить каждые два года.Фундаментальные ограничения• Транзисторы и провода имеют конечныеразмеры• Транзисторы можно расположить только в2-х и 3-х мерном пространстве• Скорость света ограниченаСредства автоматизациипроектирования цифровых ИС• Современные ИС невозможноспроектировать вручную• Нужны специальные программы дляавтоматизации различных этаповпроектирования ИС• При этом требуется как пониманиевозникающих при этом математическихзадач, так и особенностей технологийпроизводства ИСУровни абстракции припроектировании цифровых СБИСУровни абстракции припроектировании цифровых СБИССистемный уровеньΣАвтоматный (поведенческий) уровеньзϕЛогический (схемный) уровеньТранзисторный уровеньУровень топологииСистемный уровеньСистемный уровень• Моделирование системывзаимодействующих процессов/сигналов• Подходы к моделированию:– взаимодействие систем/компонент системы– система команд (instruction set simulation)– микроархитектура– использование языков описания аппаратуры(Verilog, SystemVerilog, SystemC)Поведенческий уровеньab cinFull Adder`timescale 1ns / 1psmodule FullAdder (input a,input b,input cin,output s,output cout );assign {cout,s} = a + b + cin;scoutendmoduleПоведенческий уровень• Моделированиеповедения/функционированияпроцесса/сигнала• Подходы к моделированию:– использование языков описания аппаратуры(Verilog, VHDL)– register-transfer level (RTL)– использование автоматов и другихматематических моделейЛогический (схемный) уровень`timescale 1ns / 1psmodule FullAdder (input a,input b,input cin,output s,output cout );// wires (from ands to or)wire w1, w2, w3;// carry-out circuitryand( w1, a, b );and( w2, a, cin );and( w3, b, cin );or( cout, w1, w2, w3 );// sumxor( s, a, b, cin );endmoduleЛогический (схемный) уровень• Моделирование структуры и основныхэлементов блока, реализующего заданныйпроцесс/сигнал• Подходы к моделированию:– использование языков описания аппаратуры(Verilog, VHDL)– netlist, gate-level design– математические модели схем• схемы из функциональных элементов (СФЭ) и ихобобщения• And-Inverter Graphs (AIG)• Binary Decision Diagrams (BDD)• и др.Транзисторный уровеньТранзисторный уровень• Моделирование структуры основныхлогических элементов интегральной схемы• Определение/оценка основных физическиххарактеристик логических элементов (размер,задержка, энергопотребление и др.)• Подходы к моделированию:– использование различных транзисторных моделейсхем (контактные схемы и их различныемодификации)– имитационной моделирование– SPICE моделированиеУровень топологииУровень топологии• Моделирование топологии (структуры игеометрии всех слоев) проектируемогоустройства• Основные задачи:– Design Rule Check (DRC)– Layout vs Schematics (LVS)– Оптимизация топологии и повышение выходагодных• Optical Proximity Correction(OPC)• Double/Triple patterningОсновные стратегиипроектирования цифровых ИСОсновные стратегии проектированияцифровых СБИС• Заказное проектирование– Все основные элементы ИС проектируютсяиндивидуально и вручную– Высокая стоимость• Полу-заказное проектирование– Использование заранее спроектированных элементов(IP-блоки, библиотечные элементы)– Использование средств автоматизации– Дополнительные ограничения на различных этапахпроектирования• Программируемые ИС– Все основные элементы ИС заранее спроектированы– Возможность настраивать устройство во время работыи/или на этапе проектированияМетодология проектирования на основестандартных ячеекПрограммируемые логическиеинтегральные схемы (ПЛИС)Системы на кристаллеУпрощенный маршрутпроектированияСпецификация системыENTITY test isport a: in bit;end ENTITY test;Проектирование архитектурыФункциональное проектированиеФункциональное проектированиеЛогическое проектированиеDRCLVSERCФизическое проектированиеВерификация топологииИзготовлениеКорпусирование и финальное тестированиеПример: двухуровневыйлогический синтезПрограммируемые логическиматрицы (ПЛМ)• Реализация системыбулевых функций наоснове ДНФ• Первая интегральнаясхема TMS2000 (TexasInstruments, 1970)• Оптимизация числалитералов приводит куменьшению площадисхемы.Минимизация ДНФ – основныеподходы• Известные методы минимизации ДНФ– Эквивалентные преобразования.
Сложно применим прибольшом числе переменных и неясно как оценить качествополученного результата.– Метод карт Карно. Применим только при малом числепеременных.– Метод Квайна. Экспоненциальная сложность в худшемслучае.• Эвристические подходы - свойства.– Поиск ДНФ близких к минимальным.– Последовательное (итеративное) улучшение текущегорешения.• Эвристические подходы– Градиентный метод– Алгоритм ESPRESSOАлгоритм ESPRESSO – общая идея• Пример – функция 4-хпеременных, заданнаятаблицей• Указаны толькоединичные наборы• Покрытие построено изнекоторого набораимпликант функции (необязательно простых)1 03 4 2 0010 0110 1111 11 011Грани10*0*20*10310014110151*1*1110111111Алгоритм ESPRESSO – общая идея• «Расширение» граней (EXPAND)– последовательноепреобразование граней вмаксимальные грани• Для каждой грани может бытьнесколько различных способовсделать её максимальной• В нашем примере«расширяются» грани 2 , 3 , 4• Полученное покрытие состоиттолько из максимальных граней• Полученное покрытие может небыть тупиковым илиминимальным1 03 4 2 0010 0110 1111 11 011Грани10*0*2**10310014110151*1*1110111111Алгоритм ESPRESSO – общая идея• «Расширение» граней (EXPAND)– последовательноепреобразование граней вмаксимальные грани• Для каждой грани может бытьнесколько различных способовсделать её максимальной• В нашем примере«расширяются» грани 2 , 3 , 4• Полученное покрытие состоиттолько из максимальных граней• Полученное покрытие может небыть тупиковым илиминимальным1 03 4 2 0010 0110 1111 11 011Грани10*0*2**1031**14110151*1*1110111111Алгоритм ESPRESSO – общая идея• «Расширение» граней (EXPAND)– последовательноепреобразование граней вмаксимальные грани• Для каждой грани может бытьнесколько различных способовсделать её максимальной• В нашем примере«расширяются» грани 2 , 3 , 4• Полученное покрытие состоиттолько из максимальных граней• Полученное покрытие может небыть тупиковым илиминимальным1 03 4 2 0010 0110 1111 11 011Грани10*0*2**1031**14**0151*1*1110111111Алгоритм ESPRESSO – общая идея• «Расширение» граней (EXPAND)– последовательноепреобразование граней вмаксимальные грани• Для каждой грани может бытьнесколько различных способовсделать её максимальной• В нашем примере«расширяются» грани 2 , 3 , 4• Полученное покрытие состоиттолько из максимальных граней• Полученное покрытие может небыть тупиковым илиминимальным1 03 4 2 0010 0110 1111 11 011Грани10*0*2**1031**14**0151*1*1110111111Алгоритм ESPRESSO – общая идея• «Тупиковое покрытие» –удаление граней, которыепокрываются другимимаксимальными гранями(IRREDUNDANT)• В нашем примере можноудалить 3• Полученное покрытиеявляется тупиковым• Полученное покрытие можетне быть минимальным1 03 4 2 0010 0110 1111 11 011Грани10*0*2**1031**14**0151*1*1110111111Алгоритм ESPRESSO – общая идея• «Тупиковое покрытие» –удаление граней, которыепокрываются другимимаксимальными гранями(IRREDUNDANT)• В нашем примере можноудалить 3• Полученное покрытиеявляется тупиковым• Полученное покрытие можетне быть минимальным1 03 4 2 0010 0110 1111 11 011Грани10*0*2**104**0151*1*1110111111Алгоритм ESPRESSO – общая идея• «Сужение» граней (REDUCE) –последовательное уменьшениекаждой из граней при сохранениипокрытия• Результирующее покрытие состоитне только из максимальных граней• Позволяет изменить формупокрытия• Порядок «сужения» граней имеетважное значение• Является ключевым шагом, так какпозволяет в дальнейшемпроизвести такое «расширение»граней, которое позволит покрытьдругие грани• В нашем примере можно «сузить»,например, 2 и 41 03 4 2 0010 0110 1111 11 011Грани10*0*20*104**0151*1*1110111111Алгоритм ESPRESSO – общая идея• «Сужение» граней (REDUCE) –последовательное уменьшениекаждой из граней при сохранениипокрытия• Результирующее покрытие состоитне только из максимальных граней• Позволяет изменить формупокрытия• Порядок «сужения» граней имеетважное значение• Является ключевым шагом, так какпозволяет в дальнейшемпроизвести такое «расширение»граней, которое позволит покрытьдругие грани• В нашем примере можно «сузить»,например, 2 и 41 03 4 2 0010 0110 1111 11 011Грани10*0*20*1041*0151*1*1110111111Алгоритм ESPRESSO – общая идея• «Сужение» граней (REDUCE) –последовательное уменьшениекаждой из граней при сохранениипокрытия• Результирующее покрытие состоитне только из максимальных граней• Позволяет изменить формупокрытия• Порядок «сужения» граней имеетважное значение• Является ключевым шагом, так какпозволяет в дальнейшемпроизвести такое «расширение»граней, которое позволит покрытьдругие грани• В нашем примере можно «сузить»,например, 2 и 41 03 4 2 0010 0110 1111 11 011Грани10*0*20*1041*0151*1*1110111111Алгоритм ESPRESSO – общая идея1 03 4 2 0010 0110 1111 11 01111101 03 4 2 0010 01111110 1111 1111 01110111111ГраниГрани10*0*10*0*2**102**1041**141**151*1*51*1*«Расширение» граней11«Тупиковое покрытие»Алгоритм ESPRESSO• Этапы алгоритма– «Сужение» граней (REDUCE)– «Расширение» граней (EXPAND)– «Тупиковое покрытие» (IRREDUNDANT)• Разработка алгоритма началась в компании IBM и былазавершена в университет Berkeley• Литература– Brayton, Hachtel, McMullen, Sangiovanni-Vincentelli, LogicMinimization Algorithms for VLSI Synthesis, Kluwer AcademicPress, 1984– Richard L.