
Konspekt_lektsy_MPT
.pdfстатическая память или SRAM. Ячейками SRAM памяти являются триггеры, которые хранят одно из двух состояний так долго, как долго поступает энергия. Каждый триггер состоит из нескольких транзисторов. Так как для транзисторов характерно очень низкое энергопотребление, длительность их переключения очень мала. Но поскольку ячейка памяти SRAM состоит из нескольких транзисторов,
— обычно четырёх или шести, — её площадь больше, чем у ячейки памяти типа DRAM. Это делает память SRAM более дорогостоящей.
5.3.2.2. Общее сравнение
Магниторезистивная память имеет быстродействие, сравнимое с памятью типа SRAM, такую же плотность ячеек, но меньшее энергопотребление, чем у памяти типа DRAM, она более быстрая и не страдает деградацией по прошествии времени в сравнении с флэшпамятью. Это та комбинация свойств, которая может сделать её «универсальной памятью», способной заменить SRAM, DRAM и EEPROM и Flash. Этим объясняется большое количество направленных на её разработку исследований.
Магниторезистивная память всё ещё в значительной степени находится «в разработке», и производится с помощью устарелых технологических процессов. Так как спрос на флэш-память в настоящее время превышает предложение, то еще не скоро появится компания, которая решится перевести одну из своих фабрик, с новейшим технологическим процессом на изготовление микросхем магниторезистивной памяти. Но и в этом случае, конструкция магниторезистивной памяти на сегодняшний момент проигрывает флэш-памяти по размерам ячейки, даже при использовании одинаковых технологических процессов.
61

Раздел 6. Синтез автоматов
6.1. Схемотехническая реализация автомата
Как известно из ранее прослушанных курсов (дискретной математики и теории автоматов), функциональная схема автомата Мура может быть представлена в виде, показанном на рисунке 6.1.
x(t) |
δ |
s(t+1) |
s(t) |
µ |
y(t) |
|
|
Память |
|
Обратная связь
Рис. 6.1. Функциональная схема автомата Мура
С точки зрения схемотехники и выполняемой функции, элементы этой схемы могут быть реализованы:
-блок δ - блок логики, вычисляющий на основании номера текущего состояния s(t) и текущей комбинации входных сигналов x(t) номер следующего состояния s(t+1);
-блок «память», хранящий в себе номер текущего состояния, однозначно реализуется с помощью параллельного регистра. Однако, следует учесть, что выбирать следует регистр, построенный на базе двухтактных триггеров, поскольку сквозное прохождение сигнала недопустимо;
-блок µ - блок логики, вычисляющий выходные сигналы на основании номера текущего состояния s(t).
Используя такой же подход, функциональную схему автомата Мили можно представить себе как показано на рисунке 6.2.
Рис. 6.2. Функциональная схема автомата Мили
62

Эту схему можно преобразовать, как показано на рисунке 6.3.
x(t) |
s(t) |
x(t) |
s(t+1) |
s(t) |
s(t+1) |
|
|
Память |
|
|
Память |
|
|
y(t) |
|
y(t) |
|
|
|
|
|
|
|
|
Обратная связь |
|
|
Обратная связь |
|
|
|
|
|
а) б)
Рис. 6.3. Модификации функциональной схемы автомата Мили
Из схем, показанных на рисунке 3 можно сделать вывод, что со схемотехнической точки зрения автоматы Мили и Мура отличаются функционалом блока логики. Поэтому в дальнейшем мы будем, в основном, рассматривать методику синтеза автомата Мура.
С точки зрения схемотехники функциональную схему, показанную на рисунке 6.1 можно преобразовать в другую, показанную на рисунке 6.4.
|
|
s(t+1) |
|
|
|
|
|
s(t) |
|
|
|
|
|
|
|
(ОС) |
|
|
|
|
|
|
|
|
|
|
D0 |
RG |
Q0 |
|
|
|
|
|
D1 |
|
Q1 |
|
|
|
Логическая |
|
D2 |
|
Q2 |
Логическая |
|
x(t) |
|
D3 |
|
Q3 |
y(t) |
||
схема 1 |
|
|
схема 2 |
||||
|
|
D4 |
|
Q4 |
|
||
|
|
|
|
|
|
||
|
|
|
D5 |
|
Q5 |
|
|
|
|
|
D6 |
|
Q6 |
|
|
|
|
FТ |
D7 |
|
Q7 |
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 6.4. Преобразованная схема автомата Мура
Следует отметить, что регистр, показанный на рисунке 6.4, должен состоять из MS-триггеров.
Прежде, чем дальше доводить функциональную схему автомата Мура до схемного решения, целесообразно обсудить проблему выбора тактовой частоты автомата FT. Самый простой случай – когда эта частота жестко задана в ТЗ. Однако гораздо чаще её вынужден
63

выбирать сам разработчик. Для корректного выбора необходимо сформулировать критерии ограничения этой частоты сверху и снизу.
Ограничение снизу.
Автомат способен реагировать на изменение входных сигналов только в том случае, если сигнал длится более одного периода
тактовой частоты (см. рис. 6.5). Однако этот эффект можно использовать для фильтрации неинформативных изменений входного сигнала, например – подавления дребезга.
Рис. 6.5. Регистрация автоматом сигналов различной длительности
Ограничение сверху.
В реальном автомате так или иначе оказываются несколько циклов ожидания. Например, если в ТЗ задано «…выдать сигнал 1, выдержать время предустановки, выдать сигнал 2, выдержать время записи, снять сигнал 2, выдержать время удержания и снять сигнал 1…». В этом случае задержки организуются введением в граф дополнительных вершин (вершины N+1, N+2, N+4, N+5 на рисунке 6), задача которых – выдержка паузы в один такт. Излишне высокая частота увеличивает количество таких вершин и, как следствие, количество требуемых битов обратной связи.
64

N |
N+2 |
N+4 |
N+6 |
|
C1=1 |
||||
C1=1 |
||||
C2=0 |
C1=1 |
C1=0 |
||
C2=0 |
||||
|
C2=0 |
C2=0 |
||
|
|
|||
N+1 |
|
N+3 |
N+5 |
|
C1=1 |
|
|||
C2=0 |
|
C1=1 |
C1=1 |
|
|
|
C2=1 |
C2=0 |
Выдача данных С1
Строб данных С2
Рис. 6.6. Пример цикла с ожиданиями
Интересная ситуация возникает, когда требуется максимально быстрая реакция автомата на изменение входных сигналов при априорной неопределенности их поведения. Например, следует выполнить со скоростью в сотни наносекунд ряд действий по приходу комбинации сигналов, притом, что время повторения этой комбинации варьируется от единиц миллисекунд до единиц часов.
В этом случае рекомендуется выделить из входных сигналов ключевые, изменение которых порождает событие, а затем воспользоваться схемой, показанной на рисунке 6.7. Тактовая частота такого автомата будет переменной, но, как правило, в подобных ситуациях это некритично.
Рис. 6.7. Активация автомата по наступлению события
65

Поскольку выход блока логики 1 строго синхронен (благодаря регистру), то этот блок логики может быть заменен на ПЗУ, в которую «прошита» (термин, которым обозначают как содержимое ПЗУ – «прошивка», так и процесс её занесения) таблица истинности логического блока 1. Результат замены показан на рисунке 6.8.
Рис. 6.8. Схема автомата Мура с таблицей в ПЗУ |
К сожалению, так же поступить с логической схемой рис. 6.2 не позволяет отсутствие регистра на её выходе. Однако в наиболее часто встречающемся случае количество состояний автомата не превосходит 16, а выходных сигналов требуется не более 4. В этом случае логическую схему рис. 2 можно переместить в то же ПЗУ, что и автомат, воспользовавшись для синхронности выходным регистром автомата. То, что получается в таком случае, можно увидеть на рисунке 6.9.
66

Рис. 6.9. Схема автомата Мура с небольшим количеством состояний и выходов
Для автомата Мили в этом случае получится схема, показанная
на рисунке 6.10.
Рис. 6.10. Схема автомата Мили с небольшим количеством состояний и выходов
После того, как граф будущего автомата проверен и оптимизирован, проводится выбор организации микросхемы ПЗУ. Выбор производится из следующих соображений:
-количество битов обратной связи должно быть достаточно для кодирования самого большого номера состояния в графе;
-количество адресных входов должно быть не меньше, чем суммарное количество битов обратной связи и входных сигналов;
-количество выходов данных должно быть не меньше, чем суммарное количество битов обратной связи и выходных сигналов.
67

Нумерация состояний графа выполняется произвольно. Однако, для упрощения работы следует исходному состоянию присваивать номер 0 - именно это число будет хранится в регистре после сброса.
На этом основании выбирается организация микросхемы ПЗУ. Все остальные параметры микросхемы ПЗУ (технология, быстродействие и т.д.) выбираются из схемотехнических соображений и/или наличия необходимой аппаратуры для программирования.
Следующий этап разработки – составление принципиальной схемы с точным указанием входа/выхода ПЗУ и названия сигнала, который подходит/отходит к этому выводу. Естественно, что неиспользуемые входы ПЗУ необходимо жестко доопределить, заземлив или подав на них логическую единицу. Принципиальной разницы между этими способами доопределения нет, но заземление входов несколько облегчает дальнейшую работу.
В качестве примера предположим, что получилась схема, показанная на рисунке 6.11.
Рис. 6.11. Пример: схема автомата
Для составления таблицы прошивки ПЗУ удобнее всего использовать таблицу, пример которой показан на рисунке 6.13. В нее из графа заносятся все состояния по следующим правилам:
68

-поля, соответствующие входным сигналам, заносятся все возможные значения. Во избежание ошибок удобнее всего воспользоваться двоичным кодом;
-поля s(t), в количестве равном всем возможным значениям входных сигналов, заполняются номером описываемого состояния;
-в каждое поле s(t+1) заносится номер следующего состояния –
всоответствии с графом, для каждой комбинации входных сигналов. В случае, если данная комбинация невозможна физически, строка может быть исключена из таблицы;
-в поля, соответствующие выходным сигналам, записывается комбинация выходных сигналов, соответствующая содержимому поля s(t+1) данной строки и графу.
После того, как все состояния, указанные в графе, занесены в таблицу, ее целесообразно отсортировать по адресам (поля, соответствующие входным сигналам в соответствии с разрядами адреса ПЗУ), и трактуя содержимое выходных полей, как двоичные числа, получить таблицу прошивки ПЗУ.
На рисунке 6.13 показан пример заполнения такой таблицы для фрагмента графа, показанного на рисунке 6.12.
Шаг=0
12
Ф1=0 Ф2=0
Шаг=1 & Направление=1 У=0 & Такт=1
Шаг=1 & Направление=0 & Такт=1
14 |
13 |
Ф1=0 |
|
Ф2=1 |
Ф1=1 |
У=1 |
Ф2=0 |
|
У=1 |
Рис. 6.12. Пример: Фрагмент графа
69

Рис. 6.13. Пример: Заполнение таблицы для состояния № 12 (см. рис. 6.12)
Из примера видно, что для того, чтобы закодировать состояние №12, необходимо в ячейки ПЗУ, лежащие по адресам 0C, 1С, 2С, 3С, 4С и 6С занести число 0C, в ячейку 5С – число 5D, а в ячейку 7С – число 3E (адреса и значения даны в шестнадцатеричном виде).
70