|
ModelSim и отрицательные числа в .mif файлах |
|
|
|
Jun 3 2017, 04:24
|

Участник

Группа: Участник
Сообщений: 53
Регистрация: 7-09-16
Из: Томск
Пользователь №: 93 239

|
Всем привет. Столкнулся с тем, что Modelsim отказывается читать отрицательные числа в .mif файлах. Квартус нормально читает. Заполнение файла верное, версия Modelsim 10.1d. Пример mif файла: CODE
-- Matlab generated Memory Initialization File (.mif) -- Created on: 03-Jun-2017
WIDTH = 18; DEPTH = 512;
ADDRESS_RADIX = UNS; DATA_RADIX = DEC;
CONTENT BEGIN 0 : 0; 1 : 0; 2 : 0; 3 : 0; 4 : 0; 5 : 0; 6 : 0; 7 : 0; 8 : 0; 9 : 0; 10 : 0; 11 : 0; 12 : 0; 13 : 0; 14 : 0; 15 : 0; 16 : 0; 17 : 13749; 18 : 0; 19 : 8849; 20 : 0; 21 : 3949; 22 : 0; 23 : -950; 24 : 0; 25 : 33349; ......
END;
На этот файл Modelsim выдает такую ошибку: # ERROR: D:/matlab/new.mif, line 34, Invalid Altera-mif record. 34 строка - первое встретившееся в списке отрицательное число. Сейчас извращаюсь с переводом в бинарный вид в Matlab'e и потом пишу в mif. Это Modelsim кушает на ура. Где я допускаю ошибку? Возможно с какой-то определенной версии Modelsim'a появилась поддержка отрицательных чисел в mif?
|
|
|
|
|
 |
Ответов
|
Jun 7 2017, 13:06
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(nice_vladi @ Jun 3 2017, 07:24)  Всем привет. Столкнулся с тем, что Modelsim отказывается читать отрицательные числа в .mif файлах. Квартус нормально читает. Заполнение файла верное, версия Modelsim 10.1d.
Где я допускаю ошибку? Возможно с какой-то определенной версии Modelsim'a появилась поддержка отрицательных чисел в mif? Можно пойти и другим путем... Забейте параметрами чтение mif для симулятора если параметр simulate == "Yes" то следующее только для симулятора // synthesis translate_off reg [7:0] mem[0:255]; $readmemh("my_init_file.dat", mem, 0, 255); // что-то вроде этого // synthesis translate_on в противном случае (* ram_init_file = "my_init_file.mif" *) reg [7:0] mem[0:255];
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Jun 13 2017, 06:09
|

Участник

Группа: Участник
Сообщений: 53
Регистрация: 7-09-16
Из: Томск
Пользователь №: 93 239

|
Цитата(iosifk @ Jun 7 2017, 14:06)  Можно пойти и другим путем... Забейте параметрами чтение mif для симулятора
если параметр simulate == "Yes"
то следующее только для симулятора // synthesis translate_off reg [7:0] mem[0:255]; $readmemh("my_init_file.dat", mem, 0, 255); // что-то вроде этого // synthesis translate_on
в противном случае (* ram_init_file = "my_init_file.mif" *) reg [7:0] mem[0:255]; Спасибо за идею, скорее всего, так и поступлю. В продолжение темы - на досуге поковырял библиотеки sim_lib/220model.v Quartus'ов. Поддержки отрицательных чисел в mif-файлах нет вплоть до Quartus'a 16.0. Версии старше не смотрел - пока нет времени. Если кто-то их пользует(16.1 - 17.0) - можно посмотреть их новые библиотеки, мб там что-то новое придумали и добавили поддержку. Буду благодарен за информацию  А еще было бы круто узнать, можно ли так делать у Xilinx. Просто для общего развития.
|
|
|
|
|
Jun 13 2017, 08:37
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(nice_vladi @ Jun 13 2017, 09:09)  А еще было бы круто узнать, можно ли так делать у Xilinx. Просто для общего развития. попробуйте описание во вложении (инициализация нескольких памятей из файлов для альтеры, для хилых тоже должно подойти) в файлах просто бинарные числа (не знаковые). производите чтение из памяти, потом при необходимости их конвертируете в знаковый тип и никаких проблем upd попробовал сейчас - для симуляции
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Jul 3 2017, 06:44
|

Участник

Группа: Участник
Сообщений: 53
Регистрация: 7-09-16
Из: Томск
Пользователь №: 93 239

|
Цитата(Maverick @ Jun 13 2017, 09:37)  попробуйте описание во вложении (инициализация нескольких памятей из файлов для альтеры, для хилых тоже должно подойти) в файлах просто бинарные числа (не знаковые). производите чтение из памяти, потом при необходимости их конвертируете в знаковый тип и никаких проблем
upd попробовал сейчас - для симуляции Спасибо за участие! Все-такие остановился на конвертировании в бинарный вид матлабом. Благо, функция уже написана - остается просто скармливать ей нужные числа. Конечно, сам mif-файл получается не очень наглядным, но опять же матлабом вытащил десятичные числа в комментарии на каждое двоичное число и получилось вполне терпимо. Да и чисто интуитивно хочется как можно меньше кода HDL писать. Проще - лучше. А всякие гадости, вроде записи в память отрицательных чисел можно и в матлабе лепить... В процессе изысканий была установлена Questa, опять мучал гугл, но все равно нативной поддержки отрицательных числе не нашел - только костыли. Так же успел немного просветиться в области Xilinx'a. В общем, дурная голова рукам покоя не дает
|
|
|
|
Сообщений в этой теме
nice_vladi ModelSim и отрицательные числа в .mif файлах Jun 3 2017, 04:24 andrew_b А при чём тут лично ModelSim? Он понятия не имеет ... Jun 3 2017, 09:26 nice_vladi Цитата(andrew_b @ Jun 3 2017, 10:26) А пр... Jun 6 2017, 13:37  andrew_b Цитата(nice_vladi @ Jun 6 2017, 16:37) ящ... Jun 7 2017, 05:29   nice_vladi Цитата(andrew_b @ Jun 7 2017, 06:29) Вы м... Jun 7 2017, 06:23    andrew_b Цитата(nice_vladi @ Jun 7 2017, 09:23) Пр... Jun 7 2017, 06:40 Александр77 Цитата(nice_vladi @ Jun 3 2017, 07:24) Се... Jun 3 2017, 15:19 spectr MIF-файл подсовывается альтеровскому IP-ядру. Моде... Jun 7 2017, 07:17 andrew_b Насколько я вижу в task convert_mif2ver, отрицател... Jun 7 2017, 07:46 nice_vladi Цитата(andrew_b @ Jun 7 2017, 08:46) Наск... Jun 7 2017, 08:06  andrew_b Цитата(nice_vladi @ Jun 7 2017, 11:06) Кс... Jun 7 2017, 08:20  andrew_b Цитата(nice_vladi @ Jun 13 2017, 09:09) А... Jun 13 2017, 07:35  iosifk Цитата(nice_vladi @ Jun 13 2017, 09:09) С... Jun 13 2017, 07:53  iosifk Цитата(nice_vladi @ Jun 13 2017, 09:09) С... Jun 13 2017, 07:53     nice_vladi Цитата(andrew_b @ Jul 3 2017, 15:59) Да п... Jul 4 2017, 03:47
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|