FPGA的冷思考:如何摆脱只会看代码而不会写代码的宿命?

明德扬至简设计法设计的16位复数乘法器,比一般乘法器更加节省乘法器资源。

本案例节选明德扬fpga培训班中的练习,代码简洁,欢迎比较学习。潘老师基于至简设计法的案例,绝不是世面上乱七八糟的代码,我们的代码简 单清晰,一步一步设计,是让你学习FPGA的最佳选择。


一、功能描述

在FPGA中乘法器占用的资源比较多,所以为了想办法尽可能减少这一资源,本案例采用了三个实数乘法器完成四个实数乘法器才能完成的复数乘法。

本案例实现16位复数乘法器的功能。


二、平台效果图


仿真效果图

QQ图片20170410152905.png


三、实现过程


输入输出信号列表如下:

信号名

I/O

位宽

说明

clk

I

1

系统工作时钟50M

rst_n

I

1

系统复位信号,低电平有效

vld_in

I

2

输入有效指示信号

ar

I

16

输入数据ar

ai

I

16

输入数据ai

br

I

16

输入数据br

bi

I

16

输入数据bi

qr

O

32

输出数据qr

qi

O

32

输出数据qi

vld_out

O

1

输出有效指示信号


有复数pab,且p=ab,有:

p=pr+pi=ab=(ar+ai)(br+bi)

其中:

pr=arbr-aibi=ar(br+bi)-(ar+ai)bi

pi=arbi+aibr=ar(br+bi)+(ai-ar)br

以此通过增加加法,节省了一个乘法器,实现了节省乘法器的16位复数乘法。


代码资料下载:http://pan.baidu.com/s/1eS1hGFS



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值