RobFPGA 27 20 ноября, 2017 Опубликовано 20 ноября, 2017 · Жалоба Приветствую! Это не мой способ. Это способ RobFPGA. Его и благодарите.. Ну так как я забыл написать localparam то чесно поделим благодарность пополам :) . Есть еще вариант если нужно присваивать константу wire|logic - обернуть вычисление в функцию которая возвращает integer. Только вот для успешного синтеза в выражении real значения там могут быть только литеральными константами. И не должно быть промежуточных real variable. например function integer ms_n(input integer ms); return (FREQ_Hz * 0.001 * ms); endfunction И опят же надо проверять в конкретном синтезаторе. А то у меня была эпопея когда "...return integer'(...)" в Vivado для всех отрицательных значений real выражения в скобках всегда выдавал -1. А просто "...return (...)" работал правильно. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kluwer 0 21 ноября, 2017 Опубликовано 21 ноября, 2017 · Жалоба И опят же надо проверять в конкретном синтезаторе. А то у меня была эпопея когда "...return integer'(...)" в Vivado для всех отрицательных значений real выражения в скобках всегда выдавал -1. А просто "...return (...)" работал правильно. А позвольте полюбопытствовать. Я по смыслу понимаю, что конструкция integer' - это приведение типа к целому. Но, перерыл IEEE'шный стандарт Верилога-2001(ieee_std_1364_2001) ничего такого не нашёл. Это какая-то узко-Vivado'вская фича, или я просто не нашёл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 21 ноября, 2017 Опубликовано 21 ноября, 2017 · Жалоба Но, перерыл IEEE'шный стандарт Верилога-2001(ieee_std_1364_2001) ничего такого не нашёл. Это какая-то узко-Vivado'вская фича, или я просто не нашёл? Это фича SystemVerilog'a. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться