版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDA课程课程 实验四实验四组合逻辑电路设计组合逻辑电路设计EDA课组一、实验目的:一、实验目的:1、掌握组合逻辑电路设计原理及组合逻辑电路设计原理及特点;2、学习使用组合逻辑电路设计使用组合逻辑电路设计方法;二、实验内容二、实验内容2、通过仿真软件进行验证仿真通过仿真软件进行验证仿真 。1、 设计几种典型组合逻辑电路系统;设计几种典型组合逻辑电路系统;三、实验原理三、实验原理1、组合逻辑电路概念:、组合逻辑电路概念:是由门电路组合而成的具有某种功能的电路,电路中没有记忆单元,没有反馈是由门电路组合而成的具有某种功能的电路,电路中没有记忆单元,没有反馈电路,输入决定输出。电路,输入决定输出。组
2、合逻辑电路x1x2xiy1y2yj每个输出变量是输入变量的逻辑函每个输出变量是输入变量的逻辑函数,每个时刻的输出状态仅与当时数,每个时刻的输出状态仅与当时输入有关,与输入的原状态无关。输入有关,与输入的原状态无关。),(),(),(2121221121ijiixxxfyxxxfyxxxfyj下面观察已做过的实验特点下面观察已做过的实验特点这个这个数字选择电路数字选择电路仿真结果说明仿真结果说明y的输出完全由输入决定,输出同步随输入而的输出完全由输入决定,输出同步随输入而变,这就是组合电路特征。变,这就是组合电路特征。这个这个二进制半加器电路二进制半加器电路仿真结果说明仿真结果说明so与与co的
3、输出完全由输入决定,输出同的输出完全由输入决定,输出同步随输入而变,这就是组合电路特征。步随输入而变,这就是组合电路特征。实际逻辑问题真值表逻辑表达式最简(或最合理)逻辑表达式逻辑图化简变换2、组合逻辑电路设计方法、组合逻辑电路设计方法传统逻辑电路设计方法传统逻辑电路设计方法Verilog HDL逻辑电路设计方法逻辑电路设计方法只需根据实际的逻辑功能用只需根据实际的逻辑功能用Verilog HDL语言对其进行描述,然后仿真语言对其进行描述,然后仿真得到结果,观察是否符合实际逻辑功能。得到结果,观察是否符合实际逻辑功能。组合逻辑电路可采用组合逻辑电路可采用结构描述、数据流描述和行为描述方法结构描
4、述、数据流描述和行为描述方法实现,实现,一般采用后面两种方法,特殊情况采用结构描述。一般采用后面两种方法,特殊情况采用结构描述。三、实验步骤三、实验步骤1、设计一个二进制数字比较器,比较输入数据、设计一个二进制数字比较器,比较输入数据a与与b的大的大小,并分别输出到小,并分别输出到x,y和和z。输入输出abx(a=b)y(ab)00100010101000111100由上面真值表可知其逻辑关系为:bazbayabbax,结构描述:结构描述:采用内部逻辑实例化调用方式描述采用内部逻辑实例化调用方式描述module bj (a,b,x,y,z);input a,b;output x,y,z;wir
5、e not_a,not_b,F,G;not(not_b,b); not(not_a,a);and(F,not_a,not_b); and(G,a,b);or(x,F,G);and(y,not_a,b); and(z,a,not_b);endmodulebazbayababx,调用门元件的格式为:调用门元件的格式为:门元件名字门元件名字 ()其中普通门的端口列表按下面的顺序列出:其中普通门的端口列表按下面的顺序列出:(输出,输入(输出,输入1,输入,输入2,输入,输入3););比如:比如:and a1(out,in1,in2,in3); /三输入与门三输入与门or a2(out,in1,in2,
6、in3); /三输入或门三输入或门not N1(out1,out2,in); /1个输入个输入in,2个输出个输出out1,out2非门非门可以通过逻辑电路图输入进行设计,下面通过可以通过逻辑电路图输入进行设计,下面通过Verilog HDL软件软件进行电进行电路功能描述来完成设计。路功能描述来完成设计。数据流描述:数据流描述:常采用如下连续赋值语句:常采用如下连续赋值语句:assigndelay LHS_net=RHS_expression;建立工程及文件建立工程及文件comp2_1,方法同前面实验。,方法同前面实验。module comp2_1(x,y,z,a,b); input a ,b
7、; output x,y,z; assign x=(a=b)?1:0;/条件操作符? assign y=(ab)?1:0;endmodule*也可以采用逻辑表达式进行编写也可以采用逻辑表达式进行编写assign x=(a&b)| (a&b)assign y=a&bassign z= a&b可以观察到图中输入状态完全决定输出状态!输出同步跟可以观察到图中输入状态完全决定输出状态!输出同步跟随输入而变!随输入而变!行为描述:行为描述:常采用如下方式语句常采用如下方式语句always (输入参数)module comp2_2(x,y,z,a,b); input a ,
8、b; output x,y,z; reg x,y,z;always (a,b) begin if (a=b) begin x=1b1;y=1b0;z=1b0;end else if (ab) begin y=1b1;x=1b0;z=1b0;end else begin z=1b1;x=1b0;y=1b0;end end endmodulemodule comp2_1(x,y,z,a,b); input a ,b; output x,y,z;assign x=(a=b);assign y=(ab);endmodule2、编解码器设计、编解码器设计是一种二进制数字编码形式,利用是一种二进制数字编码
9、形式,利用4个二个二进制单元存储一位十进制的数码,使得二进进制单元存储一位十进制的数码,使得二进制与十进制转换得以快速进行。制与十进制转换得以快速进行。BCD码有多码有多种编码方式,现采用种编码方式,现采用8421码编码。码编码。如图如图in0in9代表对应代表对应09共共10个数字输入端,输入高电个数字输入端,输入高电平为有效输入,平为有效输入,out0out3对对应输出的应输出的BCD码。码。BCD码编码器in0in2in3in4out0out1out2out3in1in5in6in7in9in8输入端口输入端口输出端口输出端口in0in1in2in3in4in5in6in7in8in9o
10、ut0out1out2out310000000000000010000000000010010000000001000010000000011000010000001000000010000010100000010000110000000010001110000000010100000000000011001BCD编码器真值表编码器真值表由由BCD码真值表可得其输入与输出的逻辑关系为:码真值表可得其输入与输出的逻辑关系为:out0=in8+in9out1=in4+in5+in6+in7out2=in2+in3+in6+in7out3=in1+in3+in5+in7+in9可以根据上述输入与输出
11、的逻辑关系采用可以根据上述输入与输出的逻辑关系采用结构描述和数据结构描述和数据流描述流描述实现该实现该BCD编码器逻辑电路功能。编码器逻辑电路功能。module BCD_Enc(in,out);input9:0 in;output3:0 out; reg3:0out; always (in) /always过程语句过程语句 begin case(in) 10b00_0000_0001:out=0; 10b00_0000_0010:out=1; 10b00_0000_0100:out=2; 10b00_0000_1000:out=3; 10b00_0001_0000:out=4; 10b00_0
12、010_0000:out=5; 10b00_0100_0000:out=6; 10b00_1000_0000:out=7; 10b01_0000_0000:out=8; 10b10_0000_0000:out=9; endcase endendmoduleBCD码编码器程序:采用行为描述实现编码逻辑电路功能码编码器程序:采用行为描述实现编码逻辑电路功能仿真结果如图:仿真结果如图:可见输出完全由输入决定,为组合逻辑电路。可见输出完全由输入决定,为组合逻辑电路。module bcd_enc(in,out); input9:0in; output3:0out; assign out=func_enc
13、(in); /函数调用 function 3:0 func_enc; /函数定义 input9:0 in; case(in) 10b00_0000_0001:func_enc=0; 10b00_0000_0010:func_enc=1; 10b00_0000_0100:func_enc=2; 10b00_0000_1000:func_enc=3; 10b00_0001_0000:func_enc=4; 10b00_0010_0000:func_enc=5; 10b00_0100_0000:func_enc=6; 10b00_1000_0000:func_enc=7; 10b01_0000_00
14、00:func_enc=8; 10b10_0000_0000:func_enc=9;endcaseendfunctionendmodule也可以通过以下函数调用方法实现:也可以通过以下函数调用方法实现:实验报告作业 给出详细BCD解码器设计过程。BCD码译码器in0in2in3in4out0out1out2out3in1in5in6in7in9in8BCD码译码器的输入为码译码器的输入为BCD码,输出为对应的码,输出为对应的09的数字。正是编的数字。正是编码器的相反过程。采用三种逻辑电路描述方法设计实现。码器的相反过程。采用三种逻辑电路描述方法设计实现。3、BCD译码器参考程序设计module
15、 bcd_dec(in,out); input3:0in; output9:0; out;out err; assign err,out=func_dec(in); /函数调用 function 10:0 func_dec; /函数定义 input3:0 in; case(in) 0 :func_enc=1b0,10b00_0000_0001 ; 1:func_enc=1b0,10b00_0000_0010 ; 2:func_enc =1b0,10b00_0000_0100 ; 3:func_enc =1b0,10b00_0000_1000 ; 4:func_enc=1b0,10b00_0001_0000 ; 5:func_enc=1b0,10b00_0010_0000 ; 6:func_enc=1b0,10b00_0100_0000 ; 7:func_enc=1b0,10b00_1000_0000 ; 8:func_enc =1b0,10b01_0000_0000 ; 9:func_enc=1b0,10b10_0000_0000 ; default:func_enc=1b1,10b00_0000_0000 ;/出错时err为1 endcaseendfunctionendmodulemodule add4_bcd(cout,sum,ina,inb,cin);input c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年许昌县三年级数学第一学期期末复习检测模拟试题含解析
- 2024-2025学年团风县数学三年级第一学期期末联考模拟试题含解析
- 2025年化学气相沉积硫化锌(CVDZNS)晶体项目提案报告模板
- 工商管理类实习报告汇编九篇
- 公司活动策划方案集合8篇
- 妇幼保健工作计划锦集10篇
- 关于工程建筑实习报告范文6篇
- 出纳实习报告集合15篇
- 四川省南充市2025届高三上学期高考适应性考试(一诊)生物试卷含答案
- 2024年设备购买与交付合同
- 智能 检测与监测 技术-智能建造技术专01课件讲解
- 大学生创业参考计划书范文5篇
- 2024年度医院医疗设备融资租赁合同4篇
- 行政规范性文件课件
- 交通事故应急处理考核试卷
- 工贸企业安全生产费用提取和使用管理制度(4篇)
- 中建硅墨烯保温板外墙保温施工方案
- 化学概论知到智慧树章节测试课后答案2024年秋东北师范大学
- GB/T 750-2024水泥压蒸安定性试验方法
- 2025届广东省广州市物理高二第一学期期末检测试题含解析
- 分段计费说课稿
评论
0/150
提交评论