Мур 1 20 марта, 2018 Опубликовано 20 марта, 2018 · Жалоба :1111493779: Мужики, я в ступоре... Слышал страсти о возможности одновременного использования двух основных языков. Оказалось не так просто найти правила использования для такого варианта. Одни жалобы... Буду рад (думаю не только я) ссылкам вразумительного описания важных правил увязки разноязыкового текста проекта. Спасибо! Если найду достойное - сам выложу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Грендайзер 0 20 марта, 2018 Опубликовано 20 марта, 2018 · Жалоба А что за правила... Если пишите код на верилоге, то vhdl-ные конструкции там не проскочут. Другой вопрос, что подключаемые модули могут быть и на vhdl и на verilog... Или я чего то не знаю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 20 марта, 2018 Опубликовано 20 марта, 2018 · Жалоба Эт понятно... Не охота переписывать разные кубики... ....wrapping-культура .... Другой вопрос, что подключаемые модули могут быть и на vhdl и на verilog... Так это уже решение.. ############## http://www.edautils.com/RTLUtils.html[/url] Translators and converters Ломовое решение без правил, но с новыми подводными камнями Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Александр77 1 20 марта, 2018 Опубликовано 20 марта, 2018 · Жалоба Мужики, я в ступоре... Слышал страсти о возможности одновременного использования двух основных языков. Оказалось не так просто найти правила использования для такого варианта. Как делаю у себя (пишу VHDL) открываю в квартусе верилоговский файл, затем конвертирую его в компонент vhdl (FILE->create/update->create vhdl component)и вставляю его в проект. Когда потребовалась обратное включение вставил в верилоговский свой верхний модуль, обозвал его по имени (пример myname) myname D1( .clk(clock), .rst(reset) и далее по тексту ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KalashKS 0 20 марта, 2018 Опубликовано 20 марта, 2018 · Жалоба Как уже написали, совметсное использование нескольких языков сводистя к возможости подключения модулей, написанных на любом языке. В 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 софт не обращает внимания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 20 марта, 2018 Опубликовано 20 марта, 2018 · Жалоба 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 7 21 марта, 2018 Опубликовано 21 марта, 2018 · Жалоба в VHDL порты должны быть std_logic, std_ulogic и *_vector если вставлять верилог в VHDL, то нужно описать компонент вроде бы никаких проблем, все тулзы со времен царя Гороха поддерживают mixed design Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 22 марта, 2018 Опубликовано 22 марта, 2018 · Жалоба В квартусятине не пробовал, но в Xilinx ISE давно юзаю Verilog+VHDL. Проблем не помню. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 23 марта, 2018 Опубликовано 23 марта, 2018 · Жалоба В квартусятине не пробовал, но в 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 0 23 марта, 2018 Опубликовано 23 марта, 2018 · Жалоба Ограничения касаются только Starter Edition. Но последние версии Modelsim Altera Starter Edition поддерживают режим Mxed-Language Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 25 марта, 2018 Опубликовано 25 марта, 2018 · Жалоба Как делаю у себя (пишу VHDL) открываю в квартусе верилоговский файл, затем конвертирую его в компонент vhdl (FILE->create/update->create vhdl component)и вставляю его в проект. Впечатления хорошие... И МоделСим видит! Спасибо! mix_hdl000.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться