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

位宽可配的N位乘法器设计VHDL代码Quartus仿真

08/18 08:23
287
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240S0163122B3.doc

共1个文件

名称:位宽可配的N位乘法器设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

位宽可配的N位乘法器设计

1、设计乘法器,乘法器位宽可以通过参数配置

2、乘法器使用移位相加的算法

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

演示视频:

设计文档:

1. 乘法器原理

参见链接:https://blog.csdn.net/weixin_39979167/article/details/110550186

2. 工程文件

3. 程序文件

4. 程序编译

5. 仿真图

仿真设置

仿真图

使用二进制显示

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
ENTITY?Multiplier_nbit?IS
???GENERIC?(
??????N?????????????:?INTEGER?:=?4--4位乘法器
???);
???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)?:=?"00000000";
???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)?:=?"00000000";?--临时变量
???SIGNAL?Count????????????:?INTEGER?:=?0;
BEGIN

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

  • 2-240S0163122B3.doc
    下载

相关推荐