基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板

这篇具有很好参考价值的文章主要介绍了基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

名称:基于FPGA的3位二进制的乘法器VHDL代码Quartus  开发板(文末获取)

软件:Quartus

语言:VHDL

代码功能:

3位二进制的乘法器

该乘法器实现两个三位二进制的乘法,二极管LED2~LED0显示输入的被乘数,LED5~LED3显示乘数,数码管显示相应的十进制输入值和输出结果

本代码已在开发板验证,开发板如下,其他开发板可以修改管脚适配:

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

1. 工程文件

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

2. 程序文件

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

3. 程序编译

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

4. 管脚分配

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

5. RTL图

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

6. 仿真图

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板,fpga开发

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
--乘法器
ENTITY mult IS
   PORT (
      clk_in       : IN STD_LOGIC;--时钟
      reset_n      : IN STD_LOGIC;--复位
      data_in      : IN STD_LOGIC_VECTOR(2 DOWNTO 0);--输入
      key1_n       : IN STD_LOGIC;--按键1
      key2_n       : IN STD_LOGIC;--按键2
      key_enter_n  : IN STD_LOGIC;--等于键
LED1       : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);--数据1
      LED2       : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);--数据2
      bit_select     : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--数码管位选
      seg_select     : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选
   );
END mult;
ARCHITECTURE behave OF mult IS
--控制模块
   COMPONENT state_ctrl IS
      PORT (
         clk_in       : IN STD_LOGIC;
         reset_n      : IN STD_LOGIC;
         data_in      : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
         key1_n       : IN STD_LOGIC;
         key2_n       : IN STD_LOGIC;
         key_enter_n  : IN STD_LOGIC;
         data_1       : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
         data_2       : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
         data_result  : OUT STD_LOGIC_VECTOR(5 DOWNTO 0)
      );
   END COMPONENT;
   
--显示模块
COMPONENT display IS
   PORT (
      clk            : IN STD_LOGIC;
      
      data_1     : IN STD_LOGIC_VECTOR(2 DOWNTO 0);--乘数1
      data_2    : IN STD_LOGIC_VECTOR(2 DOWNTO 0);--乘数2
      data_result  : IN STD_LOGIC_VECTOR(5 DOWNTO 0);--乘积
      
      bit_select     : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--数码管位选
      seg_select     : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选
   );
END COMPONENT;
   SIGNAL data_1           : STD_LOGIC_VECTOR(2 DOWNTO 0);
   SIGNAL data_2           : STD_LOGIC_VECTOR(2 DOWNTO 0);
   SIGNAL data_result      : STD_LOGIC_VECTOR(5 DOWNTO 0);
BEGIN
   
   
   --控制模块
   i_state_ctrl : state_ctrl
      PORT MAP (
         clk_in       => clk_in,
         reset_n      => reset_n,
         data_in      => data_in,
         key1_n       => key1_n,
         key2_n       => key2_n,
         key_enter_n  => key_enter_n,
         data_1       => data_1,
         data_2       => data_2,
         data_result  => data_result
      );
   --LED指示灯
LED1<=data_1;
LED2<=data_2;
   
   --显示模块
   i_display : display
      PORT MAP (
         clk          => clk_in,
         data_1       => data_1,
         data_2       => data_2,
         data_result  => data_result,
         bit_select   => bit_select,
         seg_select   => seg_select
      );
   
END behave;
源代码

 扫描文章末尾的公众号二维码文章来源地址https://www.toymoban.com/news/detail-831824.html

