第3章逻辑电路功能描述方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如rnmos u2rnmos(outputA, inputB, controlC)
pmos 9pmos(iol_bus,read_data,gate_ctrl)
inputB outputA read_data iol_bus
controlC
gate_ctrl
nmos switch pmos switch 注意:(r)cmos具有一个数据输入、一个数据输出和两个控制输 入。相当以上两种控制的组合。
这种结构描述方法缺点是必须了解逻辑电路的内部结构 关系,它犹如电路图设计,需将所用到的逻辑函数通过实例 化门元件调用实现逻辑功能描述,是较为低级的电路功能描 述方式。
Hale Waihona Puke Baidu
三态缓冲器模型描述
三态缓冲器模型:采用调用内部实例化调用实现
自建三态缓冲器模型:采用数据流描述建立三态缓冲器
⑵开关级元件( 晶体管级结构描述 )
【例3.2】 数据流描述的4选1 MUX
逻辑表达式: out s1s0in1 s0s1in2 s0s1 in3 s1s0in4
module mux4_1c(out,in1,in2,in3,in4,s0,s1); input in1,in2,in3,in4,s0,s1; output out; //数据流描述时所用的变量类型一般都是线型(wire) assign out=(in1 & ~s0 & ~s1)|(in2 & ~s0 & s1)| (in3& s0 & ~s1)|(in4 & s0 & s1); endmodule
数据流描述
用数据流描述模式设计电路与用传统的 逻辑方程设计电路很相似。设计中只要有了 布尔代数表达式就很容易将它用数据流方式 表达出来。表达方法是用Verilog中的逻辑运 算符置换布尔逻辑运算符即可。 比如,如果逻辑表达式为:F ab cd 则用数据流方式描述为: assign F=(a&b)|(~(c&d))。
⑵开关级元件
②双向控制开关
tran rtuan tranif0 rtranif0 tranif1 rtranif1
这些开关是双向的,也就是说,数据可以双向流动,并 且当数据通过开关传播时没有延时,后4个开关能够通 过设置合适的控制信号而关闭,但前2个开关不能被关 闭。 前2种格式类型: (r)tran[instance_name](signalA,signalB) 后4种格式类型: gate_type[instance_name](signalA,signalB,controlC) 字头带r的开关类型,信号流过时,信号强度会出现衰减。
2、 数据流描述
数据流描述方式主要使用持续赋值 语句对输入与输出数据关系进行描述, 多用于描述组合逻辑电路。 其格式为: assign LHS_net=RHS_expression;
右边表达式中的操作数无论何时发 生变化,都会引起表达式值的重新计算 , 并将重新计算后的值赋予左边表达式 的net型变量。
用基本门实现的4选1 MUX原理图
out s1s0in1 s0s1in2 s0s1 in3 s1s0in4
【例3.1】 调用门元件实现的4选1 MUX
module mux4_1a(out,in1,in2,in3,in4,s0,s1); input in1,in2,in3,in4,s0,s1; output out; wire s0_n,s1_n,w,x,y,z;//中间变量定义可以省略 not (s0_n,s0),(s1_n,s1); and (w,in1,s0_n,s1_n),(x,in2,s0_n,s1), (y,in3,s0,s1_n),(z,in4,s0,s1); or (out,w,x,y,z); endmodule
门元件的调用
对于buf和not两种元件的调用,需注意 的是:它们允许有多个输出,但只能有 一个输入。比如:
not N1(out1,out2,in); //1个输入in,2个输出out1,out2 buf B1(out1,out2,out3,in); //1个输入in,3个输出out1,out2,out3
在Verilog程序中可通过如下方式描述电路的 结构 ◆ 调用Verilog内置门元件(门级结构描述) ◆ 调用开关级元件(晶体管级结构描述) ◆ 用户自定义元件UDP(也在门级)
⑴Verilog的 内置门元件
门元件的调用
调用门元件的格式为: 门元件名字 <例化的门名字>(<端口列表>) <例化的门名字>:可以省略 其中普通门的端口列表按下面的顺序列出: (输出,输入1,输入2,输入3……); 比如: and a1(out,in1,in2,in3); //三输入与门 对于三态门,则按如下顺序列出输入输出端口: (输出,输入,使能控制端); 比如: bufif1 mytri1(out,in,enable); //高电平使能的 三态门
四选一逻辑控制电路仿真结果
3、 行为描述
就是对设计实体的数学模型的描述, 其抽象程度远高于结构描述方式。行为 描述类似于高级编程语言,当描述一个 设计实体的行为时,无需知道具体电路 的结构,只需要描述清楚输入与输出信 号的行为,而不需要花费更多的精力关 注设计功能的门级实现。
①单向控制开关
MOS开关共有以下6种类型 cmos pmos nmos rcmos rpmos rnmos 这6种类型的门可用来给单向开关建模, 也就是说,通过设置控制输入的值(1/0) 可以接通或者关闭从输入流向输出的数 据流。
⑵开关级元件
语法格式 :
gate_type [instance_name](outputA,inputB,controlC)
第3章 逻辑电路功能描述方法
主要内容
3.1 基本电路逻辑功能描述方法
3.2 混合电路描述 3.3 层次电路功能描述方法
3.1 基本电路逻辑功能描述方法
◆ 1、结构(Structural)描述
◆ 2、数据流(Data Flow)描述
◆ 3、行为(Behavioural)描述
1、 结构(Structural)描述