正在加载图片...
移位相加乘法器 利用移位寄存器的乘法功能,可以设计移位相加乘法器 设计思想: 从低到高依次检查乘数的每一位是否为1,若为1则将被 乘数移位相加,若为0则被乘数只移位不相加; 使用部件 加法器(16位),不需要进位输出(假定没有溢出); 具有控制端的16位寄存器,存放加法结果 16位移位寄存器,使被加数移位(乘2) 8位移位寄存器,使加数左移串出,用于控制寄存器输入 加数通过时钟开关送到寄存器控制端,控制寄存器数据 的变化 设计框图 adder reg shfregB 实体设计: entity shfmult8 is port(a: in std logic vector(7 downto O); b: in std logic vector(7 downto 0) clk, ld, clr: in std logic: g: out std logic vector(15 downto O))移位相加乘法器 利用移位寄存器的乘法功能,可以设计移位相加乘法器; 设计思想: 从低到高依次检查乘数的每一位是否为 1,若为 1 则将被 乘数移位相加,若为 0 则被乘数只移位不相加; 使用部件: 加法器(16 位),不需要进位输出(假定没有溢出); 具有控制端的 16 位寄存器,存放加法结果; 16 位移位寄存器,使被加数移位(乘 2); 8 位移位寄存器,使加数左移串出,用于控制寄存器输入; 加数通过时钟开关送到寄存器控制端,控制寄存器数据 的变化; 设计框图: 实体设计: entity shfmult8 is port (a: in std_logic_vector(7 downto 0); b: in std_logic_vector(7 downto 0); clk,ld,clr: in std_logic; q: out std_logic_vector(15 downto 0));
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有