1、乘法

在FPGA中,乘法运算可以分为

1)信号与信号之间的运算,用乘法器核实现;

2)常数与信号之间的运算,利用移位及加减法实现。

  A x 16 = A左移4位;

  A x 20 = A x 16 + A x 4 = A左移4位 + A左移2位;

  A x 27 = A x 32 - A x 4 - A = A左移5位 - A左移2位 - A;

  注意:乘法运算时,需要先对数据位进行扩充。

2、除法

在FPGA中,除法运算可以分为

1)信号与信号之间的运算,用除法器核实现;

2)常数与信号之间的运算,利用移位及加减法实现。

  A ÷ 2 ~= A右移1位;

  A ÷ 3 ~= A x (0.25+0.0625+0.0156) ~= A右移2位 +A右移4位 + A右移6位;

  A ÷ 4 ~= A右移2位;

  A ÷ 5 ~= A x (0.125+0.0625+0.0156) ~= A右移3位 +A右移4位 + A右移6位;

  与乘法运算不同,除法不可避免的存在运算误差。是因有限字长效应引起的!采用分解方法时,分解运算的项数越多,精度越高。

FPGA基础知识1的更多相关文章

  1. FPGA基础知识了解

    FPGA学习的一些误区 FPGA入门必看资源 FPGA百度百科 FPGA基础知识及其工作原理 高端设计工具为少有甚是没有硬件设计技术的工程师和科学家提供现场可编程门阵列(FPGA).无论你使用图形化设 ...

  2. FPGA基础知识关键点摘要

    FPGA基础知识关键点摘要 一.组合逻辑和时序逻辑的区别:组合逻辑与输入直接实时相关,时序逻辑还必须在时钟上升沿出发后输出新值,有没有时钟输入是他们最大的区别!组合时序容易出现竞争冒险现象出现亚稳态, ...

  3. 我的 FPGA 学习历程(01)—— FPGA 基础知识和 Quartus 的安装

    高级的嵌入式市场主要分为以下三类:ARM.DSP 和 FPGA. 其中 ARM 是行业内的佼佼者,目前几乎所有的安卓智能手机都使用 ARM 授权的 CPU架构:而 DSP(数字信号处理器) 早年就被大 ...

  4. FPGA基础知识8(FPGA静态时序分析)

    任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析.静态时序分析的公式,老实说很晦涩,而且总能看到不同的版本,内容又不那么一致,为了彻底解决这个问题,我研究了一天,终于找到了一种很简单的解读办法 ...

  5. FPGA基础知识,应用,ASIC、ASSP区别(四)

    一.ASIC与ASSP区别? 专用应用集成电路( ASIC) 是一种由电子组件组成的集成电路,例如 :晶体管.电容器.电阻器等,这些组件被植入到晶元上 :晶元由硅或其他半导体材料组成,并可按照特定用途 ...

  6. 如何学习FPGA?FPGA学习必备的基础知识

    如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA   基础知识       FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...

  7. 学习 FPGA之前的基础知识

    在学习一门技术之前往往应该从它的编程语言入手,比如学习单片机时,往往从汇编或者C语言入门.所以不少开始接触FPGA的开发人员,往往是从VHDL或者Verilog开始入手学习的.但小编认为,若能先结合& ...

  8. 深度学习FPGA实现基础知识10(Deep Learning(深度学习)卷积神经网络(Convolutional Neural Network,CNN))

    需求说明:深度学习FPGA实现知识储备 来自:http://blog.csdn.net/stdcoutzyx/article/details/41596663 说明:图文并茂,言简意赅. 自今年七月份 ...

  9. FPGA入门到精通系列1:数字电路基础知识

      本文主要介绍数字电路基础知识,用最简洁的内容介绍最核心的知识. 1.数字电路是什么? 数字电路是利用电源电压的高电平和低电平分别表示1和0,进而实现信息的表达.模拟信号:随时间连续变化的信号.处理 ...

随机推荐

  1. 转载:HTuple数据和VC数据的相互赋值

    转载来自:http://blog.csdn.net/taily_duan/article/details/51026260 HTuple和VC数据的相互赋值 // HTuple→VC 数据类型转换 H ...

  2. ThreadLoacl 小记

    参考地址: https://www.cnblogs.com/dolphin0520/p/3920407.html ThreadLoacl 本地线程变量 为线程创建一个副本, 一个内部类ThreadLo ...

  3. Xcode 新建bundle id不同的且app图标也不同的新的target的步骤

    方法一: duplicate一个target 修改target配置文件中的bundle id,app icon图标文件位置(必要时重命名app icon文件名),plist文件位置,entitleme ...

  4. Servlet基本_サーブレットのライフサイクル、スレッドセーフ

    1.サーブレットのライフサイクル初期化時 ⇒ init() [初回リクエスト時] ↓リクエスト時 ⇒service() ⇒doGet() [Httpリクエストメソッドにより振り分け] 或は⇒doPos ...

  5. U3D中可以直接使用GL!!!

    https://blog.csdn.net/u013172864/article/details/78860624

  6. UNITY 的GC ALLOC到底是什么

    U3D的Profiler中的GC ALLOC 项让人很麻烦,一直搞不清楚它是什么,因为 GC 是垃圾回收,而alloc是内存分配,那么 GC ALLOC 是 垃圾回收内存分配? 这个名字起的太TM烂了 ...

  7. dependencies与dependencyManagement的区别

    1.DepencyManagement应用场景 当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建.文档.报告.依赖.scms.发布.分发的方法.可以方便的编译代码.进行 ...

  8. RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World(转载)

    RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World 一.简介 RabbitMQ是一个消息的代理器,用于接收和发送消息,你可以这样想,他就是一个邮局,当您把需要寄送的邮件投递到 ...

  9. Linux date命令使用方法

    date命令用来显示或设定以及计算系统的日期和时间.本文主要描述date命令的基本语法和工作中常用的使用方法. date命令语法 用法:date [OPTION]... [+FORMAT] 常用参数: ...

  10. javascript单线程那些事

    首先,说下为什么 JavaScript 是单线程? 总所周知,JavaScript是以单线程的方式运行的.说到线程就自然联想到进程.那它们有什么联系呢? 进程和线程都是操作系统的概念.进程是应用程序的 ...