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. salesforce 零基础学习(二十八)使用ajax方式实现联动

    之前的一篇介绍过关于salesforce手动配置关联关系实现PickList的联动效果,但是现实的开发中,很多数据不是定死的,应该通过ajax来动态获取,本篇讲述通过JavaScript Remoti ...

  2. django创建项目

    django创建项目 安装django pip install django==1.9 Note: C:\Python34\Scripts\pip.exe 创建项目 django-admin star ...

  3. Python数据类型之“集合(Sets)与映射(Mapping)”

    一.集合类型(Sets) 集合对象是不同的(不可重复)hashable对象的无序集合.常见用法包括:成员关系测试.移除序列中的重复.以及科学计算,例如交集.并集.差分和对称差分.通俗点来说,集合是一个 ...

  4. 一直都在说反射很有用 谈谈大型.NET ERP系统有哪些地方用到了反射

    反射Reflection,MFC时代叫RTTI(Runtime Type Identification) 运行时类型识别,提供一种动态创建对象的能力. 这里不谈反射的概念和基本用法,仅仅就我遇到的ER ...

  5. javascript类型系统——Number数字类型

    × 目录 [1]定义 [2]整数 [3]浮点数[4]科学记数[5]数值精度[6]数值范围[7]特殊数值[8]转成数值[9]实例方法 前面的话 javascript只有一个数字类型,它在内部被表示为64 ...

  6. Android_TextView之跑马灯效果

    对于android控件中的TextView,相信大家一定不陌生,在显示文本内容时十分方便.不过我在使用时遇到一个小问题,就是当文字交多时,如何为用户进行展示.今天就为大家介绍一种解决方案--跑马灯效果 ...

  7. uva oj 567 - Risk(Floyd算法)

    /* 一张有20个顶点的图上. 依次输入每个点与哪些点直接相连. 并且多次询问两点间,最短需要经过几条路才能从一点到达另一点. bfs 水过 */ #include<iostream> # ...

  8. 查看abp框架异常信息

    abp框架中经常出现{"message":"An error has occurred."}的异常,并且也进入不到方法中,如果想查看详细信息,可以采用下面方法 ...

  9. backbone库学习-model

    backbone库的结构: http://www.cnblogs.com/nuysoft/archive/2012/03/19/2404274.html 本文所有例子来自于http://blog.cs ...

  10. Cocos2d-x 3.2 学习笔记(七)Scene And Transition

    Scene 场景. 是一个抽象的概念,仅被用作Node(节点)的一个子类. Scene (场景)和Node(节点)几乎相同,不同的是Scene的默认锚点在屏幕的中心. 关于场景,不得不提的是场景之间的 ...