四位二进制除法器说明书.doc_第1页
四位二进制除法器说明书.doc_第2页
四位二进制除法器说明书.doc_第3页
四位二进制除法器说明书.doc_第4页
四位二进制除法器说明书.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录 一 、设计目的 1二 、设计要求 1三 、设计内容 13.1、除法的实现 13.2、设计框图 13.3、功能说明 13.4、VHDL程序源代码 23.5、VHDL程序说明 3四 、原理图和印刷板图 4 PCB板图 4 Protel 原理图 5五、设计结论 6六、设计心得体会 6七、主要参考文献 7一、 设计目的1. 掌握电子电路的一般设计方法和设计流程;2. 学习使用PROTEL软件绘制电路原理图及印刷板图。二、 设计要求设计一个四位二进制除法器,具体要求如下:1. 用键盘输入两个四位二进制数,并用数码管显示输入数。2按除法键即显示相除结果。 3. 除数为零时,数码管黑屏,不显示任何内容。三、 设计内容 1、 设计过程 要想实现四位二进制除法器,必须首先实现除法的功能。除法实现的方案可以用VHDL语言实现。整个四位二进制除法器包括:输入电路,判断电路,除法电路,译码电路和显示电路。这些电路可以分别进行设计。2、 设计框图 输入A商输入B余数判断B是否为0 除法器3各个模块的功能说明l 整个四位二进制除法器的实现可以分为以下5个部分:l 输入电路:输入两个4位2进制数A和B。它是通过连着高电平的8个开关来实现的。l 判断电路:判断B是否为0。它是通过1个5输入同或门实现的。如果 B为0,输出端输出高电平,使能端除法器不工作,显示器黑屏。l 除法电路:由VHDL语言实现的。它实现两个4位2进制数相除,并输出商y和余数r.l 译码电路:由VHDL语言实现的。它实现两个4位2进制数相除,并输出商y和余数r.l 显示电路:将译码器译成的数用数码管显示出来。4VHDL程序源代码除法源代码1 Library ieee;2 Use ieee.std_logic_1164.all;3 Entity divider is4 Generic (n: integer :=3);5 Port( a, b : in integer range 0 to 15;6 y:out std_logic_vector ( 3 downto 0);7 rest:out integer range 0 to 15;8 err:out std_logic);9 End divider ;10 Architecture rtl of divider is11 Begin 12 Process (a,b)13 Variable temp1:integer range 0 to 15;14 Variable temp2:integer range 0 to 15;15 Begin16 temp1:=a;17 temp2:=b;18 if(b=0)then err =1;19 Else err=temp2*2*i) then23 y(i) =1;24 temp1:=temp1-temp2*2*i;25 Else y(i)= 0;26 End if;27 End loop;28 Rest =temp1;29 End process;30 End rtl;5VHDL程序说明假设要计算Y=A/B,其中 A 和 B 有相同的位数4位。假设A=“1011”,B=“0011”。我们希望得到的运算结果是Y=“0011”和余数“0010”。分析商的计算方法。首先对A和B进行比较。如果前者大于后者,则Y为1,然后将A减去B;否则Y=0;再进入下一行。当n+1次迭代之后,计算完成,剩下的A就是余数。让B乘以2的n次幂相当于将B向左移n位,所以新的B矢量比原矢量长n位。如果A比新的B更大,则Y(n)取值为1,然后将A减去B(移位后的);否则Y=0;此后进行新的迭代。 将B乘以2的n-1次幂相当于将B向左移n-1位,或将刚才计算时用到的值想右移1位。然后再将它和A比较,重复前面的步骤来决定Y(n-1)是取0还是1。整个计算过程需要循环进行n+1次上述操作。第一个使用的是if 语句,另一个使用的是if 和loop语句。第一种方案是按部就班的进行编码,所以可以看出代码是与算法对应的。第二种方案更简洁一些,并且更通用(位宽参数是通过第6行的GENERIC来声明的)。在这两种实现方案中,由于被除数不可以为0,所以在下面的代码中都要检测B是否为0。仿真结果见下图;四、 原理图和印刷板图PCB版图 电路原理图说明:S1、S2输入信号,输入S2的信号经过A2判断,若全为0,则出高电平,使能端除法器不工作,显示器黑屏。输入的两信号经除法器A1处理,经VHDL语言实现,输入商Y和余数R。最后将译码器译成的数用数码管显示出来。五、设计结论本设计用 一个5输入同或门和 一个VHDL编程除法器,实现数据A除以数据B并输出商Y和余数R的功能,经MAXPLUSE2仿真验证分析,可以实现此功能。六、设计心得体会l 通过本次课程设计,我深深的感受到自己的不足和差距。在课程设计中对PROTELL99,MAX-PULL2软件的掌握还不是特别的熟练,在以后的学习中应该注重学习此部分内容。也大量的查阅手册和文献资料,从中了解了一些硬件和软件的用途。七、参考文献l 任勇峰.。VHDL硬件描述语言 。北京:国防工业出版社。2005l 乔序峰译。VHDL数字电路设计教程。北京。电子工业出版社2005l 徐敏。电子线路实习指导教程。北京:机械工业出版社,2006l 朱玉正。EDA技术及应用。北京:清华大学出版社2005l 童诗白模拟电子技术基础北京:高等教育出版社,2002l 张建华数字电子技术北京:机械工业出版社,2004l 陈汝全电子技术常用器件应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论