СХЕМОТЕХНИКА ЭВМ_18.2.17 (855859), страница 17
Текст из файла (страница 17)
V1 – вход разрешения счета;
P1- вход разрешения переноса.
В микросхемах счетчиков типа ИЕ7 и ИЕ18 предусмотрена возможность предварительной записи числа путем подачи сигналов на входы D0, D1, D2 и D3, а затем подачи сигнала на вход разрешения записи.
Ниже приведен пример VHDL-описания 8- разрядного счетчика с синхронной загрузкой по фронту тактового сигнала CLK при сигнале LOAD = 1.
use IEEE.std_logic_1164.all; [1][2]
use IEEE.numeric_std.all;
entity COUNT8 is
port(
DIN : in std_logic_vector(7 downto 0);
CLK : in std_logic;
LOAD : in std_logic;
DOUT : out std_logic_vector(7 downto 0)
);
end COUNT8;
architecture behavior of COUNT8 is
begin
-- notice the process statement and the variable COUNT
clk_proc:process(CLK)
variable COUNT:unsigned(7 downto 0) := "00000000";
begin
if (CLK'EVENT AND CLK = '1') then
if LOAD = '1' then
COUNT := DIN;
else COUNT := COUNT + 1;
end if;
end if;
DOUT <= COUNT;
end process clk_proc;
end behavior;
Вопросы и упражнения к главе 4.
Вопрос 1. Чем отличаются триггера- защелки от триггеров с динамическим управлением?
Вопрос 2. Как реализовать счетный триггер на D- триггере?
Вопрос 3. Как построить счетчик на D-триггерах ?
Вопрос 4. Зачем используются регистры с тристабильными буферными элементами на выходе?
Вопрос 5. Как подсчитать время задержки последовательного счетчика?
Вопрос 6. Какие ограничения на времена поступления входных сигналов в триггерах с динамическим управлением?
Упражнение
На Т-триггерах со сбросом или на JK-триггерах и элементах 2И, НЕ . и 2ИЛИ постройте схему счетчика по модулю 3.
ГЛАВА 5. ПРОЕКТИРОВАНИЕ СИНХРОННЫХ СХЕМ
(Лекции 11-12)
5.1. Введение в проектирование синхронных схем.
Ниже приводятся лишь некоторые рекомендации из области проектирования синхронных схем. Наряду с примерами удачных схемотехнических решений даны и примеры неудачных. При анализе временных соотношений следует учитывать, что в схемах, реализованных на не очень быстродействующих элементах среднего уровня интеграции, типа отечественных микросхем серий КР1553 и КР1554, максимальные тактовые частоты лежат в пределах 2-3 десятков мегагерц и задержки сигналов в проводниках существенно меньше задержек сигналов в элементах. Однако в современных Больших Интегральных Схемах (БИС) с тактовой частотой в несколько сотен мегагерц задержки в проводниках соизмеримы с задержками логических элементов и их следует учитывать при проектировании.
5.1.1 Понятие синхронной схемы.
Синхронные схемы (синхронные модули) – это тактируемые схемы, которые обладают следующими свойствами.
-
Все запоминающие элементы схемы (триггеры–flip flop, регистры(register), блоки памяти (оперативной – ОЗУ (RAM), постоянной– ПЗУ(ROM), с организацией типа очередь – ФИФО (FIFO )и т.п.) должны изменять свои состояния одновременно по одному и тому же активному фронту поступающего извне тактового сигнала(С- clock ).
-
Синхросигнал (С-clock) без задержек, т.е. одновременно, должен поступать на все запоминающие элементы схемы.
Внешний синхросигнал при реализации синхронной схемы на кристалле вводится через специальный тактовый буфер и разводится так, чтобы обеспечить одновременность его поступления на все запоминающие элементы.
На рис.5.1 представлена обобщенная структура синхронной схемы с однотактной синхронизацией (синхросигнал С). К моменту прихода внешнего синхросигнала С на регистры (RG–register) выходы комбинационных схем (CC–combinatorial circuit) должны успеть принять стабильное состояние.
Рис.5.1. Обобщенная структура синхронной схемы.
Таким образом, согласно принципам «чистого синхронизма » не рекомендуется, например, строить схемы, в которых применяются управляемые синхросигналы (gated clocks). Управляемым называется синхросигнал, генерируемый внутри схемы и трассируемый[упростить], если САПР не получает специальных указаний от проектировщика, как обычный сигнал. На схеме рис.5.2 это сигнал C1.
Рис.5.2. Схема приема на регистр с управляемым синхросигналом С1.
Если такой управляемый синхросигнал поступает на множество триггеров, за схемой И(&) (рис.5.2) должен стоять, по крайней мере, буферный повторитель, а «по-хорошему» должна использоваться специальная сеть разводки этого нового, задержанного синхросигнала С1. Применение «управляемых синхросигналов» сильно усложняет расчет временных параметров схем. Использование триггеров с разрешающим входом, как это показано на рис.5.3 во многих случаях позволяет избежать ситуации с управляемыми синхросигналами.
Рис.5.3. Улучшенный вариант схемы приема на регистр, построенный на триггерах с разрешающим входом EN.
В приведенных ранее в главе 4 имеется много примеров схем с управляемыми синхросигналами, но, как уже отмечалось, для схем малого быстродействия этот недостаток несуществен.
Кроме того, в схемотехнике устройств с малым потреблением энергии
(low power design) управляемые синхросигналы применяются весьма часто. На период неактивности модуля его управляемый синхросигнал отключается и этот прием является предметом особого внимания проектировщиков.
Прежде чем рассмотреть синхронные схемы более подробно, следует ответить на вопрос, почему в основной массе проектов используются синхронные, а не асинхронные схемы?
1) Синхронные схемы более устойчивы к разбросу параметров элементов и условий эксплуатации – температуры, напряжения источников питания и т.п.
2) Элементная база современных БИС в основном ориентирована на синхронную схемотехнику.
3) Интерфейс между двумя блоками синхронных устройств обычно более прост, чем между двумя асинхронными и не требует реализации протоколов типа запрос-устройство свободно- ответ да, если свободно.
4) Большинство современных САПР ориентировано на проектирование синхронных схем.
К недостаткам синхронных схем относится высокое энергопотребление сети распространения синхросигналов и помехи, порождаемые мощными синхроимпульсами.
5.1.2. Параллелизм и конвейеризация.
Существует два известных пути повышения производительности и быстродействия устройств – это параллелизм и конвейеризация.
Рассмотрим в качестве примера схему сложения четырех слагаемых
S=A+B+C+D. Вариант последовательного сложения представлен на рис.5.4. Схема использует один сумматор с временем сложения Тs= 4 наносекунды(4 ns) и один регистр и некоторый автомат управления последовательностью операций. Она требует четырех тактов на выполнение операции сложения четырех слагаемых. Время на получение окончательного результата при последовательном сложении Tслож.послед.= 4*ТD=20 ns, где тактовый период ТD=5 ns включает задержку сигнала на сумматоре и на регистре и тактовый период выбран равным времени суммирования + запас на задержку триггеров, время предустановки триггеров и т.д.( вопрос запаса рассмотрен ниже). После обнуления регистра сигналом сброса R, А +0 загружается в регистр на первом такте, В+А на втором и т.д.
Рис.5.4. Последовательный вариант вычисления суммы четырех слагаемых (Tсл_послед= 4*TD=20 ns).
Параллелизм в реализации четырех входового сумматора .
Примером использования параллелизма может служить схема вычисления суммы четырех слагаемых S=(A+B)+(C+D) c использованием трех сумматоров и одного регистра. Первые два сумматора параллельно вычисляют выражения в скобках (рис.5.5.).
Рис.5.5.Параллельный вариант вычисления суммы четырех слагаемых (Tсл_парал= 2*TD=10 ns )
По сравнению с последовательным вариантом вычисления суммы S=A+B + C+D (рис.5.4) при Td=10 ns(2*Ts+ запас 2ns на задержки втриггерах регистров ,предустановку и т.д.-подробнее эти вопросы рассмотрены ниже) такая схема параллельного суммирования четырех слагаемых(рис.5.5) позволяет уменьшить время получения результата Тсл_парал в два раза . Тактовый период увеличивается в два раза ч,что позволяет работать на меньшей тактовой частоте. Схема автомата управления также упрощается. Однако расход аппаратуры в комбинационной части – количество сумматоров увеличилось в три раза.
Конвейеризация.
На рис.5.6.представлен вариант конвейерной организации схемы сложения четырех слагаемых.Конвейер состоит из трех стадий. Схема использует три регистра и три сумматора. На первом такте появляются все четыре слагаемых А,В,С,D. Из них С,D принимаются на буферные регистры, а А,В предварительно проходят через сумматор.На втором такте поступают новые слагаемые А1,В1,С1,D1, а предыдущие проходят через вторую ступень конвейера и т.д. Первая сумма-результат на выходе OUT конвейера появляется через три такта (латентность конвейера или глубина конвейера=3), а далее новые результаты появляются на каждом такте. Т.к. время такта равно времени сложения в сумматоре ts=4 ns плюс запас 1 ns т.е. TD=5 ns,то Tсл_конв= TD=5 ns и быстродействие этой схемы в четыре раза больше, чем у последовательного варианта (рис.5.4, Тсл_посл=4TD=20 ns) и в два раза больше, чем у параллельного (рис.5.5, Тсл_паралл=2TD=10 ns)). Однако количество регистров в конвейерной схеме возросло в шесть раз по сравнению с параллельным вариантом суммирования четырех чисел А.B,C, D (рис.5.5).
Рис.5.6. Конвейерный вариант вычисления суммы четырех слагаемых (Tсл_конв= TD=5 ns).
Читателю предлагается просмотреть вариант параллельно-конвейерной схемы сложения четырех слагаемых на предмет сравнения этого варианта по быстродействию и оборудованию с ранее рассмотренными схемами.
Наверно можно будет сэкономить на числе регистров по сравнению с чисто конвейерной схемой при равном быстродействии.
Балансировка конвейера.
На рис.5.7.представлена некоторая трехкаскадная конвейерная схема. Блоки ее комбинационной части CC1, CC2, CC3,CC4 ( СС-Combinatorial circuit) имеют разные задержки, обозначенные как TD1=2нс.,TD2=5 нс., TD3=3 нс.,TD4=4 нс.
Рис.5.7. Обобщенная конвейерная схема, состоящая из трех каскадов.
Наиболее длинный путь сигнала в комбинационной части схемы ,как уже ранее говорилось, называется критическим. Критический путь во многом определяет быстродействие схемы. В схеме рис.5.7 критический путь находится в первой слева комбинационной части (на входе регистра R2), состоящей из блоков CC1.CC2.CC3.
При расчете его задержки Tкр= TD1+TD2+TD3=10 ns учитываются как максимальные задержки сигналов элементов, лежащих на этом пути, так и задержки их связей. Как уменьшить задержку критического пути и повысить быстродействие схем? Одним из путей решения этой задачи является балансировка конвейера.