Anton1990 0 2 июля, 2018 Опубликовано 2 июля, 2018 · Жалоба Все добрый день. Есть IP корка (например, комплексный умножитель). Как в программе на VHDL определить параметры этой корки, а именно, разрядность входных-выходных данных, задержка в тактах. И еще. Все наверное знают что можно использовать компонент с помощью конструкции: inst: entity work.Мой_компонент port map(....); без предварительного объяевления этого компонента. Вопрос: а можно ли таким же образом использовать компоненты IP? Заранее спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 2 июля, 2018 Опубликовано 2 июля, 2018 · Жалоба Приветствую! Все добрый день. Есть IP корка (например, комплексный умножитель). Как в программе на VHDL определить параметры этой корки, а именно, разрядность входных-выходных ... Было бы неплохо уточнить в каком виде и в каком IDE есть эти корки? Корки они ведь разные бывают ;) - есть как камень - в виде скомпилированных netlist. Их не угрызть и ничего не поменять. Есть просто черствые - для смены параметров надо размачивать запускать скрипт/corogen для генерации новой. Ну и свежие вкусняшки в исходниках (правда очень часто плесневелые криптованные) - их можно использовать в RTL как обычные модули задавая параметры через generic. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Anton1990 0 2 июля, 2018 Опубликовано 2 июля, 2018 · Жалоба Приветствую! Было бы неплохо уточнить в каком виде и в каком IDE есть эти корки? Корки они ведь разные бывают ;) - есть как камень - в виде скомпилированных netlist. Их не угрызть и ничего не поменять. Есть просто черствые - для смены параметров надо размачивать запускать скрипт/corogen для генерации новой. Ну и свежие вкусняшки в исходниках (правда очень часто плесневелые криптованные) - их можно использовать в RTL как обычные модули задавая параметры через generic. Удачи! Rob. Работаю в Vivado. Использую корки из IP генератора. VHDL. Мне не нужно менять у них параметры из VHDL. Корку я сгенерю/перегенерю в ручную. Мне необходимо в своем коде знать параметры корки, например задержку в тактах (Latensiy которую она вносит в сигнал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 2 июля, 2018 Опубликовано 2 июля, 2018 · Жалоба Приветствую! Работаю в Vivado. Использую корки из IP генератора. VHDL. Мне не нужно менять у них параметры из VHDL. Корку я сгенерю/перегенерю в ручную. Мне необходимо в своем коде знать параметры корки, например задержку в тактах (Latensiy которую она вносит в сигнал. Ааa... Вы хотите узнать вкус корки не попробовав :) Увы - автоматом из RTL этого не сделать. Есть два варианта - нормальный - когда генерируете корку в имении ее кодируете основные параметры (типа dpram_1Kx16p2_512x32p1) ну и глазками следите чтобы имя совпадало с параметром в RTL (ну или можно сразу насушить мешок корок разного сорта :santa2: и использовать нужную в зависимости от параметра). И нетрадиционной ориентации вариант - когда скриптом получаете значение параметров корки - report_property [get_ips core_name] ... парсите портянку CONFIG.* параметров и пишете нужные значения в файл ... который подключается потом при синтезе вашего RTL (как pkg или include) :wacko: . Похожий нетрадиционный способ но более розовый ;) - только в этом случае парсите исходник обертки корки генерируемый Vivado выдергивая от туда теги типа (* CORE_GENERATION_INFO = ... C_IR_ID_INSTR=0 ... Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 2 июля, 2018 Опубликовано 2 июля, 2018 · Жалоба Мне необходимо в своем коде знать параметры корки, например задержку в тактах (Latensiy которую она вносит в сигнал. А что говорит user guide на корку ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 3 июля, 2018 Опубликовано 3 июля, 2018 · Жалоба Все наверное знают что можно использовать компонент с помощью конструкции: 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. Мне необходимо в своем коде знать параметры корки, например задержку в тактах (Latensiy которую она вносит в сигнал.А что говорит user guide на корку ? ИМХО, для целей автора нужно смотреть доки не на конкретную корку, а на что-то типа UG896 "Designing with IP", где в целом описано, как работать с корками. И в частности есть некое описание и примеры tcl команд, которые и советовал RobFPGA. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 3 июля, 2018 Опубликовано 3 июля, 2018 · Жалоба По-хорошему надо все смотреть :bb-offtopic: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tpeck 0 3 июля, 2018 Опубликовано 3 июля, 2018 · Жалоба А что говорит user guide на корку ? Получается, надо будет UG читать для каждой корки!!!!!??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 3 июля, 2018 Опубликовано 3 июля, 2018 · Жалоба Получается, надо будет UG читать для каждой корки!!!!!???Ну можете из астрала информацию доставать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 3 июля, 2018 Опубликовано 3 июля, 2018 · Жалоба Приветствую! Получается, надо будет UG читать для каждой корки!!!!!???Чтение доков это такое жесткое садо-мазо - не каждому по душе - нетрадиционные способы ... куда интереснее :biggrin: Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Anton1990 0 4 июля, 2018 Опубликовано 4 июля, 2018 · Жалоба А что конкретно подразумевается под словом "использовать"? Да в 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. А вот так чего то не хочет. Говорит ощибка. мол нету такой библиотеки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 4 июля, 2018 Опубликовано 4 июля, 2018 (изменено) · Жалоба А вот так чего то не хочет. Говорит ощибка. мол нету такой библиотекиНу, при этом подразумевается, что эта библиотека у вас добавлена в проект (vlib, vmap). А кто конкретно "говорит", в какой IDE ругается (и на каком этапе)? Изменено 4 июля, 2018 пользователем Vengin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Anton1990 0 5 июля, 2018 Опубликовано 5 июля, 2018 · Жалоба Ну, при этом подразумевается, что эта библиотека у вас добавлена в проект (vlib, vmap). А кто конкретно "говорит", в какой IDE ругается (и на каком этапе)? Говорит вивада на этапе синтеза. Кажется, проще объявить компонент как и раньше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться