Verilog中已有一些建立好的逻辑门和开关的模型。在所涉及的模块中,可通过实例引用这些门与开关模型,从而对模块进行结构化的描述。

逻辑门:

and (output,input,...)

nand (output,input,...)

or (output,input,...)

nor (output,input,...)

xor (output,input,...)

xnor (output,input,...)

缓冲器和与非门

buf (output,...,input)

not (output,...,input)

三态门:

bufif0 (output,input,enable)

bufif1 (output,input,enable)

notif0 (output,input,enable)

notif1 (output,input,enable)

MOS开关

nmos (output,input,enable)

pmos (output,input,enable)

rnmos (output,input,enable)

rpmos (output,input,enable)

CMOS开关

cmos (output,input,Nenable,Penable)

rcmos (output,input,Nenable,Penable)

双向开关:

tran (inout,inout2)

rtran (inout,inout2)

双向可控开关

tranif0 (inout1,inout2,control)

tranif1 (inout1,inout2,control)

rtranif0 (inout1,inout2,control)

rtranif1 (inout1,inout2,control)

上拉源和下拉源

pullup (output)

pulldown (output)

以下为上述门电路的真值表:

其中逻辑值L和H代表部分未知值。L表示0或者Z,H表示1或者Z;

附表1 与门真值表

and  0   1   x   z 
 0   0  0  0  0
 1  0  1   x  x
 x  0  x  x  x
 z  0  x  x  x

附表2 与非门真值表

nand  0   1   x   z 
 0   1  1  1  1
 1  1  0   x  x
 x  1  x  x  x
 z  1  x  x  x

附表3 或门真值表

or  0   1   x   z 
 0   0  1  x  x
 1  1  1   1  1
 x  x  1  x  x
 z  x  1  x  x

附表4 或非门真值表

nor  0   1   x   z 
 0   1  0  x  x
 1  0  0   0  0
 x  x  0  x  x
 z  x  0  x  x

附表5 异或门真值表

xor  0   1   x   z 
 0   0  1  x  x
 1  1  0   x  x
 x  x  x  x  x
 z  x  x  x  x

附表6 同或门真值表

xor  0   1   x   z 
 0   1  0  x  x
 1  0  1   x  x
 x  x  x  x  x
 z  x  x  x  x

附表7 缓冲器及与非门真值表

buf   not
Input Output   Input Output
0 0   0 1
1 1   1 0
x x   x x
z x   z x

附表8 缓冲器使能端真值表

Bufif0 Enable   Bufif1 Enable
0 1 x z 0 1 x z

D

A

T

A

0 0 z L L

D

A

T

A

0 z 0 L L
1 1 z H H 1 z 1 H H
x x z x x x z x x x
z x z x x z z x x x

附表9 缓冲器非门使能端真值表

notif0 Enable   notif1 Enable
0 1 x z 0 1 x z

D

A

T

A

0 1 z H H

D

A

T

A

0 z 1 H H
1 0 z L L 1 z 0 L L
x x z x x x z x x x
z x z x x z z x x x

附表10  MOS型控制端真值表

Pmos

Rpmos

Control  

Nmos

Rnmos

Control
0 1 x z 0 1 x z

D

A

T

A

0 0 z L L

D

A

T

A

0 z 0 L L
1 1 z H H 1 z 1 H H
x x z x x x z x x x
z z z z z z z z z z

规则:

1)缓冲门、非门都可以有多个输出,但是这些输出值都是相同的。

2)当nmos,pmos,cmos, tran, tranif0, tranif1类型的开关开启时,信号从输入到输出并不改变其强度。

3)当有电阻的开关,如rnmos, rpmos, rcmos, rtran, rtranif0, rtranif1类型的开关,开启式,信号从输入到输出会改变其强度。

Strength 减至
supply pull
strong pull
pull weak
large medium
weak medium
medium small
small small
highz highz

