寫在最前面:
沒錯,我就是一名普普通通的工程師,有那麼一兩項能養活自己的技術。技術這個東西,如果只是用在工作崗位上的話,就是一個「搬磚」的工具,如果把它分享出來,沒準還能碰撞出有意思的東西來,你們說是吧?
好了,這一系列博文教程叫做「FPGA軟硬體加速入門」,顧名思義,就是利用FPGA本身的特點,在軟硬體進行不同的系統分工,加速系統輸出的速度(主要是計算),我會盡量從入門者的角度講解相關內容,如果你覺得還行,挺受用,動一動手指,幫忙轉發一下,不勝感激啦~
一、 從嵌入式軟體開發到FPGA開發
1.1 單片機開發流程淺析
在開始介紹FPGA之前,讓我們來回顧一下簡單的嵌入式軟體開發吧,相信大家或多或少都接觸過單片機(Micro Control Unit)的設計流程。作為一個簡單的控制器,單片機的工作流程無非如下:
1、 單片機上電,程序從存儲器中載入到MCU內部;
2、 根據單片機的輸入(如鍵盤輸入、感測器數據的讀取等)、以及程序內部的邏輯,計算得到控制結果;
3、 將結果輸出,控制單片機的外部設備(如LED的亮滅、控制電機轉速的PWM波形等);
也就是說,一個簡單的單片機工作系統的構成如下: