实验   原码一位乘法器

设计要求:

  1. 8位无符号的原码一位乘法器的实现

  2. 通过时钟驱动右移,模拟运算过程

  3. 实现脉冲控制,位移指定次数后要及时停止

  4. 结果输出给到乘积隧道

实验目的

A.掌握寄存器、分离器、比较器等一系列新的逻辑元件使用方法

B.学习并运用计算机原码乘法原理,在硬件电路中予以实现

C.熟练掌握 Logisim 寄存器电路的使用

方案设计

A.宏观设计

a.位移次数控制
                采用计数器+比较器的硬件实现,控制右移9次即可(题目中有提示)
        这里LOAD在=0时,给到1信号;将b送入右侧寄存器中
        其他时候都=0就按照位移情况对右侧寄存器开展更新

b.位移的实现
                        采用上下四组8位宽分离器实现,左边高位右边低位,乘积右移
                最高位有八位加法器的进位输入得到,右移弹出的数据用于数据选择器
                来部署下次是+0还是+a

c.部分乘积,+a还是+0 ?
                        如上图,用低位弹出的数据01来判断下次+0+a;
                LOAD只在第一次使用触发,将y送入;其余时刻都是保存位移的部分积

d.八位加法的实现
                        采用【八位加法器】的封装,输入数据改成8位;此处x是作为常量
                调用,不会受到位移影响

e.被乘数a与乘数b的保存
                        俩寄存器,a存在x中;第一个存部分乘积,第二个存y;随着计算过程右移,xy
                会被逐步右移并替换为乘积结果;启动初始化时候x=y=0
                右移过程是不会影响到x本体的,因为我们x是作为常量调用
                位移运算过程不会修改x的数值

B.实验步骤

a.元件测试-选择器
        具体功能:MUX二路选择,0选左侧,1选右侧
        实现方式:右侧输入控制端,下边两侧给到等待选择的数据

b.元件测试-比较器
        具体功能:给到输入数据,满足条件输出1,其他时候都是0
        实现方式:输入数据接上端,判断标准接下端,右侧输出

c.元件测试-分离器
        具体功能:实现多位数据拆分、整合;数据是双向的,看你哪一端口输入,输入端口为主动区;可以通过面板设置,将某一位数据“分配”到指定的隧道;或者两个位数小的整合成一个多位数的数据
        实现方式:多入1出,实现整合;举例本电路中的合并过程

1入多出,可以通过面板位数设置,将指定位数输出到对应隧道中

d.电路搭建

C.debug - 本地测试

成果展示:

 

心得体会:

这次使用Logism出现了之前数字逻辑学习中没有出现过的逻辑元件,进一步贴近了实际计算机组成的部件,是一次拓展性的探索,当然对未知事物的探索也是一件比较费劲的事情(位移器、寄存器、比较器、分离器、八位串型加法器黑盒子);我先进行了这些未知元件基本功能的测试,熟悉知道什么给到什么输入有什么输出实现了什么功能,再结合书上思想给出设计图纸;步步为营的过程虽然艰难,但是可以对纠错和实验过程进行强有力的保障。

