四时宝库

程序员的知识宝库

基于microblaze软核的FPGA的硬件知识讲解.

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。

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

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



逻辑门电路与LUT

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

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

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

乘法器结构图

1.3 microblaze和DDR2的 blockdesign

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


1.4 设计代码

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


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中,形成门级电路。


时序约束


1.6 管脚分配

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



1.7 布局布线后的版图


lut


布线


IOB


1.8 仿真

1.9 软件设计

1.9.1 硬件平台

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

1.9.2 Bsp文件

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



1.9.3 软件代码编写

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


#include <stdio.h>

#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##软件##科技快讯##电路##热议区块链#

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接