FPGA基本原理和內(nèi)部結(jié)構(gòu)
一、FPGA原理
FPGA中的基本邏輯單元是CLB模塊,一個CLB模塊一般包含若干個基本的查找表、寄存器和多路選擇器資源,因此FPGA中的邏輯表達式基于LUT的。
FPGA內(nèi)部的編程信息一般存儲在SRAM單元中,因此通常的FPGA都是基于SRAM的,所以掉電后信息會丟失,下次上電需要先配置才能使用。
著重介紹Xilinx FPGA,
二、FPGA產(chǎn)品的速度等級
速度等級一般反映一款芯片的性能,速度等級越高,說明芯片內(nèi)的邏輯延時和布線延時越小,設(shè)計的性能要求也越容易達到,隨之付出的成本也越大。
對Xilinx FPGA,速度等級一般有“-1”、“-2”、“-3”等,數(shù)字越大,速度等級越高,芯片價錢也越貴。
對Intel FPGA,速度等級一般有“-6”、“-7”、“-8”,數(shù)字越小表示速度等級越高、價錢越貴。
三、FPGA內(nèi)部資源
邏輯資源塊是FPGA內(nèi)部最重要的資源,Xilinx稱其為CLB(configurable logic block);
7系列中,F(xiàn)PGA內(nèi)部三大主要資源:可編程邏輯單元、可編程I/O單元、布線資源
1、可配置邏輯單元(configurable logic block)
CLB在FPGA中最為豐富,由兩個SLICE構(gòu)成,SLICE分為SLICEL(L:Logic)和SLICEM(M:Memory),因此CLB可分為CLBLL和CLBLM兩類;
SLICEL和SLICEM內(nèi)部都包含4個6輸入查找表(LUT6)、3個數(shù)據(jù)選擇器(MUX)、1個進位鏈(carry chain)和8個觸發(fā)器(Flip-Flop);
2、存儲單元(Block RAM)
Block RAM可以被配置為同步、異步、單端口、雙端口的RAM或FIFO,或者ROM;
3、運算單元(DSP48E1)
當FPGA需要復(fù)雜的運算時,會使用DSP48E1,例如乘法;
什么是STM32?
意法半導(dǎo)體(ST)集團于1988年6月成立,是由意大利的SGS微電子公司和法國Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司,是世界最大的半導(dǎo)體公司之一。 STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計的ARM Cortex?-M0,M0+,M3, M4和M7內(nèi)核(ST‘s product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex?-M0 and M0+, Cortex?-M3, Cortex?-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range to include an ultra-low-power MCU platform)。
它具有以下三個特點:
?新的基于ARM內(nèi)核的32位MCU系列
–標準的ARM架構(gòu) –內(nèi)核為ARM公司為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計的Cortex-M內(nèi)核
?超前的體系結(jié)構(gòu)
–高性能 –低電壓 –低功耗 –創(chuàng)新的內(nèi)核以及外設(shè)
?簡單易用/自由/低風(fēng)險
Cortex-M3系列屬于ARMv7架構(gòu)
ARMv7架構(gòu)定義了三大分工明確的系列:
“A”系列:面向尖端的基于虛擬內(nèi)存的操作系統(tǒng)和用戶應(yīng)用
“R”系列:針對實時系統(tǒng);
“M”系列:對微控制器。
STM32F1屬于Cortex-M系列中的Cortex-M3內(nèi)核,采用ARMv7-M架構(gòu)。STM32F4屬于Cortex-M4系列采用ARMv7-ME架構(gòu)。Cortex-A5/A8采用ARMv7-A架構(gòu)。傳統(tǒng)的ARM7系列采用的是ARMv4T架構(gòu)。
那么STM32與ARM有什么區(qū)別呢?
Cortex-M家族
STM32和ARM有什么區(qū)別
STM32的命名規(guī)則
STM32的應(yīng)用場景
STM32的應(yīng)用場景還有很多,這里只是簡單地列出一些。
總的來說STM32具有如下優(yōu)勢:
1)極高的性能:主流的Cortex內(nèi)核。
2)豐富合理的外設(shè),合理的功耗,合理的價格。
3)強大的軟件支持:豐富的軟件包。
4)全面豐富的技術(shù)文檔。
5)芯片型號種類多,覆蓋面廣。
6)強大的用戶基礎(chǔ):最先成功試水CM3芯片的公司,積累了大批的用戶群體,為其領(lǐng)先做鋪墊。
stm32與fpga的優(yōu)缺點
一個屬于單片機STM32 ,一個屬于可編程陣列FPGA。
STM32由于有各種外設(shè)操作起來簡單,可以處理模擬以及數(shù)字信號,適用于設(shè)計的控制電路FPGA應(yīng)用也比較廣泛,只能處理數(shù)字信號,但是能同時運行多條指令,也就是并行執(zhí)行,這是單片機、ARM等比不了的,主要用于處理各種邏輯。
STM32代表ARM Cortex-M內(nèi)核的32位微控制器,具有高性能,實時性強,低功耗,便于低電壓操作等優(yōu)點,同時還易于開發(fā)。
按內(nèi)核架構(gòu)分,有STM32F103“增強型”系、STM32F101“基本型”系列、STM32F105、STM32F107“互聯(lián)型”系列。其中增強型系列時鐘頻率達到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時鐘頻率為36MHz,以16位產(chǎn)品的價格得到比16位產(chǎn)品大幅提升的性能,是32位產(chǎn)品用戶的最佳選擇。兩個系列都內(nèi)置32K到128K的閃存,不同的是 SRAM的最大容量和外設(shè)接口的組合。時鐘頻率72MHz時,從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場上功耗最低的產(chǎn)品,相當于0.5mA/MHz。
FPGA是英文Field-Programmable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。
評論