fpga中例化乘法器_基于microblaze软核的FPGA的硬件知识讲解.

本文介绍了在FPGA中如何例化乘法器,对比了软件与硬件的乘法计算效率。通过Microblaze软核连接AXI总线,实现对DDR2内存的操作,并详细阐述了设计流程,包括代码编写、综合、管脚分配、布局布线和仿真。此外,还提到了BSP文件在软件设计中的作用。
摘要由CSDN通过智能技术生成

1.1比特币与FPGA

注意:不是让大家去玩比特币,我们是研究技术,不是当韭菜。

https://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-system

比特币白皮书:一种点对点的电子现金系统(中本聪论文的翻译版)

哈希算法:散列算法,把任意长度的输入,通过散列算法,变换成固定长度的输出。安全散列算法(SHA)是一个密码散列函数家族,包括SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512。

2edd81d886f86e41d6caa19d1a6d4513.png

https://www.iqiyi.com/v_19rr1bvqbk.html#curid=1119809900_a25cedbd460aed74ca861b5db384059d

千峰区块链

矿机进化:CPU-GPU-FPGA/GPU-ASIC/GPU

Nivida :CUDA基本运算

https://wenku.baidu.com/view/d00677c94128915f804d2b160b4e767f5acf8019.html?from=search

e7d52882d93ba3b87188749d83fbe427.png
3659aa8d112a0b62d753ff4492a5ae7b.png

FPGA芯片主 要由可编程输入输出单元、基本可编程逻辑单元,布线资源构成。

930c0d26bc769b9fb90e0cc9f3018fc8.png

逻辑门电路与LUT

05747e23e858ec424d74c1db7fc65daf.png

1.2 软件和乘法器的乘法计算

以50000*5000为例,需要上百个时钟周期。

798e00da07f13b5806252a2d3c513c19.png

50000*5000为例,只需一个周期。

f9ccb0f6fe8a17731d80f62874c6097a.png

乘法器结构图

9218564fda1a6c8aa910d6ca589d5348.png

1.3 microblaze和DDR2的 blockdesign

microblaze连接AXI总线的各种IP,很方便实现对各种器件的操作。

9bed71846008cb091dfcd8fa7bd034be.png

1.4 设计代码

blockdesign的原理图VIVADO自动生成VHDL。

e184536613b8a1cdfcf67cd8614a8b7c.png

module design_1

(DDR2_addr,

DDR2_ba,

DDR2_cas_n,

DDR2_ck_n,

DDR2_ck_p,

DDR2_cke,

DDR2_dm,

DDR2_dq,

DDR2_dqs_n,

DDR2_dqs_p,

DDR2_odt,

DDR2_ras_n,

DDR2_we_n,

init_calib_complete,

reset,

rs232_uart_rxd,

rs232_uart_txd,

sys_diff_clock_clk_n,

sys_diff_clock_clk_p);

1.5 综合后的原理图

编译得到门级网表之后映射到LUT中,形成门级电路。

758e5dd179dae8e37553310205ac95a7.png

时序约束

4652e5eb9c707d16b5fc27015005397f.png

1.6 管脚分配

分配管脚,管脚电平标准,驱动能力,上下拉等操作。

6dc35b46b9ab0b09e25adf450e9ad89b.png

1.7 布局布线后的版图

404dea5f7a6f24a181baa86768ca9dad.png

lut

b5f24f18dac25cb6c3f4312e1e60d549.png

布线

9f6fada1bd96d725719a121d925043ca.png

IOB

6d02d0c9109613662446eace0a49b9f2.png

1.8 仿真

03c5119a04b1bbc8aa40a7bd27f16631.png

1.9 软件设计

1.9.1 硬件平台

每个外设都映射到一块地址区间上。

ef575268099a0944f9a2eb6d7e517938.png

1.9.2 Bsp文件

软件根据IP自动生成的配置文件,库文件,例子文件等。

600604e132589c03b2803b5838a3c1ff.png

1.9.3 软件代码编写

理清函数,指针的概念和用法。

74582a63094c7c591349e4a3563ed2d0.png

#include

#include "platform.h"

#include "xil_printf.h"

#include"xil_io.h"

int main()

{

init_platform();

int a,b,c;

a=50000;

b=50000;

Xil_Out32(XPAR_BRAM_0_BASEADDR, 0x55555555);

c=a*b;

Xil_Out32(XPAR_BRAM_0_BASEADDR, c);

cleanup_platform();

return 0;

}

#FPGA##软件##科技快讯##电路##热议区块链#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值