专题:元件例化

专题:元件例化,第1张

元件例化是指在一个module中调用了其他的module。

例如,下图中模块MUXK调用了两个MUX21A模块u1和u2。

实现方式如下:

相信你已经看明白了。解释如下:

1、要调用某个子模块,直接写上子模块名MUX21A,后面加上实例名u1,再后面括号内是子模块引脚信号与当前顶层module内信号的连接关系。

2、实例名u1,u2可以省略。

3、子模块引脚名(.a .b .s .y)可以颂友省略,条件是括号内被连接的 信号排列顺序 ,需要与子模块定义时的引脚名保持一致。

4、如果连接线tmp是单根信号线,可以省略不定义。

即,简略版的描述可以这样:

需要注意的事项

1、虽然上面说了一些可以省略的内容,但为了保证便于调试,以及防止因省略产生歧义,强烈建议不要省略。

2、姿慧在连接两个多位宽端口迹樱答(信号线宽大于1)的时候,连接线wire必须定义,且wire线宽需与总线宽度一致。否则,程序会认为只连接总线所有信号线里的其中一根线。

例如:下图元件例化中,用导线data连接DOUT[7..0]和B[7..0]时,必须事先定义

wire [7:0] data

首先在结弊帆喊构体租野中声明元件:

COMPONENT

GENERIC(类轿旦属参数说明);

PORT(端口参数列表);

ENDCOMPONENT

[:][GENERICMAP(参数映射)]

PORTMAP(端口映射);

例如:

COMPONENTand_gate

GENERIC(delay:time)

PORT(a,b:instd_logic

c:outstd_logic)

ENDCOMPONENT

U1:and_gateGENERICMAP(10ns)

PORTMAP(in1=>a,in2=>b,out=>c)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12303447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存