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

 
 
 
Reply to this topicStart new topic
> MIX Verilog & VHDL, ткните носом
Мур
сообщение Mar 20 2018, 08:37
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



1111493779.gif
Мужики, я в ступоре...
Слышал страсти о возможности одновременного использования двух основных языков.
Оказалось не так просто найти правила использования для такого варианта. Одни жалобы...

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

Спасибо!

Если найду достойное - сам выложу.
Go to the top of the page
 
+Quote Post
Грендайзер
сообщение Mar 20 2018, 08:55
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451



А что за правила... Если пишите код на верилоге, то vhdl-ные конструкции там не проскочут. Другой вопрос, что подключаемые модули могут быть и на vhdl и на verilog... Или я чего то не знаю...
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 20 2018, 09:27
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



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

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

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

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

Ломовое решение без правил, но с новыми подводными камнями
Go to the top of the page
 
+Quote Post
Александр77
сообщение Mar 20 2018, 09:51
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



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

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

и далее по тексту
)
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Mar 20 2018, 10:42
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Как уже написали, совметсное использование нескольких языков сводистя к возможости подключения модулей, написанных на любом языке. В 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 софт не обращает внимания.
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 20 2018, 15:16
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



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
Go to the top of the page
 
+Quote Post
yes
сообщение Mar 21 2018, 12:51
Сообщение #7


Гуру
******

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



в VHDL порты должны быть std_logic, std_ulogic и *_vector
если вставлять верилог в VHDL, то нужно описать компонент

вроде бы никаких проблем, все тулзы со времен царя Гороха поддерживают mixed design
Go to the top of the page
 
+Quote Post
AVR
сообщение Mar 22 2018, 08:01
Сообщение #8


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



В квартусятине не пробовал, но в Xilinx ISE давно юзаю Verilog+VHDL. Проблем не помню.


--------------------
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 23 2018, 09:03
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(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
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Mar 23 2018, 09:50
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Ограничения касаются только Starter Edition. Но последние версии Modelsim Altera Starter Edition поддерживают режим Mxed-Language
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 25 2018, 17:12
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Александр77 @ Mar 20 2018, 13:51) *
Как делаю у себя (пишу VHDL)
открываю в квартусе верилоговский файл, затем конвертирую его в компонент vhdl (FILE->create/update->create vhdl component)и вставляю его в проект.


Впечатления хорошие... И МоделСим видит! Спасибо!
Прикрепленные файлы
Прикрепленный файл  mix_hdl000.zip ( 12.92 килобайт ) Кол-во скачиваний: 6
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 10th July 2025 - 20:35
Рейтинг@Mail.ru


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