реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Дробные параметры в Верилоге
RobFPGA
сообщение Nov 20 2017, 16:19
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 934
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(blackfin @ Nov 20 2017, 17:24) *
Это не мой способ. Это способ RobFPGA. Его и благодарите.. biggrin.gif

Ну так как я забыл написать localparam то чесно поделим благодарность пополам sm.gif .

Есть еще вариант если нужно присваивать константу 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.
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Nov 21 2017, 08:24
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 207
Регистрация: 15-11-09
Пользователь №: 53 639



Цитата(RobFPGA @ Nov 20 2017, 19:19) *
И опят же надо проверять в конкретном синтезаторе. А то у меня была эпопея когда "...return integer'(...)" в Vivado для всех отрицательных значений real выражения в скобках всегда выдавал -1. А просто "...return (...)" работал правильно.

А позвольте полюбопытствовать. Я по смыслу понимаю, что конструкция integer' - это приведение типа к целому. Но, перерыл IEEE'шный стандарт Верилога-2001(ieee_std_1364_2001) ничего такого не нашёл. Это какая-то узко-Vivado'вская фича, или я просто не нашёл?
Go to the top of the page
 
+Quote Post
blackfin
сообщение Nov 21 2017, 08:36
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 738
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Kluwert @ Nov 21 2017, 11:24) *
Но, перерыл IEEE'шный стандарт Верилога-2001(ieee_std_1364_2001) ничего такого не нашёл. Это какая-то узко-Vivado'вская фича, или я просто не нашёл?

Это фича SystemVerilog'a.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 13th December 2017 - 20:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01217 секунд с 7
ELECTRONIX ©2004-2016