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

 
 
 
Reply to this topicStart new topic
> параметры IP-корки, определение параметров IP на vhdl
Anton1990
сообщение Jul 2 2018, 14:53
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Все добрый день.
Есть IP корка (например, комплексный умножитель). Как в программе на VHDL определить параметры этой корки, а именно, разрядность входных-выходных данных, задержка в тактах.
И еще.
Все наверное знают что можно использовать компонент с помощью конструкции:
inst: entity work.Мой_компонент port map(....);
без предварительного объяевления этого компонента. Вопрос: а можно ли таким же образом использовать компоненты IP?
Заранее спасибо за ответы.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jul 2 2018, 15:30
Сообщение #2


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

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



Приветствую!
Цитата(Anton1990 @ Jul 2 2018, 17:53) *
Все добрый день.
Есть IP корка (например, комплексный умножитель). Как в программе на VHDL определить параметры этой корки, а именно, разрядность входных-выходных
...
Было бы неплохо уточнить в каком виде и в каком IDE есть эти корки?
Корки они ведь разные бывают wink.gif - есть как камень - в виде скомпилированных netlist. Их не угрызть и ничего не поменять.
Есть просто черствые - для смены параметров надо размачивать запускать скрипт/corogen для генерации новой.
Ну и свежие вкусняшки в исходниках (правда очень часто плесневелые криптованные) - их можно использовать в RTL как обычные модули задавая параметры через generic.

Удачи! Rob.

Go to the top of the page
 
+Quote Post
Anton1990
сообщение Jul 2 2018, 16:17
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Цитата(RobFPGA @ Jul 2 2018, 18:30) *
Приветствую!
Было бы неплохо уточнить в каком виде и в каком IDE есть эти корки?
Корки они ведь разные бывают wink.gif - есть как камень - в виде скомпилированных netlist. Их не угрызть и ничего не поменять.
Есть просто черствые - для смены параметров надо размачивать запускать скрипт/corogen для генерации новой.
Ну и свежие вкусняшки в исходниках (правда очень часто плесневелые криптованные) - их можно использовать в RTL как обычные модули задавая параметры через generic.

Удачи! Rob.


