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##軟體##科技快訊##電路##熱議區塊鏈#