Цифровые компоненты
Оперативные запоминающие устройства (ОЗУ)
Обычно в начальный момент времени в ОЗУ устанавливаются произвольные данные по всем адресам. Существует два способа записи начальных данных в ОЗУ при моделировании:
- данные предварительно записываются в файл в формате Intel Hex и перед началом моделирования из него считываются;
- данные записываются непосредственно в описании ОЗУ с помощью конструкции DATA=…ОЗУ (рис. 4.36) вводится в задание на моделирование предложением:
UxxxRAM. (
<количество адресных входов>
,
<количество выходов>
)
+
<+узел источника питания>
<-узел источника питания>
+
<вход разрешения чтения>
<вход разрешения записи>
+
<старший разряд адреса>
...
<младший разряд адреса>
+
<старший разряд входа данных>
...
<младший разряд входа данных>
+
<старший разряд выхода>
...
<младший разряд выхода>
+
<имя модели динамики>
<имя модели вход/выход>
+
[FILE
=
<имя файла>
]
+
[DATA
=
<<флаг системы счисления>
$
<данные программы>
$ ]
+
[MNTYMXDLY
=
<выбор значения задержки>
]
+
[IO_LEVEL
=
<уровень модели интерфейса>
]
Рис. 4.36. Оперативное запоминающее устройство
После ключевого слова FILE указывается имя файла в формате Intel Hex, в котором записаны данные ЗУ. Оно может быть указано как текстовая константа (и тогда заключается в кавычки " ") или как текстовое выражение (заключается между вертикальными черточками | |). Если приведена опция FILE, то любые данные, приведенные после опции DATA, игнорируются.
Флаг системы счисления принимает значения:
- В – двоичная система счисления;
- О – восьмеричная система счисления (бит старшего разряда расположен по младшему адресу);
- X – шестнадцатеричная система счисления (бит старшего разряда расположен по младшему адресу).
Данные программы помещаются между знаками доллара $ и могут располагаться как слитно, так и разделяться одним или несколькими пробелами. Поток данных начинается с нулевого адреса, по которому размещается первый разряд данных. Следующий бит относится ко второму разряду данных, и так до тех пор, пока не будут определены состояния всех разрядов по этому адресу. После этого перечисляются данные по следующему адресу и т.д., как и в ПЗУ.
Модель ОЗУ состоит из двух секций записи и считывания данных, которые имеют различные выводы для подачи сигналов разрешения, различные выводы для записи и считывания данных и общие выводы адреса (рис. 4.36).
При записи данных в ОЗУ необходимо сначала подать сигналы на адресные входы и входы данных и не изменять их в течение определенного времени – времени установления t SUAEW и t SUDEW соответственно, после чего установить "1" на входе разрешения записи. Этот сигнал должен удерживаться в течение некоторого минимального интервала времени t WEW и затем может быть сброшен в "0". При этом сигналы адреса и данных не должны изменяться в течение времени, когда сигнал разрешения записи находится в состоянии "1" и удерживается еще некоторое время t HAEW и t HDEW , прежде чем измениться.
Для чтения из ОЗУ на вход разрешения чтения необходимо подать "1", после чего состояния узлов выходных данных изменяются от состояния высокого импеданса Z до соответствующего состояния спустя некоторое время t PED . В течение времени, пока сигнал разрешения чтения находится в состоянии "1", сигналы адреса могут изменяться, и если это так, то новые данные доступны на выходах через некоторое время задержки t PAD .
В модели ОЗУ ничто не препятствует одновременно установить "1" на входах разрешения чтения и записи, хотя в большинстве реальных ОЗУ это не допускается. Новые считанные данные посылаются на выходы данных после перехода сигнала разрешения записи из "1" в "0".