四位二进制除法器说明书

四位二进制除法器说明书

ID:35239605

大小:223.50 KB

页数:8页

时间:2019-03-22

四位二进制除法器说明书_第1页
四位二进制除法器说明书_第2页
四位二进制除法器说明书_第3页
四位二进制除法器说明书_第4页
四位二进制除法器说明书_第5页
资源描述:

《四位二进制除法器说明书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、目录一、设计目的…………………………………………………………………1二、设计要求…………………………………………………………………1三、设计内容…………………………………………………………………13.1、除法的实现…………………………………………………………13.2、设计框图……………………………………………………………13.3、功能说明……………………………………………………………13.4、VHDL程序源代码…………………………………………………23.5、VHDL程序说明……………………………………………………3四、原理图和印刷板图………………………………………………………4PCB

2、板图…………………………………………………………4Protel原理图……………………………………………………5五、设计结论……………………………………………………………………6六、设计心得体会………………………………………………………………6七、主要参考文献………………………………………………………………77一、设计目的1.掌握电子电路的一般设计方法和设计流程;2.学习使用PROTEL软件绘制电路原理图及印刷板图。二、设计要求设计一个四位二进制除法器,具体要求如下:1.用键盘输入两个四位二进制数,并用数码管显示输入数。2.按除法键即显示相除结果。3.除数为零时,数码管黑屏,不显示任何

3、内容。三、设计内容1、设计过程要想实现四位二进制除法器,必须首先实现除法的功能。除法实现的方案可以用VHDL语言实现。整个四位二进制除法器包括:输入电路,判断电路,除法电路,译码电路和显示电路。这些电路可以分别进行设计。2、设计框图输入A商输入B余数判断B是否为0除法器3.各个模块的功能说明l整个四位二进制除法器的实现可以分为以下5个部分:l7输入电路:输入两个4位2进制数A和B。它是通过连着高电平的8个开关来实现的。l判断电路:判断B是否为0。它是通过1个5输入同或门实现的。如果B为0,输出端输出高电平,使能端除法器不工作,显示器黑屏。l除法电路:由VHDL语言实现的。它实现两个4

4、位2进制数相除,并输出商y和余数r.l译码电路:由VHDL语言实现的。它实现两个4位2进制数相除,并输出商y和余数r.l显示电路:将译码器译成的数用数码管显示出来。4.VHDL程序源代码除法源代码1.Libraryieee;2.Useieee.std_logic_1164.all;3.Entitydivideris4.Generic(n:integer:=3);5.Port(a,b:inintegerrange0to15;6.y:outstd_logic_vector(3downto0);7.rest:outintegerrange0to15;8.err:outstd_logic);

5、9.Enddivider;10.Architecturertlofdivideris11.Begin12.Process(a,b)13.Variabletemp1:integerrange0to15;14.Variabletemp2:integerrange0to15;15.Begin16.temp1:=a;17.temp2:=b;18.if(b=0)thenerr<=’1’;19.Elseerr<=’0’;71.Endif;2.ForIinndownto0loop3.If(temp1>=temp2*2**i)then4.y(i)<=‘1’;5.temp1:=temp1-temp2*

6、2**i;6.Elsey(i)<=‘0’;7.Endif;8.Endloop;9.Rest<=temp1;10.Endprocess;11.Endrtl;5.VHDL程序说明假设要计算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)

7、取值为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来声明的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。