ПРОЕКТИРОВАНИЕ ИС на программируемых кристаллах

DSD 16 ( Q3 ) Programmable-chip design.

4 hours (2-hr lecture, 2-hr labs)

Credit

 

ПРОЕКТИРОВАНИЕ ИС на программируемых кристаллах

 

 

Литература

 

  1. Дж.Уэйкерли. Проектирование цифровых устройств. В 2 кн. М., Постмаркет, 2002
  2. Р.Дж.Беннеттс. "Проектирование тестопригодных логических схем".
  3. М., Радио и Связь, 1990. 681.325.6.Б-463.
  4. Проектирование СБИС. Пер. с японского. М., Mир,1988.621.3.049.77.П-791
  5. С.И.Баранов, В.А.Скляров. Цифровые устройства на программируемых БИС с матричной структурой".М., Радио и Связь. 1986. 621.3.049.77.Б-241
  6. Автоматизированное проектирование СБИС на базовых кристаллах.М., Радио и Связь, 1988. 621,3,049,77, А-224
  7. В.Г.Домрачев, П.П.Мальцев, И.В.Новаченко, С.Н.Пономарев. "Базовые матричные кристаллы и матричные БИС". М, Энергоатомиздат, 1992.
  8. Г.И. Пухальский, Т.Я. Новосельцева. Цифровые устройства. С.-Петербург, Политехника, 1996.
  9. В.В. Соловьев. Проектирование цифровых схем на основе программируемых логических интегральных схем. М. Горячая линия-Телеком.2001.
  1. Петренко А.И., Лошаков В.Н. «Автоматизированное проектирование СБИС на базовых кристаллах».
  2. Гаровс С.В. «Кодовая защита в цепях передачи информации».

 

 

Лекция 1-2.

Задачи и структура курса. Классификация способов проектирования универсальных и специализированных, заказных и полузаказных ИМС. Понятие о базовых матричных кристаллах (БМК =MaskPrAr=MPA) и программируемых логических матрицах (ПЛМ=PLAs), программируемых матрицах логики (ПМЛ=PALs) как основных типах полуфабрикатных матричных структур для формирования базовых элементов микроэлектронных устройств. Программируемые полем (FPGA) и сложные или составные (CPLD) ПЛУ=PLDs Основные термины, параметры, этапы проектирования полузаказных ИМС=PLDs.

 

Выделяют следующие способы проектирования и типы схем.

ИС для применения частного характера в определенных изделиях называются полузаказными или специализированными. (application-specific IC, ASICs). Cтоимость 5 – 250 тыс.$.

Заказная ИС (custom LSI) - архитектура схемы, структура кристалла на уровне транзисторов определяются индивидуальным заказом потребителя. Схемы дорогие, более 250 тыс. Только для ИС с большими объемами выпуска.

Промежуточная группа – проектирование стандартными ячейками (standard cell design). Разрабатываются типовые блоки вида МП, ДШ, ЭП, Рг, Сч… К ним разрабатываются спец. элементы, если нужно (но дороже!). на кристалле оптимизируется размещение этих ячеек. Цены около 150 тыс.

Более дешево моэно делать такие проекты на вентильных матрицах (gate arrays). Цена около 75 тыс., гибкость проекта выше, но площадь кристалла растет(избыточность, эффективность использования ячеек).

 

К полузаказным относят СБИС на таких полуфабрикатах, как транзисторные матрицы, вентильные матрицы, матрицы стандартных ячеек, программируемые логические матрицы (ПЛМ), ПЗУ, программируемые матрицы логики.

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

Последние определения можно представить в виде некоторой классификации.

 

Специализированные

СБИС транзисторные матрицы

 
 


заказные полузаказные вентильные матрицы

       
   
 


ПЛМ, ПЗУ

custom ASIC

design

стандартные ячейки (узлы)

 

 
 


кремниевый компилятор

 

МЕТОДЫ ПРОЕКТИРОВАНИЯ специализированных полузаказных БИС.

 

Как видно из классификаци, можно выделить следующие способы проектирования полузаказных БИС:

n на основе базовых матричных кристаллов (БМК), к которым могут относиться транзисторные или вентильные матрицы;

n на основе программируемых логических матриц (ПЛМ);

n на основе стандартных узлов;

n методом кремниевой компиляции.

ДОСТОИНСТВА И НЕДОСТАТКИ проектирования полузаказных схем:

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

 

История развития програмируемых ИС:

Первыми появились ПЛМ – программируемые логические матрицы (PLAs),

Улучшение архитектуры привело к созданию ПМЛ = PAL,

ПМЛ – программируемые матрицы логики, программируемые устройства (PAL, PLS). ДЛЯ БОЛЬШОГО ЧИСЛА ПЕРЕМЕННЫХ ПЛМ = PLA

 

ПЛИС – ППЗУ – PROM

В 90-х годах стало возможным реализовать на одном кристалле нескольких ПМЛ, объединенных программируемыми соединениями: сложные или составные ПЛУ = PLD = CPLD (Соmplex Рrogram. Logic devices) и гибкие ПМЛ (FLEX).

Параллельно развивались архитектуры вентильных матриц (GA) или БМК. Програмируемые пользователем БМК (FPGA – программируемые полем).

Стандартные ПЛУ (SPLD) и FPGA взаимно дополняют один другого и конкурируют между собой в некоторых применениях.

 

Современная Классификации ПЛИС

 

PROGR. LOGIC
         
               
PLD   FLEX   FPGA
               
         
SPLD       CPLD    
               
         
PLA   PROM   PAL  
           
PLS           GAL  
               

 

 

Элементарные логические элементы и функции

 

 

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

           
 
     
 
 

 


И-НЕ &

 

           
 
     
 
 

ИЛИ-НЕ ³1

 

       
 
   


НЕ 1

 


 
 

Исключающее =1

ИЛИ (Å)

 

Элемент с Z- состоянием

 

 

формирователи парафазных сигналов.

 

 

Любой ЛЭ с повышенной нагрузочной способностью называется буфером или драйвером. Стробируемые многоразрядные драйверы с Z- состоянием выхода используются для подключения внешних устройств к системной шине данных микропроцессорной системы с помощью операции «монтажное ИЛИ» называются шинные формирователи или шинные драйверы.


Основные определения булевой алгебры.

В - некоторое множество, f и g - функции, для которых при x, y, z B выполняются следующие условия

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

Чаще всего используют следующие функции:

а) повторение F = A, где А - переменная;

б) инверсия (отрицание, НЕ) F ===ù A;

в) логическое сложение (дизъюнкция, ИЛИ) F = A + B = AB (функция двух переменных), выражение для большего числа переменных можно записать следующим образом F =, где - переменные;

г) логическое умножение (конъюнкция, И) F = A * B = A & B = AB (функция двух переменных), выражение для любого числа переменных - F = , где - переменные;

д) операция ИЛИ-НЕ F = ù(A + B) = ( стрелка Пирса); соответственно для нескольких переменных F = ù

е) операция И-НЕ F = ù (штрих Шеффера), для нескольких переменных -

F = ùпеременные;

ж) операция «эквивалентность» F = AB = ù (A Å B) , функция принимает истинностные значения при равенстве значений А и В;

з) операция «неэквивалентность» F = A Å B , функция принимает истинностные значения при неравенстве значений А и В («исключающее ИЛИ»);

и) операция «импликация» F = A É B , значение «ложно» функция принимает лишь при условии, когда А истинно, а В - ложно, то есть А É В = А &(ù В).

Следствие:если А и В пропозициональные формы (логические выражения), то и любые логические выражения с этими пропозициональными формами также являются логическими выражениями.

Любая пропозициональная форма может быть определена 3-мя связками: ù, &, È (НЕ, И, ИЛИ = инверсия, конъюнкция, дизъюнкция).

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

 

РАСПРОСТРАНЕННЫЕ АЛГЕБРАИЧЕСКИЕ ТОЖДЕСТВА

1. x + x = x * j * x * x = x - идемпотентность;

2. (x + y) + z = x + (y + z) - ассоциативность;

3. (x * y) = (y * x), (x + y) = (y + x) - коммутативность;

4. x (x + y) = x * y + x = x - поглощение;

5. (x + y) * z = x * z + y * z -дистрибутивность;

6. - правила Де-Моргана.

УСЛОВНО-ГРАФИЧЕСКИЕ ОБОЗНАЧЕНИЯ .

 

Приведем примеры обозначений логических элементов, наиболее часто применяемых в схемотехнике.

 

А F=

Повторитель А F=А ; инвертор А о F =; инвертор- > o

усилитель

А 0 F =

 

A

A xo

B & F=A*B B &0 F = &

И И-НЕ xn-1 И для многих переменных

 

А А х0