Работаю в Vivado. Использую корки из IP генератора. VHDL.
Мне не нужно менять у них параметры из VHDL. Корку я сгенерю/перегенерю в ручную. Мне необходимо в своем коде знать параметры корки, например задержку в тактах (Latensiy которую она вносит в сигнал.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jul 2 2018, 17:31
Сообщение #4


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

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



Приветствую!
Цитата(Anton1990 @ Jul 2 2018, 19:17) *
Работаю в Vivado. Использую корки из IP генератора. VHDL.
Мне не нужно менять у них параметры из VHDL. Корку я сгенерю/перегенерю в ручную. Мне необходимо в своем коде знать параметры корки, например задержку в тактах (Latensiy которую она вносит в сигнал.
Ааa... Вы хотите узнать вкус корки не попробовав sm.gif Увы - автоматом из RTL этого не сделать.

Есть два варианта - нормальный - когда генерируете корку в имении ее кодируете основные параметры (типа dpram_1Kx16p2_512x32p1) ну и глазками следите чтобы имя совпадало с параметром в RTL (ну или можно сразу насушить мешок корок разного сорта santa2.gif и использовать нужную в зависимости от параметра).

И нетрадиционной ориентации вариант - когда скриптом получаете значение параметров корки - report_property [get_ips core_name] ... парсите портянку CONFIG.* параметров и пишете нужные значения в файл ... который подключается потом при синтезе вашего RTL (как pkg или include) wacko.gif .

Похожий нетрадиционный способ но более розовый wink.gif - только в этом случае парсите исходник обертки корки генерируемый Vivado выдергивая от туда теги типа (* CORE_GENERATION_INFO = ... C_IR_ID_INSTR=0 ...


Удачи! Rob.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Jul 2 2018, 18:16
Сообщение #5


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата
Мне необходимо в своем коде знать параметры корки, например задержку в тактах (Latensiy которую она вносит в сигнал.

А что говорит user guide на корку ?
Go to the top of the page
 
+Quote Post
Vengin
сообщение Jul 3 2018, 09:44
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 7-02-07
Из: Беларусь, г. Минск
Пользователь №: 25 149



Цитата(Anton1990 @ Jul 2 2018, 17:53) *
Все наверное знают что можно использовать компонент с помощью конструкции:
inst: entity work.Мой_компонент port map(....);
без предварительного объяевления этого компонента. Вопрос: а можно ли таким же образом использовать компоненты IP?
А что конкретно подразумевается под словом "использовать"?
Да в vhdl коде можно точно так же без объявления компонента написать, скажем, для комплексного умножителя:
Код
LIBRARY cmpy_v6_0_14;
USE cmpy_v6_0_14.cmpy_v6_0_14;
...
U0 : entity cmpy_v6_0_14.cmpy_v6_0_14
Т.е. вместо библиотеки work, нужно указывать библиотеку IP-Core, в данном случае cmpy_v6_0_14.

Цитата(Flip-fl0p @ Jul 2 2018, 21:16) *
Цитата(Anton1990 @ Jul 2 2018, 19:17) *
Мне необходимо в своем коде знать параметры корки, например задержку в тактах (Latensiy которую она вносит в сигнал.
А что говорит user guide на корку ?
ИМХО, для целей автора нужно смотреть доки не на конкретную корку, а на что-то типа UG896 "Designing with IP", где в целом описано, как работать с корками. И в частности есть некое описание и примеры tcl команд, которые и советовал RobFPGA.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Jul 3 2018, 09:57
Сообщение #7


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(Vengin @ Jul 3 2018, 12:44) *

По-хорошему надо все смотреть bb-offtopic.gif
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Jul 3 2018, 10:10
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(Flip-fl0p @ Jul 2 2018, 21:16) *
А что говорит user guide на корку ?

Получается, надо будет UG читать для каждой корки!!!!!???
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Jul 3 2018, 10:16
Сообщение #9


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Tpeck @ Jul 3 2018, 13:10) *
Получается, надо будет UG читать для каждой корки!!!!!???
Ну можете из астрала информацию доставать.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Jul 3 2018, 11:02
Сообщение #10


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

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



Приветствую!
Цитата(Tpeck @ Jul 3 2018, 13:10) *
Получается, надо будет UG читать для каждой корки!!!!!???
Чтение доков это такое жесткое садо-мазо - не каждому по душе - нетрадиционные способы ... куда интереснее biggrin.gif

Удачи! Rob.
Go to the top of the page
 
+Quote Post
Anton1990
сообщение Jul 4 2018, 14:49
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Цитата(Vengin @ Jul 3 2018, 12:44) *
А что конкретно подразумевается под словом "использовать"?
Да в vhdl коде можно точно так же без объявления компонента написать, скажем, для комплексного умножителя:
Код
LIBRARY cmpy_v6_0_14;
USE cmpy_v6_0_14.cmpy_v6_0_14;
...
U0 : entity cmpy_v6_0_14.cmpy_v6_0_14
Т.е. вместо библиотеки work, нужно указывать библиотеку IP-Core, в данном случае cmpy_v6_0_14.


А вот так чего то не хочет. Говорит ощибка. мол нету такой библиотеки
Go to the top of the page
 
+Quote Post
Vengin
сообщение Jul 4 2018, 14:51
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 7-02-07
Из: Беларусь, г. Минск
Пользователь №: 25 149



Цитата(Anton1990 @ Jul 4 2018, 17:49) *
А вот так чего то не хочет. Говорит ощибка. мол нету такой библиотеки
Ну, при этом подразумевается, что эта библиотека у вас добавлена в проект (vlib, vmap).
А кто конкретно "говорит", в какой IDE ругается (и на каком этапе)?

Сообщение отредактировал Vengin - Jul 4 2018, 15:00
Go to the top of the page
 
+Quote Post
Anton1990
сообщение Jul 5 2018, 13:51
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 155
Регистрация: 26-04-12
Пользователь №: 71 584



Цитата(Vengin @ Jul 4 2018, 17:51) *
Ну, при этом подразумевается, что эта библиотека у вас добавлена в проект (vlib, vmap).
А кто конкретно "говорит", в какой IDE ругается (и на каком этапе)?

Говорит вивада на этапе синтеза. Кажется, проще объявить компонент как и раньше.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th April 2024 - 09:27
Рейтинг@Mail.ru


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