- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程 实验三 三种逻辑功能电路描述方法设计 Verilog的 内置门元件 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 2、 数据流描述 数据流描述方式主要使用持续赋值语句,多用于描述组合逻辑电路,其格式为: assign LHS_net=RHS_expression; 右边表达式中的操作数无论何时发生变化,都会引起表达式值的重新计算, 并将重新计算后的值赋予左边表达式的net型变量。 数据流描述 用数据流描述模式设计电路与用传统的逻辑方程设计电路很相似。设计中只要有了布尔代数表达式就很容易将它用数据流方式表达出来。表达方法是用Verilog中的逻辑运算符置换布尔逻辑门运算符即可。 比如,如果逻辑表达式为: 则用数据流方式描述为: assign F=(ab)|(~(cd))。 module mux4_1c(out,in1,in2,in3,in4,s0,s1); input in1,in2,in3,in4,s0,s1; output out; assign out=(in1 ~s0 ~s1)|(in2 ~s0 s1)| (in3 s0 ~s1)|(in4 s0 s1); endmodule 3、 行为描述 就是对设计实体的数学模型的描述,其抽象程度远高于结构描述方式和数据流描述。当描述一个设计实体的行为时,无需知道具体电路的结构,只需要描述清楚输入与输出信号的行为,而不需要花费更多的精力关注设计功能的门级实现。 四、实验步骤 分别对以上介绍的三种原理进行编程、仿真得到验证结果。 实验报告要求 1、分析每种电路描述方法的特点。 2、通过三种描述电路方法设计三人表决器逻辑电路。给出设计过程,并仿真验证。 表决器设计参考程序 常用数字逻辑公式 * EDA课组 一、实验目的: 1、学习三种逻辑功能电路描述方法; 2、学习典型电路设计; 二、实验内容 1、 学习结构、数据流和行为描述语句的功能电路设计方法。 2、 学习数据选择器、加法器和编译码设计。 三、实验原理 1、结构描述方法 调用软件平台内部的门元件,通过电路逻辑结构功能进行设计的方法。 调用门元件的格式为: 门元件名字 例化的门名字(端口列表) 其中普通门的端口列表按下面的顺序列出: (输出,输入1,输入2,输入3……); 比如:与门格式 and a1(out,in1,in2,in3); //三输入与门 非门not需注意的是:它们允许有多个输出,但只能有一个输入。比如: not N1(out1,out2,in); //1个输入in,2个输出out1,out2 下面是一下逻辑门符号: 如用基本逻辑门结构设计的4选1 MUX原理图 四 选 一 in1 in2 in3 in4 out s0,s1 S0,S1 out 0 , 0 in1 0 , 1 in2 1 , 0 in3 , 1 in4 如用逻辑门结构描述设计的四选一程序: 这些语句并行运行,与顺序无关。 仿真结果: 如用数据流描述设计的4选1 MUX 逻辑表达式: 这种描述通常用过程语句(always和initial)进行描述。 module mux4_1b(out,in1,in2,in3,in4,s0,s1); input in1,in2,in3,in4,s0,s1; output reg out; always@(*) //使用通配符* case({s0,s1}) 2b00:out=in1; 2b01:out=in2; 2b10:out=in3; 2b11:out=in4; default:out=2bx; //x 不确定状态 endcase endmodule 如用case语句描述设计的4选1 MUX 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 f 0 0 0 1 0 1 1 1 c b a 输出 输入 逻辑表达式: 【例2.1】 三人表决电路的Verilog描述 module vote(a,b,c,f); //模块名与端口列表 input a,b,c; //模块的输入端口 ou
文档评论(0)