计算机组成原理乘法器组成图,计算机组成原理实验_乘法器

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机组成原理实验_乘法器

(4页)

b40102fdf8b09b2bfd2899c850b104ca.png

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.9 积分

学院 计算机组成原理 实验报告 年级    学号   姓名  成绩     专业  实验地点   指导教师      实验项目 乘法器    实验日期   一. 实验目的:理解并掌握乘法器的原理二. 实验步骤(1) 打开QuartusII。(2) 将子板上的JTAG端口与PC机的并行口用下载电缆连接。打开实验台电源。(3) 执行 Tools—Programmer命令,将shifter.sof下载到FPGA中。注意在执行Programmer命令中应在Programmer/configure下的方框中打勾,然后下载。(4) 在实验台上通过模式开关选择FPGA-CPU独立调试模式010.(5) 将短路子DZ3短接且短路子DZ4 断路。使FPGA-CPU所需要的时钟使用正单脉冲时钟。三. 实验代码--实验6.6 Booth乘法器LIBRARY IEEE;USE IEEE.Std_logic_1164.ALL;ENTITY booth_multiplier IS GENERIC(k : POSITIVE := 3); --input number word length less one PORT( 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 (clock'EVENT AND clock = '1'); --register to hold multiplicand during multiplication IF clr_md = '1' THEN mdreg <= (OTHERS => '0'); ELSIF load_md = '1' THEN mdreg <= multiplicand; ELSE mdreg <= mdreg; END IF; --register/shifter accumulates partial product values IF clr_pp = '1' THEN product <= (OTHERS => '0'); product((k+1) downto 1) <= multiplier; ELSIF load_pp = '1' THEN product((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' THEN product <= product SRA 1; --shift right with sign extend ELSE product <= product; END IF;END PROCESS;--adder adds/subtracts partial product to multiplicandaugend <= product((2*k+2) DOWNTO (k+2));addgen : FOR i IN adderout'RANGE GENERATE lsadder : IF i = 0 GENERATE adderout(i) <= tcbuffout(i) XOR augend(i) XOR product(1); carries(i) <= (tcbuffout(i) AND augend(i)) OR (tcbuffout(i) AND product(1)) OR (product(1) AND augend(i)); 关 键 词: 计算机 组成 原理 实验 乘法器

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值