Logism · 原码一位乘法器 实验相关推荐

  1. FPGA学习之路—应用程序—原码二位乘法器及Verilog代码分析

    FPGA学习之路--原码二位乘法器及Verilog代码分析 原理 原码乘法可以分为原码一位乘和原码二位乘,两者在实现规则上大同小异.原码一位乘每次判断乘数的最低位,对被乘数和部分积进行相应操作.而原码 ...

  2. 原码一位乘法器设计_对原码、反码和补码的加深理解

    我们知道计算机语言可以简单概括为三类,分别是机器语言.汇编语言和高级语言.机器语言是由二进制组成的编码,由无数个0和1组成.在二进制系统中,每个0或1就是一个位,而位是数据存储的最小单位,可称之为比特 ...

  3. 原码一位乘法器设计_十分钟带你彻底搞懂原码、反码、补码

    点击上方"程序员大白",选择"星标"公众号 重磅干货,第一时间送达 编辑 | 程序员大白公众号来源丨https://www.cnblogs.com/zhangz ...

  4. 计组头哥实验 第2关 原码一位乘法器设计

  5. 原码一位乘法器设计_数字IC校招基础知识点复习(七)——超前进位加法器、Wallace树、Booth乘法器...

    1.超前进位加法器 看了一些面经,提到会让你用基础的门搭加法器,因此首先得熟悉半加器,全加器等最基础的加法器才能理解之后的超前进位加法器,树型加法器等复杂的加法器. 半加器的输入为a,b,输出为结果s ...

  6. FPGA:设计一个原码一位乘法器

    一.运算规则 X*Y=P 引入部分积的概念,每次Y的一位和X相乘的结果叫做部分积 ,每次相乘后需要右移一位,再处理Y下一位的数值 1.符号位单独计算(异或运算) 符号组合就4种(00.01.11.10 ...

  7. 【细碎知识2】定点数的乘除运算(原码一位乘、恢复余数法、加减交替法)

    目录 1.定点数的乘法 1.1 原码一位乘 2.定点数的除法 2.1 恢复余数法 2.2 加减交替法 2.3 比较恢复余数法和加减交替法 方法要搭配例题一起看,才能看懂 1.定点数的乘法 定点数的乘法 ...

  8. 【计算机组成原理】定点乘法运算之原码两位乘法

    讨论x * y = z 采用原码两位乘法,已知x和y,如何求得z 原码两位乘法和原码一位乘法一样,符号位不参加运算 部分积和被乘数x均采用三位符号,乘数y末位每次要加一个c,c一开始是0 根据如下法则 ...

  9. 定点乘法运算之原码一位乘法

    x * y = z 讨论已知x和y的情况下,怎么通过原码一位乘法方法得出z~~ 首先说下运算规则~ 1. z的符号位通过x和y的符号位进行异或运算得到~(这个很好理解哒,负负得正,正正得正,正负得负嘛 ...

  10. 加减法、原码一位乘法、Booth算法、恢复余数法、加减交替法符号位及小结

    在学习计算机组成原理的计算方法时,或为步骤疑惑,或为题目难倒,本文主要介绍思路以及对常用类型小结 个人总结,仅供参考,能力有限,难免出错,欢迎大家讨论,书籍参考唐朔飞版<计算机组成原理> ...

最新文章

  1. 第五周周记(国庆第五天)
  2. Could not reliably determine the server's fully qualified domain name
  3. golang channel错误 send to non-chan type int/string
  4. mysql脚本下载_Mysql备份脚本
  5. 将word文档按分页另存为多个word文件的VBA代码
  6. boost::geometry::compress_variant用法的测试程序
  7. php屏幕共享功能,利用无线投屏技术同屏直播,精彩随时共享
  8. POJ 3253 Fence Repair C++ STL multiset 可解
  9. P142-144使用Tensorflow自定义一个线性分类器用于对“良/恶性乳腺癌肿瘤”进行预测
  10. 前端学习(2177):vue-router得参数传递
  11. Linux下遍历目录下的文件
  12. 【学习笔记】JAVA基础——异常处理部分
  13. unix 登录mysql_实例分析mysql用户登录。
  14. chrome浏览器开发者模式header请求参数“Request Payload“找不到的问题
  15. 戏谈编程:那些程序员的级别陷阱,你遇到过吗
  16. Fiddler抓取HTTPs流量
  17. 人脸检测MTCNN和人脸识别Facenet(附源码)
  18. 详解EC11编码器示波器波形图
  19. android陀螺仪实现背景移动demo,基于HTML5陀螺仪实现移动动画效果
  20. tcl c语言笔试题,TCL2014校园招聘笔试真题及答案

热门文章

  1. css td 宽度百分比设置,css怎么设置td的宽度
  2. 菜鸟Java远程连接腾讯云服务器上面的数据库
  3. 项目管理里面的十大知识领域
  4. python数据分析 活用pandas库_Python数据分析:活用Pandas库
  5. java反编译数组_JavaGuide/JAD反编译tricks.md at master · Github-Programer/JavaGuide · GitHub...
  6. 物联网MT2625芯片平台技术参考资料
  7. charles4.0破解和手机抓包
  8. keyshot怎么批量渲染_怎样用keyshot 5.0快速渲染出高质量图
  9. dx逆向建模步骤_什么是3D打印?游戏建模具体是什么的?哪个更有发展
  10. 思科模拟器 交换机链路聚合(二层、三层)