Verilog(一)不同模块之间的地址如何正确调用

Verilog中模块的地址调用有两种方法,一种是通过位置调用,另一种是通过名称调用。*

一.*我们先看一下按位置调用及程序仿真结果。

1.我们首先找一个编写程序调用模块


此图有一个外置模块和一个内置模块,我们使用内置模块调用外置模块的输入输出端口

2.编写一个程序


按位置调用top_module模块的端口用于对应我们编写的实例化模块mod_a模块

接下来看一下仿真结果:

通过仿真可以看出没有任何结果输出,这是为什么呢?

原来是我们将输入输出端口写反了,在按位置调用的时候需要先写输出端口,再写输入端口;

3.修改后的程序

此时我们修改了输入输出的端口位置,再来看一下仿真结果:

此时我们的仿真结果的有输出且结果正确。 因此,在使用按位置调用的时候我们需要格外注意端口的方向和顺序。这种按位置调用有一个不足的点,当我们的端口位置发生变化的时候,我们实例化的模块将会中断,不在调用。

二.现在来看一下如何按名称调用

1.老规矩,先上图


此模块也是一个实例化调用,和上文一样,就不多赘述了;直接看程序和结果;

2.程序和结果

此时我们可以看到按名称调用这种写法比较冗长,但是程序可读性较强。

仿真结果显示我们的程序没有问题,输出结果也正确。
按名称调用需要注意两点:
1.使用此种调用端口的顺序不受影响,也就是说无论你书写顺序如何变化,都不会影响输出结果,因为端口是一一对应的;
2.要特别注意端口前面的句号,如果忘写了则程序不能调用且会报错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值