Verilog语法--Gate门

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
时间: 2024-10-11 10:44:05

Verilog语法--Gate门的相关文章

verilog语法结构

数据流描述方式: 用数据流描述对一个设计建模的最基本方式是连续赋值语句.连续赋值语法assign [delay] LHS_net = RHS_ expression 'timescale 1ns/1ns module Decoder2_4(A,B,EN,Z); input A,B,EN; output [0:3] Z; wire Abar,Bbar;                                   //线网类型定义两个连线型变量 assign #1 Abar = A~; as

Verilog语法遗漏点

1 关于参数定义 Parameter:parameter只能定义在端口生命的前面,如 Input[whith:0] a; Parameter whith=4; 这样的参数定义出现在声明的后面会报错 2 关于always块 always块不仅可以描述时序逻辑,也可以描述组合逻辑 如wire a,b;  assign a=b 与reg a; wire b;  [email protected](b) a=b;     可见,always块内允许阻塞赋值 不过需要注意的是 always中,等号左边的变

verilog语法实例学习(9)

常用的时序电路介绍 寄存器 一个触发器可以存储一位数据,由n个触发器组成的电路可以存储n位数据,我们把这一组触发器叫做寄存器.寄存器中每个触发器共用同一个时钟. 下面是n位寄存器的代码,我们通过一个参数定义n,在实例化时传入参数n. module regne (D, clk,Rst_n,E,Q); parameter n=4; input [n-1:0] D; input clk; input Rst_n; //复位信号 input E; //使能信号 output reg [n-1:0] Q;

verilog语法之memory存储器

命名规则:reg[n-1:0] 存储器名[m-1:0] 说明:这是m个n位的存储器,该存储器的地址范围是0-(m-1) 举例:reg[3:0] memo[255:0] 说明:这是256个4位存储器,该存储器地址范围是0-255 赋值:memo[200] = 4'b1010; 说明:给第200地址单元赋值4'b1010: 精确到位:memo[56][2] 说明:第56地址的第2位数据 赋值:wire data=memo[56][1]; 说明:把memo中第56地址的第1位数据赋值给data:

Verilog HDL基础语法讲解之模块代码基本结构

Verilog HDL基础语法讲解之模块代码基本结构 ? 本章主要讲解Verilog基础语法的内容,文章以一个最简单的例子"二选一多路器"来引入一个最简单的Verilog设计文件的基本结构. 以下为本章中例子中的代码: 01????/*======================================= 02????*????file neme : mux2.v 03????*????author????:????小梅哥 04????*????Verison????:????

对Verilog 初学者比较有用的整理(转自它处)

对Verilog 初学者比较有用的整理(转自它处) ******************************************************************************************************************** *作者: Ian11122840    时间: 2010-9-27 09:04                                                                   

从头学起Verilog(三):Verilog逻辑设计

引言 经过了组合逻辑和时序逻辑的复习,终于到了Verilog部分.这里主要介绍Verilog一些基础内容,包括结构化模型.TestBench编写和仿真.原语及真值表模型. 这部分内容不多,也都十分基础,大家可以看个乐呵,看个意思,但是有一些细节还是需要注意的. Verilog结构化模型 结构化和语言规则 下图以示例的形式分别说明了1995版和2001/2005版Verilog语法下的结构化模型,两者的不同主要体现在模块输入输出端口的声明中.端口可以是input.output,也可以是inout双

《Verilog数字系统设计教程》第3版 夏宇闻

目录 [toc] 第1章 Verilog的基本知识 数字电路系统设计: 从上到下(从抽象到具体)逐层描述自己的设计思想,用一系列分层的模块来描述极其复杂的数字系统. 利用EDA工具逐层进行仿真验证 将需要编程具体物理电路的模块组合经过自由综合工具转换到门级电路网表. ASIC或者FPGA实现功能. Verilog HDL和VHDL的比较: 重点是Verilog简单啊,入门容易. 逻辑网表EDIF: EDIF是电子设计交换格式(Electronic Design Interchange Forma

Verilog HDL程序设计——基本要素

Verilog基本上熟悉了,继续整理一下Verilog的学习笔记吧.前面记载了Verilog的结构,写Verilog的结构有了,但是该怎么写呢?在写之前就得了解一下Verilog的一些基本要素了,也就是Verilog是怎么一点一点写出来的. 一.标识符与注释 前面已经说到,模块名的定义要符合标识符的定义,那么什么是标识符呢?它的语法是什么呢? ①标识符是赋给对象的唯一名称,通过标识符可以提及相应的对象,Verilog语法将对转义标识符中的字符逐个处理. ②标识符可以是字母.数字.下划线和美元符$