设计一个补码定点小数乘法运算器.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
姓名:何飞龙 学号:1315212010 2.设计一个补码定点小数乘法运算器。设被,乘数,积,均为补码形式的定点小数。start是启动信号,down是除法完成信号,overflow是“溢出”报警信号,reset是清零信号,clock是时钟信号。请给出此除法器的VHDL功能描述,并编写测试向量文件,通过分析模拟结果验证设计的正确性。(X 补=1.0011,Y补=1.0101) 程序代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY mult5 IS generic ( n: integer :=5; m: integer :=9 ); PORT(start,reset,clock: IN STD_LOGIC;--kaishi,fuwei,shizhong done,overflow: OUT STD_LOGIC;--wancheng,yichu y,x: IN STD_LOGIC_VECTOR(n DOWNTO 1);--bei cheng shu,chengshu p: OUT STD_LOGIC_VECTOR(m DOWNTO 1));--shuchu END ENTITY mult5; ARCHITECTURE behav OF mult5 IS SIGNAL ry: STD_LOGIC_VECTOR(n DOWNTO 1); -- SIGNAL pp: STD_LOGIC_VECTOR(m+1 DOWNTO 0);------------ SIGNAL state: integer RANGE 0 TO 5;------- BEGIN PROCESS(reset,clock) VARIABLE temp: STD_LOGIC_VECTOR(n+1 DOWNTO 1); BEGIN IF reset=0 THEN ry = (others=0); pp = (others=0); state = 0; done = 0; ELSIF clockEVENT AND clock=1 THEN CASE state IS WHEN 0= ry = y; pp = 00000 x 0; IF start= 1 THEN state = 1; END IF; WHEN 5= IF pp(1 DOWNTO 0) = 01 THEN temp := (pp(m+1) pp(m+1 DOWNTO 6)) + (ry(n) ry); ELSIF pp(1 DOWNTO 0) = 10 THEN temp:=(pp(m+1) pp(m+1 DOWNTO n+1))+NOT(ry(n) ry) + 1; ELSE temp := (pp(m+1) pp(m+1 DOWNTO n+1)); END IF; p=temp(n DOWNTO 1) pp(n DOWNTO 2); if temp(n+1)=1 then overflow =1; else overflow =0; end if; done = 1; state = 0 ; WHEN OTHERS = IF pp(1 DOWNTO 0) = 01 THEN temp := (pp(m+1) pp(m+1 DOWNTO n+1)) + ( ry(n) ry);--01 +B ELSIF pp(1 DOWNTO 0)=10 THEN temp := (pp(m+1) pp(m+1 DOWNTO n+1)) + NOT(ry(n) ry) + 1;--10-B ELSE temp := (pp(m+1) pp(m+1 DOWNTO n+1)); END IF; pp = temp pp(n DOWNTO 1); -------Cyou yi state = state + 1; END CASE; END IF; END PROCESS; END behav; 编译综合: 运行结果: RTL电路: 设计一个正数定点小数除法运算器。设被除数,除数,商,余数,均为正数。start是启动信号,down是除法完成信号,overflow是“溢出”报警信号,reset是清零信号,clock是时钟信号。请给出此除法器的VHDL功能描述,并编写测试向量文件,通过分析模拟结果验证设计的正确性。原码恢复余数法或原码不恢复余数法(加减交替法)。 程序代码: LIBRAR

文档评论(0)

151****0104 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档