本课题的目的就是给定X和Y求的商和余数。具体实现的算法为:不管两数的最高位是否有效,都按照同样的步骤从最高位求起。若被除数为4位,则运算4次,的到4位商。运算时,现在被除数前面添加4个0,再将被除数向左移动一位,再将除数的4位数与被除数的高4位对齐进行比较,如果被除数的高4位大于除数,则商C等于1,余数等于被除数的高4位减去除数;如果被除数的高4位小于等于除数,此时的商C等于0,余数R为被除数的高4位。接下来再以上一步余数R与被除数的低四位的组合为被除数重复上面的操作4次,即可得到商和余数。
具体的操作如表1所示:
表1除法运算的具体过程
0000 0001 -0010 0001 0011 -0010 0001 0010 -0010 0000 0001 -0010 0001 1101 1010  1010 0100 起始 左移动 0001<0010 C3=0 第一次余数 左移 0011>0010 C2=1 0100 1000 第二次余数 左移 0010=0010 C1=1 1000 0000 第三次余数 左移 0001<0000 C0=0  余数R  1、
ASM图
如表1所示算法,可以画出ASM图,见图1。
存储器A存储被除数,存储器存储除数,存储器C存储商,存储器R存储余数;CNT为计数器,从0记到4。
通常系统处于初始状态T0 ,待收到启动信号(S1=1)后便进行除法运算准备,即分别送被除数X和除数Y至寄存器A和B中,清0商寄存器C和余数寄存器R以及计数器CNT,并转入状态T1,由状态T1开始进入除法运算的循环操作。
T0 0  S1 100 1 A←X,B←Y C←0 ,R←0 CNT←0 T1 A←SLA,R←SLR R0←A,CNT←CNT+1 T2 001 0 S2 1 C←SLC R←R-B C←SLC,C0←1  0 S3 1
图1  除法器ASM图
三、 方案说明
4位二进制除法器采用表1所示的算法,并省去了商为0时减去0的操作。
S2
图2  原理框图
商C 余数R 寄存器A(被除数) X 比较器 减法器 计数器P Y 寄存器B(除数) S1 检n
以器件74LS194寄存器A,B,C,R分别存放被除数、除数、商和余数。其中A寄存器应执行并入,左移和保持操作,其有关的输入驱动为表2所示。
表2 A寄存器输入端的驱动要求 控制信号 操作 并入 左移 S1 1 0 S0 1 1 DSR x 0 D3-D0 X3-X0 x T0,S1 T1 保持不变。
除数寄存器只有并入和保持两种操作,它在为1时,置入除数,其它情况一律商数寄存器C具有清0、左移和保持操作,清0可用同步并入0来实现。具体驱动要求如表3。
表3  C寄存器输入端的驱动要求 控制信号 操作 并入 右移 S1 1 0 S0 1 1 DSR x D3-D0 0 T0,S1 T2 S2 x 计数器CNT用来计算运行的次数,当CNT=4时即计算结束,以器件74LS163D来实现计数器的功能。具体驱动功能如表4所示。
表4  计数器输入端的驱动要求 控制信号 操作 清零 计数 S1 x 0 S0 x 1 CR 0 1 LD 1 T0,S1 T2 1
CNT用来累计运算次数,4位二进制除法器运算4次,除法结束,既当CNT=4时,状态信号S3=1。
以74LS85D和74LS283D组成减法器,用来计算余数和除数之间的差值,即执行R-B操作,可利用补码计算,即
R-B=R+B’+1
其中,以器件74LS85D作为比较器来判断余数和除数的大小,即比较R寄存器中的值与B寄存器中的值来确定商C。
以器件74LS283D与7404组成减法器,用来计算余数与除数的差值,即求的R-B。
通过这些主要器件的组合即可以实现4位二进制除法器的功能。
首先将被除数和除数的数据存储到寄存器中,在通过比较器比较被除数与除数的大小,如果被除数大于除数,则通过加法器和反相器组成的减法器计算余数,商存储器的值为1;如果被除数小于除数,余数存储器的值为被除数本身,商存储器C的值为0。再以上一步的余数为被除数重复上面操作。
四、 电路设计 1、逻辑控制电路
逻辑控制电路仿真电路图如图3所示。 其方框图及电路如图2所示。
控制器可根据状态转换表来设计,采用触发器方案实验,由74LS74D实现。 控制器中S1为启动信号,高有效,系统开始工作时应使得T0=1,T1=T2=0,所以图中设置了Reset信号(负脉冲J3)。
图中的X1,X2,X3分别显示了状态T0、T1和T2的状态。
图3  逻辑控制电路仿真电路
2、数据处理仿真电路
数据处理的仿真电路图如图4所示。
其中U9显示的为被除数,U11显示的为除数,U13显示的为商,U12显示的为余数。当控制器的状态为T0时,进行预置数,当控制器的状态为T1时开始4位二进制除法的计算。由上面介绍的算法以及方案说明可得具体的运算方法。
图4  数据处理电路仿真电路
五、 性能测试
表 5  性能测试
被除数 15 1 2 13 除数 1111 2 1 2 商 1 0 2 6 余数 0 1 0 1
六、 结论
经过输入几组数据的实际测试,测的该4位二进制除法器,性能稳定,计算准确,能正确的完成4位二进制除法的任务,正确计算出商C和余数R。
故该4位二进制除法器能够正确完成指定的任务。
七、 性价比
综上所述,经该方案设计的周期电路,所选器件较少,价格便宜,既简便,又实惠,计算范围大,电路运行稳定,完全可以满足正常4位二进制除法运算要求,可以投入到现实生活中去应用。
八、 课设体会及合理建议
经过这次数电课程设计,我深刻的体会到了,书本上的知识落到实用之处是多么的不容易。上课老师讲的和书本里讲的仅仅是给了我们一个正确的解决问题的办法,以及一些基本的数字电子电路的基本原理。厚厚的一本书,为的仅仅就是夯实我们的基础,让我们在遇到复杂的问题时候能够正确的分析功能需求,正确的给出合理化的设想以及解决这些问题的方法,至于怎样的去解决,则需要我们自己通过我们已经学到的知识,方法去查找资料,请教老师,去分析,去解决。
在本次课程设计中,我上网查找了好多关于除法器和计算机中计算除法的方法等知识,增长了知识,更加深刻的理解了许多课上讲解的理论,熟悉了部分器件的使用方法,让自己的理论知识得到了实践,验证。
我也理解了团队的作用,当有些知识自己不懂的时候就可以去请教同学,同学会从他的角度谈谈他对你这个课题的理解,以及对你电路仿真过程中遇到的问题给出了一些解决方法。
希望今后的课程设计可以多出一些贴近教材的题目,让同学们在实践中检验真理,发展真理。
参考文献
[1].谢自美. 电子线路设计·实验·测试. [M]武汉:华中理工大学出版社,
2000年
[2].阎石.   数字电子技术基础. [M]北京:高等教育出版社,2006年 [3].付家才. 电子实验与实践. [M]北京:高等教育出版社,2004年 [4].戴伏生. 基础电子电路设计与实践.[M]北京:国防工业出版社,2007年 [5]张庆双.  全新实用电路精粹.[M]北京:机械工业出版社,2008年
附录II  元器件清单 序号 1 2 3 4 5 6 7 8 9 10 11 12
编号 U1~U4   名称  通用寄存器 加法器 比较器 计数器 双D型正沿触发器 型号 74LS194 74LS283 74LS85 74LS163 74LS74D 7410N   7404N 7409N 7400N DIPSW1 DSWPK_4 74LS00D 数量 4 1 1 1 3 1 3 1 2 2 2 8 U5 U6 U7 U20, U19, U23 U14 U8, U18, U17 U15 U10, U16 与非门 反相器 与门 与非门 开关器 4位开关 与非门 s1, J4 J2, J1 U21, U22