Операции ввода-вывода файлов Verilog
Verilog имеет системные задачи и функции, которые могут открывать файлы, выводить значения в файлы, считывать значения из файлов и загружать в другие переменные и закрывать файлы.
Открытие и закрытие файлов
06
Режимы открытия файла
Аргумент | Описание |
---|---|
"r" или "rb" | Открыть для чтения |
"w" или "wb" | Создать новый файл для записи. Если файл существует, обрежьте его до нулевой длины и перезапишите |
"а" или "аб" | Если файл существует, добавить (открыть для записи в EOF), в противном случае создать новый файл |
"r+", "r+b" или "rb+" | Открыт как для чтения, так и для записи |
"w+", "w+b" или "wb+" | Обрезать или создать для обновления |
"a+", "a+b" или "ab+" | Добавить или создать новый файл для обновления в EOF |
Как писать файлы
Функция | Описание |
---|---|
$fdisplay | Аналогично $display, вместо этого записывает в файл |
$fwrite | Аналогично $write, вместо этого записывает в файл |
$fstrobe | Аналогично $strobe, вместо этого записывает в файл |
$fmonitor | Аналогично $monitor, вместо этого записывает в файл |
Каждая из вышеперечисленных системных функций печатает значения в десятичной системе счисления. У них также есть три другие версии для печати значений в двоичном, восьмеричном и шестнадцатеричном формате.
Функция | Описание |
---|---|
$fdisplay() | По умолчанию печатает в десятичном формате |
$fdisplayb() | Печать в двоичном формате |
$fdisplayo() | Печатает в восьмеричном формате |
$fdisplayh() | Печать в шестнадцатеричном формате |
15пре> Журнал моделирования23Как читать файлы
Чтение строки
Системная функция
04
считывает символы из файла, заданного параметром [hl]fd[/hd], в переменную str до тех пор, пока str не будет заполнена, или символ новой строки не будет прочитан и передан в str, или пока не встретится условие EOF.Если во время чтения возникает ошибка, он возвращает нулевой код. в противном случае возвращается количество прочитанных символов.
Обнаружение EOF
Системная функция
12
возвращает ненулевое значение, когда найден EOF, и возвращает ноль в противном случае для данного файлового дескриптора в качестве аргумента.36Несколько аргументов для fdisplay
Когда в
29
указано несколько переменных , он просто печатает все переменные в заданном порядке одну за другой без пробела.45Журнал моделирования53Форматирование данных в строку
Первый аргумент в
34
системная функция — это имя переменной, в которую помещается результат. Второй аргумент — это format_string. который сообщает, как следующие аргументы должны быть отформатированы в строку.66Журнал моделирования78
Verilog