华中科技大学数字逻辑实验小设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1华中科技大学小设计报告数字电路与逻辑设计课程小设计题目:简单运算器运算电路设计专业:计算机科学与技术班级:CS1409学号:U201414813姓名:唐礼威指导教师:徐老师2华中科技大学小设计报告一、设计题目每位同学自选下列题目之一。(1)时序信号发生器设计(2)地址译码电路设计(3)自选(内容要求参见(1)、(2))二、设计内容要求2.1、简单运算器设计用Verilog实现一个满足设计要求的简单运算器的运算电路。2.1.1设计要求设计一个能实现两种算术运算和两种逻辑运算的4位运算器。参加运算的4位二进制代码分别存放在4个寄存器A、B、C、D中,要求在选择变量控制下完成如下4种基本运算:(1)实现A加B,显示运算结果并将结果送寄存器A;(2)实现A减B,显示运算结果并将结果送寄存器B;(3)实现A与C,显示运算结果并将结果送寄存器C;(4)实现A异或D,显示运算结果并将结果送寄存器D。2.1.2功能描述根据设计要求,为了区分4种不同的运算,需设置2个运算控制变量。设运算控制变量为S1和SO,可列出运算器的功能,如表1所示。根据功能描述可得出运算器的结构框图,如图1所示。整个电路可由传输控制电路、运算电路、显示电路3部分组成。S1S0功能说明00A+B→AA加B,结果送至A01A-B→AA减B,结果送至A10A·B→CA与C,结果送至C11A⊕B→DA异或D,结果送至D简单运算功能说明表3华中科技大学小设计报告运算器的结构框图由简单运算器的结构图可知其由传输控制电路、运算电路和运算结果显示电路三个大部分构成,其中运算电路又由算术运算电路、逻辑运算电路构成。这次设计主要是利用Verilog语言设计运算器中运算电路部分。2.1.3电路设计运算电路的逻辑电路图如下:4华中科技大学小设计报告由运算电路的逻辑电路图可以看出运算器中的逻辑关系,运算器主要由一片74LS283芯片和4个寄存器及8个异或门和4个与门构成。由运算电路逻辑电路图可以初步构思设计个子模块的功能。但是仅有运算电路的逻辑电路图还不够,还需要整体运算器的逻辑电路图才能确定各个子模块的输入与输出关系。运算电路的完整逻辑电路图如下:可以看到运算电路逻辑图只是其中一部分,其中74LS283芯片功能为超前进位的全加器,可以将它设计为一个加法器模块。由以上的分析,知该设计主要要解决的问题:主模块的设计、寄存器模块的设计、加法器模块的设计、仿真验证。由此写出程序代码如下:功能代码:`timescale1ns/1ps//主模块moduleJDYS(CIN,S1,S0,CP,A,B,C,D,F);5华中科技大学小设计报告inputCIN,S1,S0,CP;input[3:0]A;input[3:0]B;input[3:0]C;input[3:0]D;outputreg[3:0]F;wire[3:0]xnor1;wire[3:0]and1;wire[3:0]xnor2;wire[3:0]r1;wire[3:0]r2;wire[3:0]r3;wire[3:0]r4;wire[3:0]a;wireaout;parameterW=1'b1xor(xnor1[0],r1[0],r4[0]),xor(xnor1[1],r1[1],r4[1]),xor(xnor1[2],r1[2],r4[2]),xor(xnor1[3],r1[3],r4[3]);xor(xnor2[0],r2[0],CIN),xor(xnor2[1],r2[1],CIN),xor(xnor2[2],r2[2],CIN),xor(xnor2[3],r2[3],CIN);registerX1(W,A[3],A[2],A[1],A[0],W,W,W,W,CP,r1[3],r1[2],r1[1],r1[0]),registerX2(W,B[3],B[2],B[1],B[0],W,W,W,W,CP,r2[3],r2[2],r2[1],r2[0]),registerX3(W,C[3],C[2],C[1],C[0],W,W,W,W,CP,r3[3],r3[2],r3[1],r3[0]),registerX4(W,D[3],D[2],D[1],D[0],W,W,W,W,CP,r4[3],r4[2],r4[1],r4[0]);addX5(CIN,r1,xnor2,a,aout);and(and1[0],r1[0],r3[0]),6华中科技大学小设计报告and(and1[1],r1[1],r3[1]),and(and1[2],r1[2],r3[2]),and(and1[3],r1[3],r3[3]);always@(*)begincase({S1,S0})2'b00:beginF=a;end2'b01:beginF=a;end2'b10:F=and1;2'b11:F=xnor1;endcaseendendmodule//加法器模块moduleadd(cin,x,y,z,fc);inputcin;input[3:0]x;input[3:0]y;outputreg[3:0]z;outputregfc;reg[3:0]c;always@(cin,x,y,z,fc)begin7华中科技大学小设计报告z[0]=x[0]^y[0]^cin;c[0]=((x[0]^y[0])&cin|x[0]&y[0]);z[1]=x[1]^y[1]^c[0];c[1]=((x[1]^y[1])&c[0]|x[1]&y[1]);z[2]=x[2]^y[2]^c[1];c[2]=((x[2]^y[2])&c[1]|x[2]&y[2]);z[3]=x[3]^y[3]^c[2];fc=((x[3]^y[3])&c[2]|x[3]&y[3]);endendmodule//寄存器模块moduleregister(FCLR,D,C,B,A,DR,DL,S1,S0,CP,Q4,Q3,Q2,Q1);inputFCLR,D,C,B,A,DR,DL,S1,S0,CP;outputregQ4,Q3,Q2,Q1;parameterW=1,F=0;initial{Q4,Q3,Q2,Q1}=4'b0000;always@(posedgeCP)if(!FCLR){Q4,Q3,Q2,Q1}=0;elseif((~S1)&(~S0)){Q4,Q3,Q2,Q1}={Q4,Q3,Q2,Q1};elseif(S1&S0){Q4,Q3,Q2,Q1}={D,C,B,A};elseif((~S1)&S0&DR){Q4,Q3,Q2,Q1}={1,Q3,Q2,Q1};elseif((~S1)&S0&(!DR)){Q4,Q3,Q2,Q1}={0,Q3,Q2,Q1};elseif(S1&(~S0)&DL){Q4,Q3,Q2,Q1}={Q3,Q2,Q1,W};elseif(S1&(~S0)&(~DL))8华中科技大学小设计报告{Q4,Q3,Q2,Q1}={Q3,Q2,Q1,F};Endmodule仿真程序`timescale1ns/1psmoduleJDYS_tb();regCIN,S1,S0,CP;reg[3:0]A;reg[3:0]B;reg[3:0]C;reg[3:0]D;wire[3:0]F;JDYSDUT(.A(A),.B(B),.C(C),.D(D),.S1(S1),.S0(S0),.CP(CP),.CIN(CIN),.F(F));initialbeginA=4'd12;B=4'd11;C=4'd2;D=4'd8;S1=0;S0=0;CIN=0;CP=1;#10S1=0;S0=1;CIN=1;CP=0;#10S1=1;S0=0;#10S1=1;S0=1;#10A=4'd5;B=4'd7;C=4'd5;D=4'd1;S1=0;S0=0;CIN=0;CP=1;#10S1=0;9华中科技大学小设计报告S0=1;CIN=1;CP=0;#10S1=1;S0=0;#10S1=1;S0=1;#10A=4'd0;B=4'd15;C=4'd4;D=4'd8;S1=0;S0=0;CIN=0;CP=1;#10S1=0;S0=1;CIN=1;CP=0;#10S1=1;S0=0;#10S1=1;S0=1;#10;endendmodule运算电路电路图:10华中科技大学小设计报告运算电路仿真波形图:参考文献:[1]欧阳星明、于俊清等.《数字逻辑》(第四版)华中科技大学出版社,.com

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功