Я работаю с VHDL-2002, пытаясь объявить константу следующим образом:
constant CORDIC_SCALE_FACTOR : integer := 0.607252935*(2**COORDS_WIDTH);
, где COORDS_WIDTH
является ранее определенным обобщением c. Тем не менее, я не могу выполнить это умножение из-за типов. То, что я хотел бы сделать, приведёт 2**COORDS_WIDTH
к типу с плавающей точкой, а затем приведёт результат к целочисленному значению (при условии, что приведение получит действительную часть с плавающей точкой и присвоит ее целому числу). Как я могу выполнить это? Я нашел в Интернете ресурсы, посвященные этому типу преобразования, но не по литералам, это должно быть проще.