四位二进制除法器.doc

四位二进制除法器.doc

ID:55689184

大小:302.00 KB

页数:5页

时间:2020-05-25

四位二进制除法器.doc_第1页
四位二进制除法器.doc_第2页
四位二进制除法器.doc_第3页
四位二进制除法器.doc_第4页
四位二进制除法器.doc_第5页
资源描述:

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

1、四位二进制除法器设计李振礼1、设计方法采用移位相减法设计二进制除法器:被除数和除数都是二进制数,采用将除数移位的方法。1)判断除数和被除数是否为零:如果除数为零,返回等待;如果被除数为零,则商和余数都为零。2)被除数和除数都不为零时,判断被除数和除数的大小:如果除数大于被除数,则商为零,余数等于被除数;如果除数小于等于被除数,则对除数进行移位,第一次移位使被除数的最高位和除数的最低位对齐。然后对移位后的除数和被除数进行判断:如果被除数大于等于除数,则用被除数减去除数,并将所得结果做为新的被除数;如果被除数小于除数,则将除数在第一次移位的基础上右移一位,在对被除数

2、和除数进行判断,根据被除数和除数的大小关系进行类似的操作。2、算法流程图图中:被除数和除数分别放在A、B中,商和余数分别放在S、和Y中,C作为移位计数器3、VHDL程序代码:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;---打开可能用到的库entitydedect1isport(A,B:instd_logic_vector(3downto0);S,Y:outstd_logic_vector(3downto0));

3、endentitydedect1;----四位二进制除法器实体定义architecturebehvofdedect1isbegins1:process(A,B)---进程开始敏感信号A、Bvariabletmpa,tmpb:std_logic_vector(7downto0);--中间变量定义variabletmpc:std_logic_vector(3downto0);begintmpa:="";tmpb:="";tmpc:="0000";---中间变量初始化if(B>"0000")then---B不为零(除数不为零)if(A>"0000")then----A

4、不为零(被除数不为零)if(A>B)then----被除数大于除数时tmpa(3downto0):=A;-----以下四条If语句完成求满足以上tmpb(6downto3):=B;---三个条件时被除数除以除数的商和余数if(tmpa>=tmpb)thentmpa:=tmpa-tmpb;tmpc(3):='1';elsetmpc(3):='0';endif;tmpb(5downto2):=B;tmpb(6):='0';if(tmpa>=tmpb)thentmpa:=tmpa-tmpb;tmpc(2):='1';elsetmpc(2):='0';endif;tmp

5、b(4downto1):=B;tmpb(5):='0';if(tmpa>=tmpb)thentmpa:=tmpa-tmpb;tmpc(1):='1';elsetmpc(1):='0';endif;tmpb(3downto0):=B;tmpb(4):='0';if(tmpa>=tmpb)thentmpa:=tmpa-tmpb;tmpc(0):='1';elsetmpc(0):='0';endif;Y<=tmpa(3downto0);S<=tmpc;elsif(A=B)then---------被除数等于除数S<="0001";Y<="0000";elseS<="0

6、000";---------被除数小于除数Y<=A;endif;else----被除数为零时S<="0000";Y<="0000";endif;else---------除数为零时S<="ZZZZ";Y<="ZZZZ";endif;endprocess;---进程结束endarchitecturebehv;4、仿真结果:图中:A、B、S、Y分别是被除数、除数、商和余数。被除数为零时,除数为零和不为零时的商和余数;被除数不为零时,除数为零和不为零时的商和余数;被除数等于除数,大于除数及小于除数时的商和余数;

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

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

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