1 F=A+B 1 F= 1 F=

В В 0 0

 

ИЛИ ИЛИ-НЕ ИЛИ-НЕ для многих переменных

 

 

х1 х1

Å = 1

F = ù`F

x2 x2

 

Исключающее ИЛИ, неэквивалентность.

 

Символ О - означает инверсию на выходе или нга входе. В любой элемент может быть добавлен символ > , означающий усиление сигнала на выходе.

 

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

Пусть известна таблица истинности для некоторой функции, которую нужно реализовать схемотехнически.

 

 

x1 x2 x3 F

 

F=P1+P2+P3.

 

 

x1

x o P1

&

       
 
   
 

 


P2 1 F

x2 &

x O

 
 

 


& P3

 

x3 O x

 

 

Основные логические функции можно проиллюстрировать примерами пересечения множеств:

 

«И» = & «ИЛИ» =  = +

 
 


А А

В В

 

«И-НЕ» = ù (А&B) = A êB «ИЛИ-НЕ» = ù (А ÈВ) = А ¯ В

       
   
 

 


В ВВВ В В

А А А

 

инверсия «НЕ» = ù «импликация» = А&(ù В)

 

А А А В

 

Приведем примеры схемной реализации ряда распространенных логических функций с использованием трех основных логических действий (, , ):

 

« импликация» F =     *, таблица истинности функции:

A &

A B F
1

B O O f =ù(АÉВ)=

 
 


«тавтология»F = А É=1, А

&

 

О О 1

при помощи последней схемы можно выполнить

схему формирования сигнала, введя линию задержки из нечетного числа инверторов:

 

А

           
 
     
 

 


& o

Л.З. о

 

«Бистабильная ячейка»F =ù(ùA)=

A F

 

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

 

RS- триггер. o

R & Q R Q

RS-tr

S&S O

Логические элементы в RS-триггере могут быть как И-НЕ, так и ИЛИ-НЕ типа, выходные значения функций меняются при этом с точностью до инверсии. Триггеры на И-НЕ-базисе управляются положительными сигналами, а на ИЛИ-НЕ-базисе - отрицательными.

DC-триггер.Тактируемый триггер задержки выполняет следующую функцию:

D Q

D Q

При С = 0, - это элемент памяти, С о =

а при С = 1, .C O

Элемент памяти изображается обычно с соответствующими адресной (словарной) и разрядной (числовой) шинами управления: АШ(СШ)

 

 

ЭП РШ(ЧШ)

 

Структура матриц ПЛМ (SPLD) – две взаимоортогональные матрицы проводников, матрица И и матрица ИЛИ.

Входные сигналы поступают на парафазные входы матрицы И. Конъюнкции.

Выходы матрицы И соединены с входами матрицы ИЛИ (дизъюнкции).

Выходные шины матрицы И – промежуточные или множество термов (product terms).

Программировать можно любые сочетания матриц:

· программируются обе матрицы – ПЛМ=PLA.

· Программируется матрица ИЛИ, матрица И настроена на функцию полного ДШ – PROM.

· Программируется матрица И, матрица ИЛИ имеет фиксированную настройку при которой q промежуточных шин связывается с одним выходом – ПМЛ=PAL.

В последней структуре число промежуточных шин, подсоединяемых к одному выходу, ограничено. В случае необходимости можно для расширения возможностей ПМЛ объединяют выходы с помощью ЛЭ или проводным соединением (для инверсной логики). То, что программируется только одна матрица, упрощает и удешевляет структуру ПМЛ и увеличивает быстродействие. Благодаря упрощению матрицы ИЛИ в структуру ПМЛ добавляют цепи ОС и выходные буферы.

 

°

И

ПЛМ

 
 

n °

 


q

   
 
 
 

 


ИЛИ m

 
 

 


 
 

°

ДШ

ППЗУ

 
 

n °

 


2n

   
 
 
 

 


ИЛИ m

 
 

 


1 n

° ° ° ° 1 ´ ИЛИ

° ° ° ° х

° ° ° ° q ´

   
 
 
 


ПМЛ

1

 
 


q

 

1 m

 

° программируемое соединение, ´ фиксированное соединение.

Рис. 1.1.4. Структура ПЛМ-ПМЛ.

 

 

На рис. 1.1.5, 1.1.6, 1.1.7 показаны структурные организации типовых программируемых кристаллов (сложные ПМЛ, гибкие ПМЛ, программируемые полем xilix)