- •М.И. Герасимов
- •Оглавление
- •Раздел 1. Преобразование параметров сигналов в функциональных узлах 7
- •Раздел II. Основы теории анализа и синтеза конечных автоматов 50
- •Раздел III. Схемотехника интерфейсов систем управления 69
- •Раздел IV. Реализация узлов ввода-вывода данных в системах управления 126
- •Раздел V. Реализация модулей памяти 193
- •Введение
- •Раздел 1. Преобразование параметров сигналов в функциональных узлах Лекция 1. Постановка задачи курса
- •Цель и задачи дисциплины, её место в учебном процессе
- •Место дисциплины в структуре ооп впо
- •Требования к уровню освоения содержания дисциплины
- •Содержание дисциплины
- •Разделы дисциплины
- •Содержание разделов дисциплины
- •Раздел I. Преобразование параметров сигналов в функциональных узлах – 8 час.
- •Раздел II. Основы теории анализа и синтеза конечных автоматов – 4 часа.
- •Раздел III. Схемотехника интерфейсов систем управления – 8 часов.
- •Раздел IV. Реализация узлов ввода-вывода данных в системах управления – 10 часов.
- •Раздел V. Реализация модулей памяти – 6 часов.
- •Рекомендуемая литература
- •Учебники (рис. 2)
- •Справочники
- •Программное обеспечение и интернет-ресурсы
- •Методические рекомендации для студентов по изучению учебной дисциплины для очной формы и нормативного срока обучения
- •Указания по работе с основной и дополнительной литературой, рекомендованной программой дисциплины
- •1.5. Советы по подготовке к текущей аттестации и зачету
- •Лекция 2. Преобразователи статических параметров сигнала
- •Лекция 3. Преобразователи динамических параметров сигнала
- •Лекция 4. Релаксационные микросхемы и узлы на их основе
- •4.1. Одновибраторы
- •4.2. Мультивибраторы
- •Раздел II. Основы теории анализа и синтеза конечных автоматов Методические рекомендации для студентов
- •Лекция 5. Анализ функциональных узлов цифровых устройств комбинационного типа
- •Лекция 6. Способы синтеза функциональных узлов цифровых устройств комбинационного типа
- •Раздел III. Схемотехника интерфейсов систем управления Методические рекомендации для студентов
- •Лекция 7. Методы подключения устройств сопряжения
- •7.1. Хабовая архитектура
- •7.2. Шинная архитектура
- •Правила обмена по шине
- •Особенности архитектуры шин
- •Лекция 8. Описание шины isa
- •8.1. Начальные сведения
- •8.2. Сигналы, протокол, циклы шины isa
- •8.3. Общие сведения о разновидностях структуры
- •Лекции 9-10. Структурные решения управляющих систем с протоколом isa
- •9.1. Узел сопряжения с магистралями шины
- •9.2. Селектор адреса
- •9.3. Выработка адресованных команд
- •9.4. Формирователи сигналов оповещения и управления темпом обмена Реализация 16-разрядного обмена данными
- •Асинхронный обмен по isa
- •9.5. Регистр состояния
- •9.6. Регистры данных
- •9.7. Сторожевой таймер
- •9.8. Схема управления прерываниями
- •Раздел IV. Реализация узлов ввода-вывода данных в системах управления Методические рекомендации для студентов
- •Лекция 11. Основные и факультативные функции узлов ввода-вывода
- •Лекция 12. Блоки ввода-вывода дискретных сигналов
- •12.1. Блоки ввода двухпозиционных сигналов. Технические требования и возможности
- •12.2. Блоки вывода двухпозиционных сигналов. Технические требования и возможности
- •12.3. Блоки вывода кодированных и числоимпульсных сигналов
- •12.4. Блоки ввода кодированных сигналов
- •12.5. Блоки ввода числоимпульсных сигналов
- •Лекция 13. Блоки ввода-вывода аналоговых сигналов
- •13.1. Технические требования и возможности
- •13.2. Вывод импульсных сигналов скважности и фазы
- •13.3. Вывод аналоговой информации в виде напряжений
- •13.4. Цифро-аналоговые преобразователи напряжения
- •Цапн с параллельной резисторной матрицей
- •Цап на структурах r-2r
- •Двуполярная схема цапн
- •Параметры цап
- •С татические параметры
- •Динамические параметры
- •Шумы, помехи и дрейфы
- •Характеристики массовых цап
- •13.5. Ввод в су фазовых сигналов
- •13.6. Ввод амплитудных сигналов
- •13.7. Аналого-цифровые преобразователи
- •Основные характеристики ацп
- •Типовые значения характеристик ацп
- •Лекция 14. Схемотехника различных ацп
- •14.1. Параллельные ацп
- •14.2. Последовательные ацп
- •Ацп с линейно изменяющимся эталонным напряжением
- •Ацп с поразрядным взвешиванием
- •Ацп с двойным интегрированием
- •Лекция 15. Сигма-дельта ацп и цап
- •Передискретизация
- •Цифровая фильтрация и децимация
- •Способы реализации цифровых фильтров
- •Дельта-сигма цап
- •Особенности применения
- •Раздел V. Реализация модулей памяти
- •Лекция 16. Схемотехника логических устройств с программируемыми функциями
- •Лекция 17. Узлы постоянной памяти
- •17.1. Постоянные запоминающие устройства
- •17.2. Флэш-память
- •Лекция 18. Узлы оперативной памяти
- •Вопросы для зачета
- •Заключение
- •Библиографический список
- •394026 Воронеж, Московский просп., 14
Лекция 6. Способы синтеза функциональных узлов цифровых устройств комбинационного типа
Постановка задачи. На основе описания функционирования комбинационного устройства построить электрическую принципиальную схему данного устройства в заданном базисе.
Проектирование произвольной логики комбинационного типа производится по этапам (укрупнено – согласно рис. 27).
Рис. 27
Сложные КС разрабатывают с помощью средств автоматизации проектирования, выполняя многоуровневую декомпозицию КС на более простые узлы. В целом последовательность этапов проектирования выглядит следующим образом.
Задать автомат словесно или в виде диаграммы «входы-выходы»; уточнить словесное описание КС, раскрыв содержание использованных заказчиком терминов и понятий.
Представить КС в виде функционального ЭЛЕМЕНТА («черного ящика»), затем разработать в соответствии с п. 1 его функциональную спецификацию, включающую внешнее представление (полная совокупность всех входов и выходов, УГО) и внутреннее описание, определяющее характер функционирования КС. Это может быть сделано различными способами, чаще всего формируют таблицы функционирования (таблицы истинности), задающие значение искомых функций на всех наборах аргументов (некоторые значения могут быть неопределенными).
От таблицы перейти к СДНФ искомых функций (СДНФ — совершенная дизъюнктивная нормальная форма, т. е. дизъюнкция конъюнктивных членов одинаковой размерности). Для этого составляют логическую сумму тех наборов аргументов, на которых функция принимает единичное значение. Иногда удобнее использовать СКНФ.
Далее следует выбрать одно из средств аппаратной реализации функций.
Оптимизировать представление заданной функции или системы функций применительно к выбранному типу аппаратных средств.
Подобрать конкретные элементы, наилучшим образом подходящие для заданных функций, составить принципиальную схему устройства и перечень элементов.
Проверить функционирование КС на соответствие исходной таблице истинности и словесному описанию (просчетом состояний, моделированием или макетированием).
Алгоритм вкратце: словесное описание → УГО + таблицы функционирования → формула → схема.
Содержание этапов 5, 6 зависит от сделанного в п. 4 выбора. Рассмотрим разновидности используемых аппаратных средств. К ним в современной схемотехнике относятся:
Логические блоки, собираемые из логических элементов некоторого базиса (SLC, Small Logic Cells).
Логические блоки в виде последовательности матриц элементов И и ИЛИ с программируемыми связями (PLA, Programmable Logic Array; PAL, Programmable Array Logic).
Универсальные логические блоки на основе мультиплексоров.
Логические блоки табличного типа (LUTs, Look-Up Tables).
Не исключается и применение функционально законченных микросхем т. наз. средней степени интеграции, которые представляют собой непрограммируемые комбинации элементов И и ИЛИ (шифраторы, дешифраторы, АЛУ и др.).
Основанием выбора служат достоинства и недостатки каждого варианта.
Данное средство реализации является наиболее традиционным. Блоки на базе SLC разрабатываются для конкретного применения, существуют методы минимизации аппаратных средств, описанные ниже. Результатом такого варианта является специальное устройство, не подлежащее перенастройке и занимающее много места (печатная плата).
БИС/СБИС программируемой логики сочетают в себе достоинства приспособляемости к задаче заказчика, массовости производства (следовательно, низкой цены), компактности и повышенной надежности (минимум внешних линий связи).
Универсальные логические модули (УЛМ) на основе мультиплексоров относятся к устройствам, настраиваемым на решение той или иной задачи. Универсальность их состоит в том, что для заданного числа аргументов можно настроить УЛМ на любую функцию. Известно, что общее число функций n аргументов выражается как с ростом n число функций растет чрезвычайно быстро (например, одна из БИС фирмы Actel позволяет реализовать более 700 различных функций). Хотя практический интерес представляют не все существующие функции, возможность получить любую из огромного числа функций свидетельствует о больших перспективах применения УЛМ. В то же время большое число настроечных входов затрудняет реализацию УЛМ.
Табличный блок представляет собою память, в которой имеется столько ячеек, сколько необходимо для хранения всех значений функций, т. е. 2 m, где m — число аргументов функции. Набор аргументов является адресом той ячейки, в которой хранится значение функции на этом наборе (0 или 1). LUTs обычно имеют множество входов и выходов и их применение целесообразно при необходимости получения большой группы функций, не поддающихся минимизации.
Рассмотрим представление заданной функции или системы функций применительно к выбранному типу аппаратных средств (см. п. 5).
Синтез КС на логических блоках типа SLC, т.е. на вентильном уровне, является самым традиционным и изученным (термином "вентиль" называют базовые логические ячейки, выполняющие простейшие операции, для многих ИС эту роль играют элементы И-НЕ с двумя-восемью входами).
В этом варианте следующими этапами проектирования КС являются:
минимизация логических функций;
переход к заданному логическому базису;
контроль отсутствия критических состязаний (рисков).
Минимизация в широком смысле слова — такое преобразование логических функций, которое упрощает их в смысле заданного критерия. Исторически первым было стремление минимизировать число логических элементов в схеме (элементы были наиболее дорогими компонентами устройств), что приводит к критерию сложности схемы в виде числа букв в реализуемых выражениях. Этот критерий учитывается так называемой ценой по Квайну — суммарным числом входов всех логических элементов схемы. Для минимизации по этому критерию разработано несколько методов, в их числе как аналитические, основанные на преобразованиях математических выражений, так и графические, основанные на применении специальных карт (карт Карно, диаграмм Вейча), удобных в использовании, если число аргументов функции не превышает 6.
С переходом на ИС и ростом уровня их интеграции критерием аппаратной сложности ЦУ стала площадь, затрачиваемая на их размещение. При этом для ИС, реализуемых непосредственно на кристалле, площадь имеет прямой физический смысл и измеряется чаще всего в квадратных миллиметрах. Для устройств, реализуемых на печатной плате, "площадь" измеряется числом корпусов в составе ЦУ. Так как корпуса ИС неодинаковы, их следует приводить к некоторым эквивалентным корпусам. Приведение учитывает число выводов корпуса, так, например, корпус с 24 выводами в 1,5 раза сложнее корпуса с 16 выводами. Понятно, что операции приведения соответствует оценка суммарной площади корпусов ЦУ по общему числу всех выводов корпусов ИС.
Минимизация по числу букв в реализуемом выражении перестала точно соответствовать новому критерию, хотя между обоими критериями сохраняется известная связь.
Следующий этап проектирования — переход к заданному (или принятому за оптимальный) логическому базису от исходных выражений, которые обычно получают в булевском базисе (И, ИЛИ, НЕ). Рассмотрим пример перехода для функции Правила такого перехода известны, они основаны на применении теоремы де Моргана. В частности, для перехода к базису И-НЕ используется соотношение
а для перехода к базису Пирса удобно вначале получить исходную булевскую форму для инверсии искомой функции, а затем от нее перейти к базису ИЛИ-НЕ по соотношениям
Традиционные методы минимизации функций алгебры логики приводят к каноническим их формам, соответствующим двухъярусной (если входные переменные заданы и прямыми и инверсными значениями) реализации путем последовательного выполнения операций И и ИЛИ. Переход к базисам И-НЕ и ИЛИ-НЕ ярусность схем не изменяет. Для построения простых схем или схем на некоторых видах программируемой матричной логики такое представление может служить в качестве окончательного варианта. Для некоторых задач каноническое представление может оказаться слишком громоздким. Для упрощения выражений можно применять к ним факторизацию (вынесение общих множителей за скобки и группирование членов), различного рода эквивалентные подстановки и др. Упрощение функций путем факторизации может дать большой эффект, но при этом увеличивается ярусность схем и. следовательно, возрастает задержка в выработке результата. с другой стороны, использование не единого базиса, а сочетания разных функциональных элементов зачастую позволяет сократить аппаратурные затраты. Чаще всего достаточно использовать сочетание микросхем с функциями НЕ, И-НЕ (либо ИЛИ-НЕ) и Исключающее ИЛИ (приведение последних в базис Шеффера или Пирса увеличивает количество корпусов в 4 раза!). Кроме того, в ходе реализации следует учитывать возможности сокращения ассортимента применяемых микросхем за счет использования свободных вентилей с большими возможностями (числом входов, сложностью функции) вместо элементов с меньшими.
Возможные преобразования функций порождают необозримое множество вариантов, причем наиболее ценные отнюдь не лежат на поверхности. При поиске таких вариантов проектировщик не имеет теоретических подсказок и действует эвристически.
В работе /13, с. 6/ сказано: "Примером исчисления, которым широко пользуются в процессе синтеза логических схем, являются преобразования алгебры логики. Набор правил говорит лишь о том, как можно преобразовать исходное булево выражение, но ничего не говорит о том, как нужно его преобразовать, чтобы на данном логическом базисе получить минимальную задержку или минимальное число корпусов, или некоторый компромисс между этими требованиями". С 1988 года, когда это было написано, ситуация не изменилась, тем более, что базис SLC для сложных узлов неактуален.
К проблематике проектирования ЦУ относится и вопрос о критериях их качества. Поскольку одну и ту же задачу можно решить многими способами, возникают альтернативные варианты проекта, которые нужно уметь сравнивать между собой. Объективная сложность сравнительной оценки вариантов обусловлена тем, что при этом имеет значение целый набор свойств для каждого варианта — частных критериев его качества. Каждый частный критерий имеет ясный, определенный смысл (аппаратная сложность, быстродействие, потребляемая мощность, помехоустойчивость и др.), но не может исчерпывающим образом охарактеризовать вариант. А чтобы учесть несколько частных критериев качества, нужно сформировать общий критерий (интегральный, многоцелевой, функцию качества, функцию ценности). Формирование такого критерия — чрезвычайно ответственная задача, не имеющая формального решения. В любую форму общего критерия качества входят коэффициенты, назначаемые субъективно. Таким образом, возникает ситуация, когда для оценки устройства применяется критерий, а для него самого оценки качества не существует. Поэтому в практике проектирования сложные общие критерии качества не популярны. Достаточно признанным можно, пожалуй, считать лишь критерий A·T, где А — аппаратная сложность устройства, Т — время решения задачи. Да и то здесь также проявляется общий недостаток, свойственный всем общим критериям — в них может происходить взаимная компенсация частных критериев, и уменьшение одного может быть скомпенсировано ростом другого, что формально равноценно, но не всегда разумно.
Как известно, выходные величины КС зависят только от текущего значения входных величин (аргументов). Предыстория значения не имеет. После завершения переходных процессов в КС на их выходах устанавливаются выходные величины, на которые характер переходных процессов влияния не оказывает. С этой точки зрения переходные процессы в КС не опасны. Но в ЦУ в целом КС функционируют совместно с АП, что кардинально меняет ситуацию. Во время переходных процессов на выходах КС появляются врéменные сигналы, не предусмотренные описанием работы КС и называемые рисками. Сам процесс разновременности в формировании сигналов при переключении называют гонками или состязаниями (различают некритические состязания, которые происходят внутри схемы и не проявляются на выходах, и критические, ведущие к рискам). Со временем риски исчезают, и выход КС приобретает значение, предусмотренное логической формулой, описывающей работу цепи. Однако риски могут быть восприняты элементами памяти АП, необратимое изменение состояния которых может радикально изменить работу ЦУ, несмотря на исчезновение сигналов рисков на выходе КС.
Для исключения возможных сбоев в работе ЦУ из-за явлений риска имеются два пути. Первый состоит в синтезе схем, свободных от рисков, и требует сложного анализа процессов в схеме и введения избыточных элементов для исключения рисков /9/. Этот путь редко используется в практике. Второй путь, основной для современной схемотехники, предусматривает запрещение восприятия сигналов КС элементами памяти на время переходных процессов. Прием информации с выходов КС разрешается только специальным сигналом синхронизации, подаваемым на элементы памяти после окончания переходных процессов в КС. Таким образом, исключается воздействие ложных сигналов на элементы памяти. Иными словами, основная идея здесь может быть выражена словами "переждать неприятности". Соответствующие структуры называются синхронными.
В общем случае нужно оценить задержку сигнала на самом коротком пути как сумму минимальных задержек элементов, составляющих этот путь, и задержку на самом длинном пути как сумму максимальных. Обычно в документации изготовителей даны только максимальные задержки, а в результате теряется возможность сравнивать времена прохождения сигналов в разных цепях (в любой цепи задержка может быть сколь угодно малой), а это затрудняет оценку работоспособности схем и может вынудить принять не лучшие схемотехнические решения. Для цепей из элементов с независимыми задержками отношение tз.тах/tз.min равно обычно 2...3, для элементов одного кристалла между задержками элементов возникает сильная корреляция, и отношение tз.тах/tз.min может существенно снижаться.
Если данный проект реализуется на логических блоках в виде последовательно включенных матриц элементов И и ИЛИ либо их эквивалента в другом базисе, то исходную СДНФ можно минимизировать, если, конечно, возникает такая необходимость. Логические блоки с матрицами И и ИЛИ воспроизводят системы переключательных функций. Число входов (аргументов воспроизводимых функций) и число выходов (самих функций) от формы выражения функций не зависят и предопределены заданием. Число термов (имеются в виду конъюнктивные термы) зависит от формы представления функций системы. Если число термов при данной форме представления функций превышает возможности логического блока, то возникает вопрос о минимизации функций. Целью минимизации будет сокращение числа конъюнктивных термов в данной системе функций, т. е. поиск кратчайших дизъюнктивных форм. Практически это сводится к поиску минимальных форм дизъюнктивных нормальных форм (ДНФ), и отбору среди них вариантов с достаточно малым числом термов. Как только находится форма с достаточно малым числом термов, поиск других форм можно прекратить, т. к. дальнейшее уменьшение числа термов системы эффекта не даст: сложность аппаратных средств воспроизведения системы уже не уменьшится. Разумеется, речь идет о реализациях на уже выбранных средствах, а не о том, что могут быть применены иные логические блоки — того же типа, но иной размерности.
Логические блоки на основе мультиплексоров рассмотрены в /1, § 2.5/.
Если КС будет реализована на основе логических блоков табличного типа (см. /1, § 4.5/), то СДНФ явится окончательным выражением функции, и никаких дальнейших преобразований этой формы не потребуется. Дело в том, что табличный блок представляет собою память, в которой имеется столько ячеек, сколько необходимо для хранения всех значений функций, т. е. 2 m, где m — число аргументов функции. Набор аргументов является адресом той ячейки, в которой хранится значение функции на этом наборе (0 или 1). СДНФ как раз и содержит все адреса, по которым нужно хранить единичные значения функции. Если требуется воспроизвести n функций, то в каждой ячейке нужно будет хранить n бит (по одному биту для каждой функции).
Если искомая функция выражена в какой-либо сокращенной форме, то следует перевести ее в СДНФ. Это делается либо заполнением карты Карно и последующей записью функции без какого-либо объединения единиц, либо введением в каждую конъюнкцию недостающих переменных хi путем домножения конъюнкции на равные единице выражения c последующим раскрытием скобок (хi — вводимая переменная). Пример приведения функции в СДНФ:
Для воспроизведения этой функции по пяти конъюнкциям-адресам в ППЗУ следует записать единицы, по остальным адресам – нули.
Реализация функции в СДНФ определяет большие затраты элементов памяти, однако цена элемента памяти значительно ниже цены логического элемента, поэтому даже при избыточности числа элементов памяти в несколько раз (по сравнению с числом логических элементов, необходимых для воспроизведения функции на SLC) реализация на ППЗУ может оказаться выгодной. К тому же время прохождения сигнала на выход ППЗУ одинаково для всех входов.