Verilog学习笔记基本语法篇(十三)...............Gate门的更多相关文章

  1. Verilog学习笔记基本语法篇(十二)········ 编译预处理

    h Verilog HDL语言和C语言一样也提供编译预处理的功能.在Verilog中为了和一般的语句相区别,这些预处理语句以符号"`"开头,注意,这个字符位于主键盘的左上角,其对应 ...

  2. Verilog学习笔记基本语法篇(九)········ 任务和函数

    task 和 function 说明语句分别用来定义任务和函数,利用任务和函数可以把函数模块分成许多小的任务和函数便于理解和调试.任务和函数往往还是大的程序模块在不同地点多次用到的相同的程序段.输入. ...

  3. Verilog学习笔记基本语法篇(十一)········ 常用系统函数

    1)系统任务:$monitor   格式: $monitor(p1,p2,p3...pn); $monitor; $monitoron; $monitoroff; 任务$monitor提供了监控输出列 ...

  4. Verilog学习笔记基本语法篇(十)········ 常用系统函数

    $display 和 $write 任务 格式: $display (p1,p2,...,pn); $write (p1,p2,..,pn); 这两个函数和系统的任务作用是用来输出信息,即将参数p2到 ...

  5. Verilog学习笔记基本语法篇(七)········ 生成块

    生成块可以动态的生成Verilog代码.可以用于对矢量中的多个位进行重复操作.多个模块的实例引用的重复操作.根据参数确定程序中是否包含某段代码.生成语句可以控制变量的声明.任务和函数的调用.还能对实例 ...

  6. Verilog学习笔记基本语法篇(八)········ 结构说明语句

    Verilog中的任何过程都可以属于以下四种结构的说明语句; 1) initial;  2) always;  3) task;   4) function; 1) initial说明语句: 一个程序 ...

  7. Verilog学习笔记基本语法篇(六)········ 循环语句

    在Verilog中存在着4种类型的循环语句,用来控制执行语句的执行次数. 1)forever语句: 连续执行的语句. 2)repeat语句:  连续执行n次的语句. 3)while语句:    执行语 ...

  8. Verilog学习笔记基本语法篇(四)·········块语句

    块语句是指将两条或者两条以上的语句组合在一起,使其在格式上更像一条语句.块语句分为两种: 1)用begin_end语句,通常用来标识顺序执行的语句,用它标识的块称作顺序块: 2)用fork_join语 ...

  9. Verilog学习笔记基本语法篇(三)·········赋值语句(待补充)

    在Verilog HDL语言中,信号有两种赋值方式. A)非阻塞赋值(Non-Blocking)方式(如:b<=a;) (1)在语句块中,上面语句所赋值的变量不能立即为下面的语句所用: (2)块 ...

随机推荐

  1. iOS 屏幕适配:autoResizing autoLayout和sizeClass

    1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基 ...

  2. instanceof, typeof, & Object.prototype.toString

    /** * * @authors Your Name (you@example.org) * @date 2016-11-18 09:31:23 * @version $Id$ */instanceo ...

  3. 学习ASP.NET MVC(四)——我的第一个ASP.NET MVC 实体对象

    今天我将根据数据库中的表结构添加一些类.这些类将成为这个ASP.NET MVC应用程序中“模型”的一部分.       我们使用Entity Framework(实体框架)来定义和使用这些模型类,并且 ...

  4. Struts2学习笔记 - HelloWorld总结

    相信网上已经有很多关于struts2的HelloWorld可参考,我这里就不重复了,没个学struts2的人都会做过很多个HelloWorld,而我这里就总结一下一个简单的HelloWorld 我在一 ...

  5. 使用模板技术处理ASP.NET中GridView额外序号列的问题

    问题描述: 现在要在一张GridView表中添加一列来显示行号,要求是显示下一页的时候能够递增而不是从新编号.数据库中的没有相关序号列 如何在软件端实现呢? 通过测试,添加以下代码即可解决需求. &l ...

  6. PhotoShop常用快捷键

    Photoshop常用快捷键: 图01 图02 图03 图04 图05 快捷键 PS快捷键是Photoshop为了提高绘图速度定义的快捷方式,它用一个或几个简单的字母来代替常用的命令. 多种工具共用一 ...

  7. 学习RxJS: 导入

    原文地址:http://www.moye.me/2016/05/31/learning_rxjs_part_one_preliminary/ 引子 新手们在异步编程里跌倒时,永远会有这么一个经典问题: ...

  8. Web 前端开发精华文章推荐(HTML5、CSS3、jQuery)【系列二十二】

    <Web 前端开发精华文章推荐>2014年第一期(总第二十二期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML ...

  9. 解决erlang节点启动失败报["inet_tcp",econnrefused]的问题

    今天有同事说他机器上的leofs启动不了.我用console起了一下,发现报如下错: {error_logger,{{2015,11,3},{6,23,6}},"Protocol: ~tp: ...

  10. MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...