4位流水线乘法器
来源:互联网 发布:mac服务器ip地址查询 编辑:程序博客网 时间:2024/04/30 12:38
明德扬至简设计法设计的4位流水线乘法器,比串行乘法器速度快很多。
本案例节选明德扬fpga培训班中的练习,代码简洁,欢迎比较学习。潘老师基于至简设计法的案例,绝不是世面上乱七八糟的代码,我们的代码简 单清晰,一步一步设计,是让你学习FPGA的最佳选择。
一、功能描述
流水线功能好比一个加工厂在创业之初,只有一间小车间及孤军奋战的老板,那么,当他接到一张订单之后,他必然忙于完成第1张订单,而没有能力去接第2张订单。这样接订单→完成订单→接订单→……是一个串行的过程。后来,老板发现接受订单不费太多时间,而且他还有了一个帮工,他们可以相互独立地工作,这样,老板就在完成上张订单产品的同时,接受下一张订单的订货。而多级流水线的形式,将相邻的两个部分乘积结果再加到最终的输出乘积上,即排列成一个二叉树形式的结构,这样对于N位乘法器需要log2(N)级来实现。本案例用Verilog HDL语言实现了4位流水线乘法器的功能。
二、平台效果图
仿真效果图
三、实现过程
输入输出信号列表如下:
信号名
I/O
位宽
说明
clk
I
1
系统工作时钟50M
rst_n
I
1
系统复位信号,低电平有效
vld_in
I
1
输入有效指示信号
x
I
4
数据a
y
I
4
数据b
p
O
8
乘积结果
vld_out
O
1
输出有效指示信号
从仿真结果可以看出,上述流水线乘法器比串行乘法器的速度快很多,在非高速的信号处理中有着广泛的应用。
判断x的4位从低到高是否为1,然后对应移位y并并置上对应的0,让其成为一个移位后的8位数据,比如x[2]为1,y为1100,则将y变为00110000,然后将对应的四个数据放入寄存器a0,b0,a1,b1,然后计算tmp0<=a0+b0,tmp1<=a1+b1,然后再p <= {2'b0,tmp0} + tmp1;即可得到最终乘积p。
以此实现了一个4位流水线乘法器。
代码资料下载:http://pan.baidu.com/s/1gePRKZp
- 4位流水线乘法器
- 8位乘法器
- 8位乘法器
- 四位乘法器代码
- FPGA 设计32位乘法器
- 乘法器
- 乘法器
- 乘法器
- 乘法器
- 16位乘法器的代码学习心得
- 32位流水线累加器
- 16位乘法器单时钟加法树结构
- 关于FPGA设计16位乘法器的两…
- 16位5级流水线CPU设计
- 流水线
- 流水线
- 流水线
- 流水线
- select函数用法
- Introduction of CFD(计算流体力学概述)
- windows的SOCKET编程
- 【IMWeb训练营作业】 vue练习-组件select
- javascript面向对象的混入
- 4位流水线乘法器
- JSP内置对象
- 手机网站开发:滑动翻屏效果 jquery触摸屏滑动效果
- Java知识点集锦
- 权限管理——RBAC模型总结
- json_encode()
- Linux声卡驱动分析
- Javascript中布尔类型转换及返回false的参数
- C#中当参数为空时的几种处理