Logism · 原码一位乘法器 实验

这篇具有很好参考价值的文章主要介绍了Logism · 原码一位乘法器 实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验二   原码一位乘法器

设计要求:

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

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

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

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

实验目的:

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

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

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

方案设计:

        A.宏观设计

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

Logism · 原码一位乘法器 实验

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

Logism · 原码一位乘法器 实验

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

Logism · 原码一位乘法器 实验

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

Logism · 原码一位乘法器 实验

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

Logism · 原码一位乘法器 实验

        B.实验步骤

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

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

Logism · 原码一位乘法器 实验

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

Logism · 原码一位乘法器 实验Logism · 原码一位乘法器 实验

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

                d.电路搭建

Logism · 原码一位乘法器 实验

        C.debug - 本地测试

Logism · 原码一位乘法器 实验

Logism · 原码一位乘法器 实验

成果展示:

Logism · 原码一位乘法器 实验 Logism · 原码一位乘法器 实验

心得体会:

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

到了这里,关于Logism · 原码一位乘法器 实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 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日
    浏览(27)
  • 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日
    浏览(30)
  • verilog编程之乘法器的实现

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

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

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

    2024年02月06日
    浏览(45)
  • 流水线乘法器的原理及verilog代码

    二进制数乘法的显著特点就是可以将乘法转换为移位,乘2就是左移一位,乘2^n就是左移n位。而一个二进制数又可以看成是由若干个2的i次方的和。 设被乘数和乘数分别为M、N,且都是32位的二进制数,乘积结果为64位 的向量CO则 。 所以乘法可以由移位电路和加法器完成。计算

    2024年02月10日
    浏览(32)
  • 基2-booth乘法器原理及verilog代码

    对于一个n位的有符号二进制数B,首位是0则B可以表示为: 首位是1,B[n-2:0]是实际数字的补码,所以可以得到 。 可以得到合并的公式如下所示: 将公式展开: 除了n-1项外的每一项乘2之后再减去本身: 根据2^i重构公式: 为了统一形式,添加一项B[-1],初始值为0.注意这里的B

    2024年02月03日
    浏览(30)
  • 基于FPGA的任意位宽乘法器VHDL代码Quartus仿真

    名称:基于FPGA的任意位宽乘法器VHDL代码Quartus仿真(文末获取) 软件:Quartus 语言:VHDL 代码功能: 任意位宽乘法器 设计一个任意位宽乘法器,通过可调参数N,可以配置为任意位宽,N可以自由修改 可调参数N定义如下: N : INTEGER := 16--N位乘法器,N可以自由修改,默认为16位

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

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

    2024年02月11日
    浏览(51)
  • 基于FPGA的64bit算术乘法器设计Verilog代码Quartus仿真

    名称:基于FPGA的64bit算术乘法器设计Verilog代码Quartus仿真(文末获取) 软件:Quartus 语言:Verilog 代码功能: Verilog HDL设计64bits算术乘法器 基本功能 1.用 Veriloghdl设计实现64bit二进制整数乘法器,底层乘法器使用16*168*88*328*16小位宽乘法器来实现底层乘法器可以使用FPGA内部P实现

    2024年02月19日
    浏览(38)
  • 基于FPGA的3位二进制的乘法器VHDL代码Quartus 开发板

    名称:基于FPGA的3位二进制的乘法器VHDL代码Quartus  开发板(文末获取) 软件:Quartus 语言:VHDL 代码功能: 3位二进制的乘法器 该乘法器实现两个三位二进制的乘法,二极管LED2~LED0显示输入的被乘数,LED5~LED3显示乘数,数码管显示相应的十进制输入值和输出结果 本代码已在开

    2024年02月21日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包