1、关于如何在vhdl模块调用一个verilog模块
在vhdl模块声明一个要与调用的verilog模块相同名称的元件(component),元件的名称和端口模式应与verilog模块的名称和输入/输出模式相同。注意verilog区分大小写,vhdl不区分,所以模块名字一定要完全一致,不能搞混。
举个例子:下面是一个vhdl模块,在里面声明了一个元件(component)
看verilog模块再
vhdl的模块就是通过声明一个元件(component)来调用这个verilog模块,将元件声明提出来讲,如下图:
对比这个verilog模块和vhdl中声明的元件不难发现,模块名/端口/输入输出模式完全一样,这和vhdl自己调用用vhdl的元件(component)基本一样。
2、关于如何在verilog中调用vhdl模块
在verilog中,通过在verilog模块中输入其名称(标识符)及端口来调用vhdl实体。模块的参数应该与实体的类型和端口的方向匹配,可以映射到verilog模块的vhdl端口为:in,out和inout;在某些模拟器中,不允许使用缓冲区。verilog模块只能使整个vhdl实体可见。
举个例子:下图是一个verilog模块调用了vhdl模块(高亮处)
下图是一个vhdl模块
simulator(模拟器,注:这个是英文原版使用的词语,我的理解就是一些eda)首先在verilog模块中查找,以查看是否有任何名为vhd_enty的verilog模块。如果找不到,模拟器将在vhdl实体中查找。当模拟器找到名称为vhd_enty的实体时,它将该实体绑定到verilog模块。在代码中,输入a被传递到输入端口x;输入b传递给输入y。vhdl实体计算输出o1和o2;这两个输出分别传递到verilog输出c和d。调用vhdl模块与调用功能或任务非常相似。
例子举完了,下面验证一下
验证:在verilog中调用vhdl模块实体(vhdl调用verilog考虑到比较简单,大家用的更多是verilog,就不举例子了)
验证内容:使用verilog调用两个vhdl写的d触发器模块实现打两拍。
这个代码是一个用vhdl语言写的d触发器模块,在fifo中也写过。
这个代码是verilog写的,在内部调用两个由vhdl写的d触发器,实现两级d触发器。
上图是vhdl写的d触发器综合出的原理图,注意对应的端口。
上图是verilog代码综合出来的原理图,从代码上看,定义了vclk、x、y三个端口,连接vhdl写的两个d触发器,基本的调用过程就是这样。
总结:两者的互相调用过程都不复杂,举个基础的例子只是为了大家熟悉这个过程。在实际中难免会遇到有互相调用的地方。
HSDPA基站部署及容量分析
土壤紧实度测定仪的功能是什么
BFORCE云图-实体零售的新时代即将来临!
电力监控系统是什么,它的主要功能有哪些
瑞基执行器的要点和功能有哪些
探讨VHDL和Verilog模块互相调用的问题
美媒:美发布对华芯片设限最终规则
反激电源中如何抑制振铃
三星条形音箱全球市场占据21.8%的市场份额
芯片市场: Intel迅猛三星止步 高通进步快
英特尔开发48核智能手机平板电脑芯片
python入门之编码风格规范分享
打游戏用哪种蓝牙耳机比较好,618打游戏买什么蓝牙耳机好
mos管开关电路
过年送什么礼物好?2022年货节好物推荐
苹果再压三星,明年上演的iphone8拍照提升:支持光学防抖
英特尔和Turner Sports将通过VR直播2018~2019赛季NBA
SMT元件基础知识(2023精华版),你值得拥有!
借助物联网系统跑赢“地震波”!
工业物联网与物联网 "工业4.0"的区别