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

 
 
> Генерация констант в VHDL, Не получается корректно задекларировать
vladec
сообщение Jun 19 2017, 11:31
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



Требуется создать некий набор констант, число N (integer) которых задается в generic модуля. Там же задано некое число M тоже integer.
В architecture задаю такую конструкцию:
Цитата
type cons is ARRAY(N - 1 downto 0) of
integer range 0 to (N * M - 1);

А после ключевого слова begin пытаюсь задекларировать нужный мне массив констант NN:
Цитата
constant NN : cons;

Конкретные значения константам присваиваю далее.

ModelSim такую конструкцию проглатывает без проблем и корректно моделирует, а Xilinx ISE не берет.
Ругается на "constant NN : cons;" типа:
Syntax error near "constant".
cons is not a component

Подскажите как это можно обойти?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vladec
сообщение Jun 22 2017, 06:52
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



Цитата
1. задается тип - массив переменной длины;
2. описывается функция, возвращающая переменную типа этого массива;
3. задается константа, значение которой задается через функцию.


По п.1 -- у меня массив постоянной длинны, просто длинна задается generic-ом.
По пп.2, 3 -- я так и пытался сделать, вопрос где и как описать функцию (N*M) и где задавать константу.
Go to the top of the page
 
+Quote Post
Amurak
сообщение Jun 22 2017, 08:33
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 18-11-12
Пользователь №: 74 459



Цитата(vladec @ Jun 22 2017, 09:52) *
По пп.2, 3 -- я так и пытался сделать, вопрос где и как описать функцию (N*M) и где задавать константу.


Функция описывается там же, где декларируются сигналы. И константа задается там же.

Код
architecture behavioral of blablabla is
    function f_blabla return t_const is
    begin
        ...
    end function;

    constant c_const : t_const := f_blabla;
begin
    ...
end
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 06:37
Рейтинг@Mail.ru


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