找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6914|回复: 0
打印 上一主题 下一主题
收起左侧

在verilog中调用VHDL模块

[复制链接]
跳转到指定楼层
楼主
ID:91350 发表于 2015-11-1 15:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

习惯了自己发现一些小问题,既然发现了,就记下来吧,不然又要忘了,这是多么悲痛的领悟。

今天在用vivado进行块设计时所生成的顶层模块居然是用VHDL语言描述的,这时郁闷了,表示只看过VHDL语法但没写过。暂且不说VHDL模块的内容,我应该如何在测试平台中例化它并对它进行测试呢?稍微查了一下,其实很简单,只要把VHDL中的组件名、端口统统拿出来,按照verilog模块的例化形式就可以了。下面举个简单的例子来说明如何在verilog模块中例化VHDL模块。

2选1多路复用器的VHDL描述:

entity mux2_1 is
    port(
        dina : in bit;
        dinb : in bit;
        sel  : in bit;
        dout : out bit
    );
end mux2_1;

architecture Behavioral of mux2_1 is
begin
    dout <= dina when sel = '0' else dinb;
end Behavioral;

verilog中2选1多路复用器的例化:

module mux2_1_top
(
    input       dina,
    input       dinb,
    input       sel,
    output      dout
);
//------------------
//  call mux2_1 module
mux2_1 u_mux2_1(
    .dina   (   dina    ),
    .dinb   (   dinb    ),
    .sel    (   sel     ),
    .dout   (   dout    )
);

endmodule



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表