2015-03-08 5 views
0

Я хотел бы загрузить несколько данных из .txt-файла в testbench в качестве ввода для запуска моделирования, но данные, которые я хочу загрузить, являются действительными числами.Загрузка txt-файла в verilog testbench

Например:

0.00537667139546100 
0.0182905843325460 
-0.0218392122072903 
0.00794853052089004 

Я обнаружил, что $readmemh или $readmemb предназначен для шестнадцатеричного или двоичного. Есть ли какой-либо метод, который может помочь мне загрузить данные, не преобразовывая их в двоичный или шестнадцатеричный, прежде чем загружать их в testbench?

ответ

2

$readmemh и $readmemb предназначены для загрузки данных в память. Как вы упомянули, эти функции требуют шестнадцатеричных или двоичных данных. Если вы просто хотите использовать некоторые данные, считываемые из файла, вы можете использовать функцию $fscanf с %f набором форматов, т.е .:

$fscanf(file,"%f ",real_num); 
+0

извинит вы можете быть более конкретным? У меня ошибка при реализации вышеприведенного кода. Кстати, как назвать файл? Нужно ли загружать файл в библиотеку? – Jack93

+0

Какая ошибка? Прежде всего, вам нужно открыть файл с помощью функции '$ fopen()'. Таким образом вы получаете указатель на файл. – Qiu

+0

У меня почти такие же случаи в http://stackoverflow.com/questions/29073346/read-and-write-in-verilog-when-having-negative-numbers-and-array. Вы можете мне помочь? – Jack93

Смежные вопросы