1) обычно данные предварительно записываются в файл в формате Intel Hex и перед началом моделирования они из него считываются;
2) данные записываются непосредственно в описание ПЗУ c помощью конструкции DATA=...
Модель ПЗУ (рис. 6.13) задается по формату
Uxxx ROM (<количество адресных входов>,<количество выходов>)
+ <+узел источника питания> <–узел источника питания>
+ <вход разрешения чтения>
+ <старший разряд адреса> . . . <младший разряд адреса>
+ <старший разряд выхода> . . . <младший разряд выхода>
+ <имя модели динамики> <имя модели вход/выход>
+ [FILE=<имя файла>]
+ [DATA=<флаг системы счисления>$<данные программы>$]
+ [MNTYMXDLY=<выбор значения задержки>]
+ [IO_LEVEL=<уровень модели интерфейса>]
Рис. 6.13. Постоянное запоминающее устройство |
После ключевого слова FILE указывается имя файла
в формате Intel Hex, в котором записаны данные ПЗУ. Оно может быть указано как текстовая константа (и тогда заключается в кавычки " ") или как текстовое выражение (заключается между вертикальными черточками | |). Если приведена опция FILE, то любые данные, приведенные после опции DATA, игнорируются.
Флаг системы счисления
принимает значения:
B – двоичная система счисления;
O – восьмеричная система счисления (бит старшего разряда расположен по младшему адресу);
X – шестнадцатиричная система счисления (бит старшего разряда расположен по младшему адресу).
Данные программы помещаются между знаками доллара $ и могут располагаться как слитно, так и разделяться одним или несколькими пробелами. Поток данных начинается с нулевого адреса, по которому размещается первый разряд данных. Следующий бит относится ко второму разряду данных, и так до тех пор, пока не будут определены состояния всех разрядов по этому адресу. После этого перечисляются данные по следующему адресу и т. д.
Модель динамики ПЗУ имеет формат: