1 / 5
文档名称:

四位二进制除法器.doc

格式:doc   大小:302KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

四位二进制除法器.doc

上传人:bai1968104 2020/6/10 文件大小:302 KB

下载得到文件列表

四位二进制除法器.doc

文档介绍

文档介绍:四位二进制除法器设计李振礼1、设计方法采用移位相减法设计二进制除法器:被除数和除数都是二进制数,采用将除数移位的方法。1)判断除数和被除数是否为零:如果除数为零,返回等待;如果被除数为零,则商和余数都为零。2)被除数和除数都不为零时,判断被除数和除数的大小:如果除数大于被除数,则商为零,余数等于被除数;如果除数小于等于被除数,则对除数进行移位,第一次移位使被除数的最高位和除数的最低位对齐。然后对移位后的除数和被除数进行判断:如果被除数大于等于除数,则用被除数减去除数,并将所得结果做为新的被除数;如果被除数小于除数,则将除数在第一次移位的基础上右移一位,在对被除数和除数进行判断,根据被除数和除数的大小关系进行类似的操作。2、算法流程图图中:被除数和除数分别放在A、B中,商和余数分别放在S、和Y中,C作为移位计数器3、VHDL程序代码:libraryieee;;;;---打开可能用到的库entitydedect1isport(A,B:instd_logic_vector(3downto0);S,Y:outstd_logic_vector(3downto0));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不为零(被除数不为零)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;tmpb(4downto1):=B;tmpb(5):='0';if(tmpa>