|
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, 07:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757

|
Насколько я вижу в task convert_mif2ver, отрицательные числа действительно не поддерживаются: Код else if (r == `MINUS) begin r = $fgetc(ifp); if (r == `MINUS) begin // Ignore all the characters which which is part of comment. r = $fgetc(ifp);
while ((r != `NEWLINE) && (r != `CARRIAGE_RETURN)) begin r = $fgetc(ifp);
end
if ((r == `NEWLINE) || (r == `CARRIAGE_RETURN)) begin line_no = line_no +1;
if ((buffer == "contentbegin") && (get_address_data_pairs == `FALSE)) begin get_address_data_pairs = `TRUE; get_address = `TRUE; buffer = ""; end end end else begin error_status = `TRUE; $display("ERROR: %0s, line %0d, Invalid Altera-mif record.", in_file, line_no); done = `TRUE; disable READER; end end То есть парсер таков, что если после минуса идёт ещё один минус, то это начало комментария. Если после минуса идёт любой другой символ, то это ошибка формата.
|
|
|
|
|
Jun 7 2017, 08:06
|

Участник

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

|
Цитата(andrew_b @ Jun 7 2017, 08:46)  Насколько я вижу в task convert_mif2ver, отрицательные числа действительно не поддерживаются:
...
То есть парсер таков, что если после минуса идёт ещё один минус, то это начало комментария. Если после минуса идёт любой другой символ, то это ошибка формата. Ого, спасибо большое! Теперь все гораздо понятнее стало. Еще и появился вариант, что можно посмотреть, когда ломается то, что не должно. Кстати, скажите, пожалуйста, вашу версию Modelsim или Questa, для статистики, так сказать.
|
|
|
|
Сообщений в этой теме
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 iosifk Цитата(nice_vladi @ Jun 3 2017, 07:24) Вс... Jun 7 2017, 13:06 nice_vladi Цитата(iosifk @ Jun 7 2017, 14:06) Можно ... Jun 13 2017, 06:09  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  Maverick Цитата(nice_vladi @ Jun 13 2017, 09:09) А... Jun 13 2017, 08:37   nice_vladi Цитата(Maverick @ Jun 13 2017, 09:37) поп... Jul 3 2017, 06:44    andrew_b Цитата(nice_vladi @ Jul 3 2017, 09:44) В ... Jul 3 2017, 14:59     nice_vladi Цитата(andrew_b @ Jul 3 2017, 15:59) Да п... Jul 4 2017, 03:47
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|