Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: MIX Verilog & VHDL
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Языки проектирования на ПЛИС (FPGA)
Мур
1111493779.gif
Мужики, я в ступоре...
Слышал страсти о возможности одновременного использования двух основных языков.
Оказалось не так просто найти правила использования для такого варианта. Одни жалобы...

Буду рад (думаю не только я) ссылкам вразумительного описания важных правил увязки разноязыкового текста проекта.

Спасибо!

Если найду достойное - сам выложу.
Грендайзер
А что за правила... Если пишите код на верилоге, то vhdl-ные конструкции там не проскочут. Другой вопрос, что подключаемые модули могут быть и на vhdl и на verilog... Или я чего то не знаю...
Мур
Эт понятно... Не охота переписывать разные кубики...
....wrapping-культура
Цитата(Грендайзер @ Mar 20 2018, 12:55) *
.... Другой вопрос, что подключаемые модули могут быть и на vhdl и на verilog...

Так это уже решение..

##############

http://www.edautils.com/RTLUtils.html[/url]
Translators and converters

Ломовое решение без правил, но с новыми подводными камнями
Александр77
Цитата(Мур @ Mar 20 2018, 11:37) *
Мужики, я в ступоре...
Слышал страсти о возможности одновременного использования двух основных языков.
Оказалось не так просто найти правила использования для такого варианта.

Как делаю у себя (пишу VHDL)
открываю в квартусе верилоговский файл, затем конвертирую его в компонент vhdl (FILE->create/update->create vhdl component)и вставляю его в проект.
Когда потребовалась обратное включение вставил в верилоговский свой верхний модуль, обозвал его по имени (пример myname)
myname D1(
.clk(clock),
.rst(reset)

и далее по тексту
)
KalashKS
Как уже написали, совметсное использование нескольких языков сводистя к возможости подключения модулей, написанных на любом языке. В 95% случаев все достаточно прямолинейно: вставляется модуль с идентичными именами портов. При этом если модуль написан на VHDL и вставляется в Verilog, то в портах лучше ограничиться использованием стандартных типов. Оствшиеся 5% сильно зависят от конкретного используемого софта. Некоторые правила могут быть описаны в мануале. Вот несколько примеров таких особенностей без конкретики:
1) Чувствительность к регистру в портах;
2) Возможность вставки в VHDL без объявления компонента;
3) Связка generic VHDL и parameter Verilog.
По последнему пункту несколько подробнее, т.к. это самое странное, с чем сталкивался. NC Verilog, по всей видимости, при вставке в VHDL модуля, написанного на Verilog, связывает generic и parameter только позиционно. То есть важен порядок объявления парвметров в Verilog и порядок строк в generic map VHDL. Значение из первой строки generic map всегда присвоится первому параметру, из второй - второму и т.д. На имена в generic map софт не обращает внимания.
Мур
https://www.alteraforum.com/forum/showthread.php?t=5860 взято.....
You can instance from VHDL a Verilog module and viceversa, each one in different files. This example shows how do it:
This is a VHDL entity called "White"

ENTITY white IS
PORT(
----------------------Inputs-------------------------------
clk : IN STD_LOGIC;
i_fval : IN STD_LOGIC;
i_media : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
-------------------------------------------------------------
----------------------Outputs--------------------------------
o_enable : OUT STD_LOGIC;
o_exposure : OUT STD_LOGIC_VECTOR(9 DOWNTO 0)
-------------------------------------------------------------
);
END white;


This is a Verilog code that instances a white module called white0

white white0(
.clk(CCD_PIXCLK),
.i_fval(MEDIA_sfval[9:0]),
.i_media(MEDIA_sa[9:0]),
.o_enable(senable),
.o_exposure(sbalance)
);

Quartus II Web Edition does support mixed languages.
ModelSim-Altera Edition does NOT support mixed languages.
Есть шанс, только надо поколдовать.....
https://www.fpgarelated.com/showthread/comp...pga/12748-1.php
yes
в VHDL порты должны быть std_logic, std_ulogic и *_vector
если вставлять верилог в VHDL, то нужно описать компонент

вроде бы никаких проблем, все тулзы со времен царя Гороха поддерживают mixed design
AVR
В квартусятине не пробовал, но в Xilinx ISE давно юзаю Verilog+VHDL. Проблем не помню.
Мур
Цитата(AVR @ Mar 22 2018, 12:01) *
В квартусятине не пробовал, но в Xilinx ISE давно юзаю Verilog+VHDL. Проблем не помню.


А в симуляции ModelSim?...
Цитата
Quartus II Web Edition does support mixed languages. ModelSim-Altera Edition does NOT support mixed languages.
Есть шанс, только надо поколдовать.....
https://www.fpgarelated.com/showthread/comp...pga/12748-1.php
alexadmin
Ограничения касаются только Starter Edition. Но последние версии Modelsim Altera Starter Edition поддерживают режим Mxed-Language
Мур
Цитата(Александр77 @ Mar 20 2018, 13:51) *
Как делаю у себя (пишу VHDL)
открываю в квартусе верилоговский файл, затем конвертирую его в компонент vhdl (FILE->create/update->create vhdl component)и вставляю его в проект.


Впечатления хорошие... И МоделСим видит! Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.