在ECC和RSA算法硬件实现(Barrett约减和Montgomery约减)中,需要提前计算某些参数,会应用到除法器。

01

传统除法器

传统除法器的设计非常单纯:一、先取除数和被除数的正负关系,然后正值化被除数。传统除法器因为需要递减的关系,所以除数就取负值的补码,方便操作。二、被除数递减与除数,每一次的递减,商数递增。三、直到被除数小于除数,递减过程剩下的是余数。四、输出的结果根据除数和被除数的正负关系。传统的除法器设计简单,但是如果除数比较大,被除数比较小,计算起来就会占用更多的时钟周期。

02

移位相减除法器

移位相减除法器的优势在于,计算时间只与除数、被除数位宽有关,与除数和被除数大小无关。

03

移位相减除法器实现

对于32的无符号除法,被除数a除以除数b,他们的商和余数一定不会超过32位。首先将a转换成高32位为0,低32位为a的temp_a。把b转换成高32位为b,低32位为0的temp_b。在每个周期开始时,先将temp_a左移一位,末尾补0,然后与b比较,是否大于b,是则temp_a减去temp_b将且加上1,否则继续往下执行。上面的移位、比较和减法(视具体情况而定)要执行32次,执行结束后temp_a的高32位即为余数,低32位即为商。

04

移位相减除法器原理

假设4bit的两数相除 a/b,商和余数最多只有4位 (假设1101/0010也就是13除以2得6余1)。我们先自己做二进制除法,则首先看a的MSB,若比除数小则看前两位,大则减除数,然后看余数,以此类推直到最后看到LSB;而上述算法道理一样,a左移进前四位目的就在于从a本身的MSB开始看起,移4次则是看到LSB为止,期间若比除数大,则减去除数,注意减完以后正是此时所剩的余数。而商呢则加到了这个数的末尾,因为只要比除数大,商就是1,而商0则是直接左移了,因为会自动补0。这里比较巧因为商可以随此时的a继续左移,然后新的商会继续加到末尾。经过比对会发现移4位后左右两边分别就是余数和商。

Something else:

除数Divisor,被除数Dividend,商数Quotient,余数Reminder。

部分转载自:

http://xilinx.eetrend.com/d6-xilinx/forum/2013-11/6071.html

https://wenku.baidu.com/view/6fdbfa0f52ea551810a687c2.html

硬件除法器原理_[ECCamp;RSA]除法器相关推荐

  1. 基于FPGA的除法器原理介绍及设计实现

    基于FPGA的除法器原理介绍及设计实现 引言应用 在FPGA的设计应用领域里,许多电路需要用到除法器,而在硬件描述语言里却没有直接的除法器"%","/"可以直接 ...

  2. 高级架构师_Docker_第2章_ Docker核心原理_ 第1节_Docker相关的虚拟化技术

    高级架构师_Docker_第2章_ Docker核心原理_ 第1节_Docker相关的虚拟化技术 文章目录 高级架构师_Docker_第2章_ Docker核心原理_ 第1节_Docker相关的虚拟化 ...

  3. Android 系统(175)---Android硬件加速原理与实现简介

    Android硬件加速原理与实现简介 在手机客户端尤其是Android应用的开发过程中,我们经常会接触到"硬件加速"这个词.由于操作系统对底层软硬件封装非常完善,上层软件开发者往往 ...

  4. 硬件bypass原理介绍

    硬件bypass 原理介绍 一 硬件bypass 目的: 作为串接产品为了避免产品的单点故障,在设备出现断电,死机时,不能因为串接产品的不可用而导致用户的网络不可用,硬件

  5. HDMI介绍及硬件实现原理

    HDMI介绍及硬件实现原理 1. HDMI接口 HDMI是新一代多媒体接口标准.全称为(High-Definition Multimedia Interface),高清晰多媒体接口.HDMI能够同时传 ...

  6. 计算机控制原理中雷达天线,什么是相控阵雷达_相控阵雷达原理_相控阵雷达原理图...

    什么是相控阵雷达 相控阵雷达又称作相位阵列雷达,是一种以改变雷达波相位来改变波束方向的雷达,因为是以电子方式控制波束而非传统的机械转动天线面方式,故又称电子扫描雷达. 相控阵雷达有相当密集的天线阵列, ...

  7. python卡方检验筛选特征原理_基于Python的遥感特征筛选—递归特征消除(RFE)与极限树(Extra-Trees)...

    引言 基于前几篇文章关于筛选方法的介绍,本篇同样给大家介绍两种python封装的经典特征降维方法,递归特征消除(RFE)与极限树(Extra-Trees, ET).其中,RFE整合了两种不同的超参数, ...

  8. 万能充电器工作原理_百度知道

    万能充电器工作原理_百度知道 万能充电器工作原理_百度知道 万能充电器工作原理     2008-08-29 21:27 457070320 | 分类:社会民生 | 浏览4372次 | 该问题已经合并 ...

  9. JVM调优_硬件层数据一致性_存储器的层次结构

    JVM调优_硬件层数据一致性_存储器的层次结构 存储器的层次结构L0 L1 L2 都是在CPU内部L0:寄存器L1:高速缓存L2:高速缓存L3: 告诉缓存 L4: 主存L5: 磁盘L6:远程文件存储L ...

最新文章

  1. 用Node.js 写web框架(番外)
  2. oracle锁表语句执行提示无法终止当前对话_显示Oracle数据库表或行上持有锁的所有会话...
  3. [SpringSecurity]框架概述
  4. 《黑镜》黑科技成真 | 解码脑电信号,AI重构脑中的画面
  5. C++ 句柄类的原理以及设计
  6. C# 实现国密SM4加解密封装
  7. kux-mp4转码Python3脚本
  8. html5开发app的视频教程及相关资料
  9. Android 内存管理中的 Shallow heap Retained heap
  10. matlab randn 范围,如何用matlab编写randn函数?
  11. Python中的字符串下标
  12. 「学点C语言系列」02 判断年份是否为闰年
  13. 单片机及接口课程设计报告-------基于音乐播放器
  14. Matlab绘图-详细全面(图)
  15. Excel日期连接后变数字
  16. 模糊系统与神经网络的区别,什么是模糊神经网络
  17. 讨论:报表的未来在哪里?
  18. CentOS7修改主机名的三种方法
  19. 某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过。
  20. 连线游戏Game of Lines

热门文章

  1. NEON技术如何实现移动端视频高效解码AV1?
  2. Comet OJ - Contest #6 problemB - 双倍快乐
  3. Nginx+tomcat集群
  4. 应届毕业生找工作,应该如何选择?
  5. git的版本回退教程(带你一步一步操作)
  6. 真来了!工信部将成立安卓统一推送联盟
  7. mysql连接字符串db2_ADO.NET入门教程(三) 连接字符串,你小觑了吗?
  8. 《即学即用的APP时间管理术》笔记
  9. IOS开发 - 网络总结(一)
  10. 词嵌入必读论文集推荐-AMiner