版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数字逻辑课程设计 学号:2012059090008 姓名:韩杰 4位二进制全加/全减器1 任务和要求:(1) 设计内容: 使用74LS83构成4位二进制全加/全减器。(2) 设计要求: .列出真值表; .画出逻辑图; .用Verilog HDL进行仿真;2 设计思路:.全加器的实现(1)全加器是可以实现两个二进制数和低位进位相加的器件,和一般加法器不同之处就在于考虑了低位进位。(2)四位加法器的实现:.先实现一位二进制的全加,然后通过级联,设计出四位二进制的全加器,但是这样的全加器由于后一级的和依赖于前一级的进位,所以器件的速度比较慢,效率低;.直接实现四位二进制的全加,每一位的和只与该位的
2、加数和被加数有关,这样就会大大提高器件的速度和效率。(2)74LS83是一个超前进位的四位加法器:(如下图)由于74LS83具有超前进位的功能,所以可以直接用来做四位全加器,并且比一般的全加器速度要快、效率要高。部分真值表为:A4A3A2A1B4B3B2B1CiD4D3D2D1Co000000000000000000000010001000010001000100000100011001100010001000100000100010101010001100110011000011001110111001110111111110.全减器的实现:(1) 全减器是两个二进制的数进行减法运算时使用的
3、一种运算单元。最简单的全减器是采用本位结果和借位来显示,二进制中是借一当二,所以可以使用两个输出变量的高低电平变化来实现减法运算。(2)74LS83运算减法,即“被减数-减数=差”,所以可以通过和的形式来实现,即“被减数+(减数相反数)=差”,只要通过减数构造出减数的相反数即可。减法器部分真值表为:A4A3A2A1B4B3B2B1D4D3D2D1000000000000000100010000001000010001001100010010001100100001010000000100001000100000三设计方案:(1)由于用一片74LS83来实现全加器和全减器,所以可以增加一个控制输
4、入,来控制选择功能。当控制输入为1时,电路实现全减器的功能;控制输入为0时,电路实现全加器的功能。(2)关于全减器实现的问题,可以用A4A3A2A1+(-B4B3B2B1),而相反数可以用补码的形式来实现,即。当控制输入为1时,电路实现全减功能,所以,1可以通过Control+Ci来实现;并且B端输入可以通过ControlBi来实现,这样,当Control=1时,B端输入就是。所以,设计的电路图为:四Verilog HDL代码:(1)一位全加器的Verilog代码:module fa1(a,b,ci,s,co );input a,b,ci;output s,co;reg s,co;reg g,
5、p;always ( a or b or ci )begins = (a b) ci;g=a&b;p=a|b;co=p&(g|ci);endendmodule(2) 四位全加器的Verilog代码:module fa4(a,b,c0,s,c4 );input4:1 a,b;input c0;output4:1 s;output c4;wire3:1 c;fa1 u0(a1,b1,c0,s1,c1);fa1 u1(a2,b2,c1,s2,c2);fa1 u2(a3,b3,c2,s3,c3);fa1 u3(a4,b4,c3,s4,c4);endmodule(3) 综合Verilog
6、代码(即74LS83):module fafs(A,B,Control,C0,S,C4);input4:1 A,B;input C0,Control;output4:1 S;output C4;wire Ci;assign Ci=C0|Control;assign D1=B1Control;assign D2=B2Control;assign D2=B3Control;assign D2=B4Control;fa4 top(A,D,Ci,S,C4);endmodule(4) 测试用Verilog代码(testbeach):timescale 1ns/1nsmodule fulladd_top;
7、 reg4:1 A,B,S; reg Control,C0; initial begin A1=0; A2=0; A3=0; A4=0; B1=0; B2=0; B3=0; B4=0; Control=0; C0=0; end always #20 A=A;always #40 B=B; fafs day1( .A(A), .B(B), .Control(Control), .C0(C0), .S(S), .C4(C4) );endmodule 5 仿真结果:(1) 当输入Control=0时,对设计电路做时序仿真:(2) 当输入Control=1时,对设计电路做时序仿真:六结果分析:(1)输
8、入Control=1时,设计电路的仿真结果和全加器的真值表基本一样,只是时序仿真会存在延迟现象,是在设计所允许的范围内的,所以,Control=1时,设计的电路可以实现全加器功能。(2)输入Control=0时,设计的电路可以实现两个四位二进制数的减法功能。但是由于时序仿真存在一定的延迟,所以会在仿真图中看到毛刺。七总结:通过四位二进制全加器/全减器的实现,了解了74LS83的基本功能和内部逻辑图,并且对全加器和全减器有了更好的了解。通过VerilogHDL语言的编译和仿真,掌握了初步的VerilogHDL的编写,拓展了知识。八参考文献:Digital Design Principles an
9、d Practices(Fourth Edition) John F.Wakerly 高等教育出版社 基于moore状态机的10101序列检测器的设计1 任务和要求:(1)设计内容:设计一个moore状态机来检测序列“10101”,当输入序列中出现“10101”时,状态机输出1,允许使用重叠位,即:前一个“10101”最后一位1可以作为后一个“10101”序列的起始位。(2) 设计要求: .给出系统的设计思路,设计各层次的verilog文件。 .利用modelsim等软件对设计进行编译、调试。 .通过功能仿真、时序仿真进行功能测试。2 设计思路:(1) 状态机的设计流程为:状态图状态输出表转移
10、输出表转移方程和输出方程激励方程和输出方程设计电路图。设计的总体框图为:(2)状态图:(设初始状态为S0)S1:得到1; S2:得到10; S3:得到101;S4:得到1010; S5:得到10101;该序列检测器为输入可重叠的moore机,所以,给出的状态图为:(3) 状态输出表: S XZ01 S0S0S10 S1S2S10 S2S0S30 S3S4S10 S4S0S50 S5S2S11 S6无关状态无关状态0 S7无关状态无关状态0 S*(4) 转移输出表:Q2Q1Q0 XZ010000000010001010001001000001100111000010100000101010101
11、00011110dddddd0111dddddd0 Q2*Q1*Q0*(5) 卡诺图得到转移方程和输出方程:Q2*: 所以: Q2*=Q2Q0X+Q1Q0XQ1*: 所以: Q1*=Q1Q0X+Q1Q0XQ0*:所以:Q0*=XZ=Q2Q1Q0(6) 激励方程和输出方程:D2=Q2Q0X+Q1Q0X D1=Q1Q0X+Q1Q0X D0=XZ=Q2Q1Q0(7) 验证是否自启动:状态用三位二进制编码,有8个状态,其中6个为有效状态,2个为无效状态。Q2Q1Q0=110、111时,状态无效,此时,通过转移方程可以得到无效状态的转换为:所以,可以看出,当电路处于两个无效状态时,电路经过有限个触发,可
12、以回到设定的有效状态,所以,该设计电路满足自启动。3 设计方案:(1) 综上所述,最后得到的激励方程为:D2=Q2Q0X+Q1Q0X 、D1=Q1Q0X+Q1Q0X 、D0=X;输出方程为:Z=Q2Q1Q0。Q2/Q1/Q0状态可以用D触发器来产生。(2) 在MAXPLUX中设计电路图如下:四Verilog HDL代码:(1) 状态表的Verilog代码:module State(CLOCK,X,Z); input CLOCK,X; output Z; reg Z; reg 2:0 Qreg,Qnext; parameter 2:0 Q0=3'b000, Q1=3'b001,
13、Q2=3'b010, Q3=3'b011, Q4=3'b100, Q5=3'b101;always (posedge CLOCK) Qreg<=Qnext;always (X,Qreg)begin case(Qreg) Q0:if(X=0)Qnext=Q0; else Qnext=Q1; Q1:if(X=0)Qnext=Q2; else Qnext=Q1; Q2:if(X=0)Qnext=Q0; else Qnext=Q3; Q3:if(X=0)Qnext=Q4; else Qnext=Q1; Q4:if(X=0)Qnext=Q0; else Qnext=
14、Q5; Q5:if(X=0)Qnext=Q2; else Qnext=Q1; default Qnext=Q0; endcaseendalways (Qreg) case(Qreg) Q0,Q1,Q2,Q3,Q4:Z=0; Q5: Z=1; default Z=0; endcaseendmodule(2) 测试用Verilog代码(testbeach):timescale 1ns/1nsmodule State_top; reg CLOCK; reg X; initial begin CLOCK=0; X=1; end always #20 CLOCK=CLOCK;always #40 X=X; State day1( .CLOCK(CLOCK), .X(X), .Z(Z) );endmodule 4 仿真结果:输入X为010101010的周期序列,Modelsim的仿真结果为:其中第一行为Clock触发信号,第二行为输入X信号,第三行为输出Z信号。5 结果分析:输入的X为01的周期序列,从仿真结果中可以看出:Clock的上升沿触发,使得电路依次采集到10101010的信号,电路第一次采集到10101信号时,输出Z为1;由于第一个“10101”中最后一位1成为了第二个的起始位,所以第二次采集了10101时,Z输出为1。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆租赁到期解除协议示例2024年
- 2024年零售柜台租赁协议格式
- 齐鲁工业大学《材料力学》2021-2022学年第一学期期末试卷
- 房地产建设委托代理协议模板2024
- 2024房产交易居间服务协议
- 2024年化食用油买卖协议模板
- 家纺产品创新与设计理念考核试卷
- 摩托车的驾驶员骑行姿势与动力输出考核试卷
- 企业如何应对环保投诉和纠纷考核试卷
- 游乐园儿童安全措施指南考核试卷
- 行政批复协议书范本
- 清理杂树杂草施工方案范本
- 【语文】宁波市小学四年级上册期中试卷
- 环保设施安全风险评估报告
- MOOC创新创业与管理基础(东南大学)
- 【基于活动理论的信息技术课程教学研究8300字(论文)】
- 年产15万吨PET的生产工艺设计-毕业论文
- 车间生产计划完成情况统计表
- 品管圈(QCC)降低ICU护士床头交接班缺陷率课件
- 《左道:中国宗教文化中的神与魔》读书笔记模板
- 施工现场临时用电安全技术规范
评论
0/150
提交评论