Verilog有很多基本的元件,各种级别的元件都有,包括门级、寄存器等。这些元件都被写好后,放到库里,使用的时候都可以被调用。比如说放到库里的这些基本的与、或、非门,就叫作内建基元门。如果我们在设计的过程中,需要用到门,就可以直接调用。
(1)与门的调用
例7.1:实例调用2输入和5输入与门。
与门只有1个输出,多个输入。比如像下面这个句子:anda2(out2,in1,in2);
最左边是元件在库里的名字,然后写实例名。一个模块里可能要调用很多一模一样的与门,每个与门都可以给它起个单独的名字,第一个与门叫作a1,第二个叫作a2......实例名可写可不写。括号里的端口列表要和该元件在库里的端口列表输入输出一致。一般默认元件在库里定义的时候,括号里的第一项是输出,后面几个是输入。那么out2就是输出,in1和in2是输入。
上面这两个实例调用后的结果就是如图7.1所示。
图7.1 实例调用2输入和5输入与门
(2)与非门的调用
在库里,存在2输入、3输入、4输入等的与非门。仅举一例2输入与非门的调用如下:
(3)或非门的调用
2输入或非门的调用如下:
(4)或门的调用
2输入或门的调用如下:
(5)异或门的调用
2输入异或门的调用如下:
(6)同或门的调用
2输入同或门的调用如下:
(7)单输入、多输出门buf的调用
buf门只有一个输入,可以有很多个输出,其调用如下:
(8)单输入、多输出门not的调用
not门和buf门一样,也只有一个输入,可以有很多个输出,其调用如下:
(9)三态门的调用
有4种三态门,分别是:bufif1、bufif0、notif1和notif0。
bufif1的原理是:控制端输入1(if1就是这个意思),则输入数据传送到输出;若控制端输入0,则输出高阻态z。
bufif0的原理是:控制端输入0(if0就是这个意思),则输入数据传送到输出;若控制端输入1,则输出高阻态z。(www.xing528.com)
notif1和notif0的原理简单来说就是在缓冲器后多加了非门(not)。
notif1的原理是:控制端输入1(if1就是这个意思),则输入数据的非传送到输出;若控制端输入0,则输出高阻态z。
notif0的原理是:控制端输入0(if0就是这个意思),则输入数据的非传送到输出;若控制端输入1,则输出高阻态z。
bufif1的调用如下:
其中,in1是输入的数据信号,control是输入的控制信号,out1是输出。
(10)上拉门和下拉门
上拉门是pullup,只有一个输出,没有输入;下拉门是pulldown,也只有一个输出,没有输入。
上拉门,顾名思义就是把输出上拉为高电平,即置1;下拉门,顾名思义就是把输出下拉为低电平,即置0。
上拉门的实例调用如下:
(11)MOS开关
MOS开关有6种:
MOS开关和三极管的原理是很类似的。三极管无非就是一个基极,一个集电极,一个发射极。三极管的原理如下:基极就相当于是一个阀门,集电极到发射极相当于是一根水管,水管的中段钻了个孔,孔里安装了一个阀门(基极)。给基极输入一个很小的电压。当基极的电压大于pn结的结压,则相当于阀门打开,水管一头(集电极)的水就可以流向水管的另一头(发射极)。
MOS开关的原理也类似。
pmos开关指的是P型MOS管,有一个输入,一个输出和一个控制输入。若pmos开关的控制输入为1,开关关闭,输出高阻态z;若pmos开关的控制输入为0,开关打开,输入数据被传送给输出。
pmos开关的实例调用举例如下:
其中,u1是实例名,in1是输入的数据信号,control是输入的控制信号,out1是输出。
rpmos的器件控制原理和实例调用语法都与pmos的相同。与pmos相比较,rpmos的输入端的引线和输出端的引线之间有很高的电阻。所以名称上,多了一个r。
nmos开关指的是n型MOS管,有一个输入,一个输出和一个控制输入。若nmos开关的控制输入为0,开关关闭,输出高阻态z;若nmos开关的控制输入为1,开关打开,输入数据被传送给输出。
nmos开关的实例调用语法与pmos开关相同。
rnmos的器件控制原理和实例调用语法都与nmos的相同。与nmos相比较,rnmos的输入端的引线和输出端的引线之间也有很高的电阻。所以名称上,多了一个r。
cmos开关指的是互补型MOS管,有一个数据输入端,一个数据输出端和两个控制输入端。之所以叫作互补型MOS管,指的是一个cmos相当于一个pmos和一个nmos的组合。cmos的两个控制输入端,其中一个控制输入端就相当于pmos的控制输入端,cmos的另一个控制输入端就相当于nmos的控制输入端。
cmos开关的实例调用举例如下:
其中,in1是输入的数据信号,Ncontrol是n沟道的控制输入信号,Pcontrol是p沟道的控制输入信号,out1是输出。
rcmos开关指的是电阻型的cmos。rcmos和cmos的区别,就类似于rpmos和pmos的区别。
rcmos开关的实例调用语法与cmos开关相同。
例7.2:使用门级实例调用来设计主从D触发器。module MS_DFF(in1,in2,out,n_out);
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。