• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于FPGA的任意位宽乘法器VHDL代码Quartus仿真

07/22 08:03
191
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240205103131I3.doc

共1个文件

名称:基于FPGA的任意位宽乘法器VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

任意位宽乘法器

设计一个任意位宽乘法器,通过可调参数N,可以配置为任意位宽,N可以自由修改。

可调参数N定义如下:

N : INTEGER := 16--N位乘法器,N可以自由修改,默认为16位。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
ENTITY?Multiplier_nbit?IS
???GENERIC?(
??????N?????????????:?INTEGER?:=?16--N位乘法器,N可以自由修改,默认为16位
???);
???PORT?(
??????mult_A????????:?IN?STD_LOGIC_VECTOR(N?-?1?DOWNTO?0);--mult_A是乘数,mult_B是被乘数
??????mult_B????????:?IN?STD_LOGIC_VECTOR(N?-?1?DOWNTO?0);--mult_A是乘数,mult_B是被乘数
??????clk???????????:?IN?STD_LOGIC;--时钟
??????start?????????:?IN?STD_LOGIC;--start高电平时输入乘数
??????Done??????????:?OUT?STD_LOGIC;--乘积计算完成
??????mult_product??:?OUT?STD_LOGIC_VECTOR(2?*?N?-?1?DOWNTO?0)--乘积
???);
END?Multiplier_nbit;
ARCHITECTURE?behave?OF?Multiplier_nbit?IS
???
???SIGNAL?mult_product_buf?:?STD_LOGIC_VECTOR(2?*?N?-?1?DOWNTO?0)?:=?"00000000000000000000000000000000";
???TYPE?State_type?IS?(INIT,?ADD,?SHIFT);??--?定义状态
???SIGNAL?state?:?State_Type:=INIT;????--?创建信号--初始状态为INIT
???SIGNAL?mult_B_buf???????:?STD_LOGIC_VECTOR(2?*?N?-?1?DOWNTO?0)?:=?"00000000000000000000000000000000";?--临时变量
???SIGNAL?Count????????????:?INTEGER?:=?0;
BEGIN
???
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????CASE?state?IS
????????????WHEN?INIT?=>
???????????????IF?(start?=?'1')?THEN
??????????????????state?<=?ADD;--start有效跳转到下一个状态ADD
??????????????????mult_B_buf(N?-?1?DOWNTO?0)?<=?mult_B;--取乘数
??????????????????mult_B_buf(2?*?N?-?1?DOWNTO?N)?<=?"0000000000000000";--临时变量的高16位置0
???????????????ELSE
??????????????????mult_product_buf?<=?"00000000000000000000000000000000";
??????????????????Count?<=?0;
??????????????????Done?<=?'0';?--运算未完成
??????????????????state?<=?INIT;--初始状态
???????????????END?IF;

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=676

  • 2-240205103131I3.doc
    下载

相关推荐