网站大量收购独家精品文档,联系QQ:2885784924

计算机组成原理实验乘法器.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理实验乘法器

学院计算机组成原理实验报告?年级  学号 姓名 成绩  专业 实验地点 指导教师   实验项目乘法器  实验日期 实验目的:理解并掌握乘法器的原理实验步骤打开QuartusII。将子板上的JTAG端口与PC机的并行口用下载电缆连接。打开实验台电源。执行 Tools—Programmer命令,将shifter.sof下载到FPGA中。注意在执行Programmer命令中应在Programmer/configure下的方框中打勾,然后下载。在实验台上通过模式开关选择FPGA-CPU独立调试模式010.将短路子DZ3短接且短路子DZ4 断路。使FPGA-CPU所需要的时钟使用正单脉冲时钟。实验代码--实验6.6 Booth乘法器LIBRARY IEEE;USE IEEE.Std_logic_1164.ALL;ENTITY booth_multiplier ISGENERIC(k : POSITIVE := 3); --input number word length less onePORT( multiplicand : IN BIT_VECTOR(k DOWNTO 0);multiplier : IN BIT_VECTOR(k DOWNTO 0);clock : IN BIT; product : INOUT BIT_VECTOR((2*k + 2) DOWNTO 0);final : OUT BIT );END booth_multiplier;ARCHITECTURE structural OF booth_multiplier ISSIGNAL mdreg : BIT_VECTOR(k DOWNTO 0);SIGNAL adderout : BIT_VECTOR(k DOWNTO 0);SIGNAL carries : BIT_VECTOR(k DOWNTO 0);SIGNAL augend : BIT_VECTOR(k DOWNTO 0);SIGNAL tcbuffout : BIT_VECTOR(k DOWNTO 0);SIGNAL adder_ovfl : BIT;SIGNAL comp : BIT;SIGNAL clr_md : BIT; SIGNAL load_md : BIT;SIGNAL clr_pp : BIT;SIGNAL load_pp : BIT;SIGNAL shift_pp : BIT;SIGNAL boostate : NATURAL RANGE 0 TO 2*(k + 1) :=0;BEGINPROCESS --main clocked process containing all sequential elementsBEGIN WAIT UNTIL (clockEVENT AND clock = 1); --register to hold multiplicand during multiplication IF clr_md = 1 THENmdreg = (OTHERS = 0); ELSIF load_md = 1 THENmdreg = multiplicand; ELSEmdreg = mdreg; END IF; --register/shifter accumulates partial product values IF clr_pp = 1 THENproduct = (OTHERS = 0);product((k+1) downto 1) = multiplier; ELSIF load_pp = 1 THENproduct((2*k + 2) DOWNTO (k + 2)) = adderout; --add to top half product((k+1) DOWNTO 0) = product((k+1) DOWNTO 0); --refresh bootm half ELSIF shift_pp = 1 THENproduct = product SRA 1; --shift right with sign extend ELSEproduct = product; END IF;END PROCESS;--adder adds/subtracts partial pro

您可能关注的文档

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档