Навигация
Главная
Новости
Ресурсы
 Книги
 Справочники
 Статьи
Файловый архив
 Журналы
 Книги
 Справочники
 Просто софт
 Софт по электронике
Обратная связь
Карта сайта

СКБ КриптоНет


Книги

Уважаемый читатель!
Публикация данного документа не преследует за собой никакой коммерческой выгоды. Но такие документы способствуют профессиональному и духовному росту читателей и являются рекламой бумажных изданий таких документов. Все авторские права сохраняются за правообладателем.
За содержание книги ответственность несут ее авторы.

1.10. Уровни проектирования цифровых устройств

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

Самый низкий уровень представления при проектировании цифровых устройств — это физика того, что происходит в логической схеме, и процессы, протекающие при изготовлении ИС. Заслугой в первую очередь этого уровня является поразительный прогресс в отношении быстродействия и плотности ИС за последние десятилетия. Это стремительное движение отражает закон Мура (Moore's Law), впервые сформулированный основателем фирмы Intel Гордоном Муром (Gordon Moore) в 1965 году, и состоящий в том, что число транзисторов, приходящихся на квадратный дюйм в ИС, каждый год удваивается. В последние годы темп этого движения вперед замедлился: удвоение происходит теперь каждые 18

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

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

Мы совершим скачок в представлениях и абстракции сразу на уровень транзисторов и пройдем весь путь до уровня логического проектирования с использованием языков описания схем. Лишь коротко мы остановимся на следующем уровне, который включает проектирование компьютеров и систем в целом. «Центральным» в нашем рассмотрении будет уровень функциональных структурных блоков.

Чтобы составить предварительное представление об уровнях проектирования цифровых устройств, которые встретятся на нашем пути, рассмотрим простой пример. Предположим, что нужно построить «мультиплексор» с двумя входами двоичных данных А и В, с двоичным управляющим входом S и двоичным выходом Z. В зависимости от того, какое значение имеет S - 0 или I, - схема передает на выход Z значения А или В. Принцип действия такого устройства иллюстрирует «модель в виде переключателя» на рис. 1.7. Давайте разберем процесс проектирования такого устройства на нескольких различных уровнях.

 

Рис. 1.7. Модель мультиплексора в виде переключателя

 

Хотя логическое проектирование выполняется, как правило, на более высоком уровне, в отношении некоторых устройств полезно оптимизировать их, спустившись до уровня транзисторов. Мультиплексор как раз является таким устройством. На рис. 1.8 показано, как может выглядеть схема мультиплексора, созданная на основе КМОП-технологии с использованием специальных транзисторных структур, называемых «логическими ключами», которые будут рассмотрены в разделе 3.7.1. При таком подходе мультиплексор можно построить всего лишь на шести транзисторах, тогда как при любых других подходах, о которых пойдет речь, для этого требуется, по меньшей мере, 14 транзисторов.

По традиционной теории логического проектирования нам следовало бы воспользоваться «таблицей истинности» для описания логической функции, реализуемой мультиплексором. В таблице истинности перечисляются все возможные комбинации значений на входах и соответствующие данной функции значения выходного сигнала. Поскольку у мультиплексора три входа, имеется 23 то есть 8 возможных комбинаций входных величин, как показано в табл. 1.1.

 

 

Рис. 1.8. Схема мультиплексора на логических ключах, выполненных по КМОП-технологии

 

 

Табл. 1.1. Таблица истинности для мультиплексора

 

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

 

 

Это соотношение читается так: «Z равно не S и А или S и В». Продвигаясь еще на один шаг вперед, можно превратить наше соотношение в схему, состоящую из соответствующих вентилей, которая реализует заданную логическую функцию, как показано на рис. 1.9. Если иметь в виду КМОП-технологию, то для четырех вентилей в этой схеме потребуется 14 транзисторов.

 

 

Рис. 1.9. Логическая схема мультиплексора на уровне вентилей

 

Мультиплексоры применяются очень широко, поэтому в большинстве систем логических элементов имеются готовые структурные блоки, реализующие функцию мультиплексора. Примером может служить микросхема средней степени интеграции 74x157, которая осуществляет переключение входных сигналов, поступающих по двум 4-разрядным шинам. На рис. 1.10 приведено условное обозначение такого устройства; как видим, достаточно изменения одного управляющего бита, чтобы решить проблему одновременного переключения всех сигнальных линий 4-разрядных шин. Рядом с выводами указаны их номера для корпуса DIP с 16 выводами, в котором находится мультиплексор.


 

 

Рис. 1.10. Условное обозначение мультиплексора, выполненного в виде ИС средней степени интеграции

 


Можно реализовать функцию мультиплексора на части программируемого логического устройства. Языки типа ABEL позволяют с помощью булевых соотношений, подобных приведенному выше, определять выходные сигналы, однако, как правило, для этого удобнее воспользоваться элементами языка более высокого уровня. В табл. 1.2 в качестве примера приведена программа для мультиплексора на языке ABEL. Первыми тремя строками задается имя программного модуля и тип ПЛУ, на котором должна быть реализована данная функция. В следующих двух строках входам и выходу присваиваются определенные номера выводов ИС. Оператор "WHEN" служит выражением фактически реализуемой логической функции, которое совсем нетрудно понять, несмотря на то, что язык ABEL вам еще не знаком.


 

 

Табл. 1.2. Программа для мультиплексора на языке ABEL

 

На языке VHDL, который является языком более высокого уровня, функцию мультиплексора можно задать более гибко и по иерархическому принципу. Пример программы для мультиплексора на языке VHDL приведен в табл. 1.3. В первых двух строках указаны стандартная библиотека и набор определений, которые используются в проекте. В следующих четырех строках только определяются входы и выходы проектируемого устройства, и здесь намеренно ничего не говорится о каких-либо деталях того, как именно требуемая функция будет реализована внутри ПЛУ Функциональное поведение устройства конкретизируется в части программы, начинающейся с заголовка "architecture". Синтаксис языка VHDL требует небольшого навыка, но оператор "when" в данной программе выражает собой, по существу, то же самое, что и в варианте программы на языке ABEL. Средства, ответственные за синтез схем, в программном пакете языка VHDL могут начинать с этого функционального описания, и результатом их работы будет нужная схема, сформированная в ПЛУ, выполненном по заданной технологии.

 

 

Табл. 1.3. Программа для мультиплексора на языке VHDL

 

Принудительное разделение определении входов/выходов (entity ) и внутренней реализации ("architecture") в языке VHDL позволяет разработчику легко задавать альтернативные реализации функций, не внося изменений нигде более в иерархии проекта. Например, в качестве альтернативы можно было "бы задать структурную архитектуру мультиплексора, как это сделано в табл. 1.4. Эта архитектура фактически представляет собой текстовый эквивалент логической схемы, приведенной на рис. 1.9.

 

 

Табл. 1.4. «Структурная» VHDL- программа для мультиплексора

 

Заглядывая чуть дальше, мы могли бы убедиться в том, что язык VHDL является довольно мощным средством, фактически позволяющим так описать работу проектируемого устройства, что его функциональное поведение окажется смоделированным на уровне транзисторов (правда, мы не будем заниматься этим в нашей книге). Таким образом, принципиально возможно написать программу на языке VHDL, реализующую на уровне транзисторов мультиплексор, эквивалентный схеме на рис. 1.8.


Если Вы найдете какие либо опечатки, ошибки или подозрительные неточности то обязательно сообщите об этом администрацию сайта (Сделать это можно здесь)


[ Вернуться назад ]

ТОП 10
Файлы:

  1. Карманный справочник по электронике
  2. Цифровая схемотехника
  3. Азбука разработчика цифровых устройств
  4. sPlan или RusPlan v.6.0.0.1
  5. Основы теории цепей
  6. Основы языка VHDL
  7. Справочник по полупроводниковым приборам
  8. UNILOGIC - Логический анализатор для PC
  9. Справочник по расчету параметров катушек индуктивности
  10. Программирование однокристальных микропроцессоров



Новости:

  1. В 3D-принтере лазер заменили солнечным лучом
  2. Нановолокна упростят лечение рака
  3. Квантовый компьютер: IBM переходит к практике
  4. Конференции «Форум разработчиков цифровой электроники»
  5. Магнитогорские андроиды завоюют российский рынок
  6. Создана "глушилка" болтунов, теперь там где надо будет тихо
  7. Создан компактный ветрогенератор на пьезоэлементах
  8. Робот-гепард поставил рекорд скорости
  9. Механическая рука DARPA удивляет ловкостью
  10. Создан пульт дистанционного управления мозгом

Электроника это просто1
Copyright © electronic.com.ua 2007-2024