到了这里,关于基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • m基于FPGA的半带滤波器verilog设计,对比普通结构以及乘法器复用结构

    目录 1.算法描述 2.仿真效果预览 3.verilog核心程序 4.完整FPGA         HBF模块由半带滤波器(HBF)和抽取模块组成。该模块的任务是实现2倍抽取进一步降低信号采样速率。由于HBF的冲激响应h(k)除零点外其余偶数点均为零,所以用HBF实现2倍抽取可以节省一半的运算量,对增强软

    2023年04月08日
    浏览(76)
  • FPGA中除法器IP核乘法器IP核使用

    1.除法器IP核有两种,3.0是最大支持32bit的被除数除数;4.0是最大支持64bit的被除数除数;研究电机时需要计算步数,都仅仅需要32bit因此选择3.0; 2.有两种类型 (1)remainder 余数 (2)fractional:小数 (3)dividend:被除数 (4)divisior: 除数 (5)quotient : 商 选择无符号数据,余

    2024年02月01日
    浏览(40)
  • xilinx FPGA 乘法器ip核(multipler)的使用(VHDL&Vivado)

    一、创建除法ip核  可以选择两个变量数相乘,也可以选择一个变量输入数据和一个常数相乘 可以选择mult(dsp资源)或者lut(fpga资源) 可以选择速度优先或者面积优先 可以自己选择输出位宽 还有时钟使能和复位功能  二、编写VHDL程序:声明和例化乘法器ip核 三、编写仿真程

    2024年02月11日
    浏览(62)
  • 【verilog】6位二进制数加法器

    1:掌握无符号二进制数加法器的设计方法。 2:掌握使用Modelsim对verilog程序进行仿真和验证的方法。 二进制加法器由全加器构成,全加器功能和电路图如下图所示。 全加器对两个1位二进制数和1位来自低位的进位做加法运算,产生1位和和1位向更高位的进位。图中(a)是全加

    2024年02月06日
    浏览(45)
  • 数字IC经典电路(2)——经典乘法器的实现(乘法器简介及Verilog实现)

    数字电路中乘法器是一种常见的电子元件,其基本含义是将两个数字相乘,并输出其乘积。与加法器不同,乘法器可以实现更复杂的运算,因此在数字电路系统中有着广泛的应用。 乘法器的主要用途是在数字信号处理、计算机科学以及其他数字电路应用中进行精确的数字乘法

    2024年02月06日
    浏览(64)
  • 【人工智能的数学基础】二进制乘法的Mitchell近似

    使用Mitchell近似构造加法神经网络. paper:Deep Neural Network Training without Multiplications arXiv:link 本文通过 Mitchell 近似算法将乘法运算转变为加法运算,从而降低了神经网络中的乘法的运算量。 Mitchell 近似是一种在二进制下近似的 快速对数 和 指数 计算方法。对于一个十进制的非

    2024年02月08日
    浏览(43)
  • verilog编程之乘法器的实现

    知识储备 首先来回顾一下乘法是如何在计算机中实现的。 假设现在有两个32位带符号定点整数x和y,我们现在要让x和y相乘,然后把乘积存放在z中,大家知道,两个32位数相乘,结果不会超过64位,因此z的长度应该为64位。 z = x * y中,x是被乘数,在Verilog代码中 multiplicand表示

    2024年04月12日
    浏览(36)
  • 定点乘法器----基4booth算法

    本篇文章将介绍如何使用 基4 booth算法( 赛题中介绍了 )来生成部分积,在开始之前,简要介绍一下定点乘法器的计算流程: 对 乘数 进行booth编码 — 利用得到的 编码值 和 被乘数 生成 部分积 ---- 对 部分积 进行压缩求和。 基4 booth(后面简称为 booth2 )算法用来完成前面的两步。

    2024年02月06日
    浏览(56)
  • Verilog | 基4 booth乘法器

    上接乘法器介绍 跟基2的算法一样,假设A和B是乘数和被乘数,且有: A = ( a 2 n + 1 a 2 n ) a 2 n − 1 a 2 n − 2 … a 1 a 0 ( a − 1 ) B = b 2 n − 1 b 2 n − 2 … b 1 b 0 begin{align}A=(a_{2n+1}a_{2n})a_{2n−1}a_{2n−2}…a_1a_0(a_{−1})\\\\ B=b_{2n−1}b_{2n−2}…b_1b_0end{align} A = B = ​ ( a 2 n + 1 ​ a 2 n ​ )

    2024年02月10日
    浏览(40)
  • Logism · 原码一位乘法器 实验

    8位无符号的原码一位乘法器的实现 通过时钟驱动右移,模拟运算过程 实现脉冲控制,位移指定次数后要及时停止 结果输出给到乘积隧道         A.掌握寄存器、分离器、比较器等一系列新的逻辑元件使用方法         B.学习并运用计算机原码乘法原理,在硬件电路中

    2023年04月25日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包