学习笔记——FPGA与CPLD的联系与区别
一、概念介紹
1、FPGA:
(1)概念:FPGA的內部基本結構為門陣列構成靜態存儲器(SRAM)。該SRAM可構成函數發生器,即查找表(LUT),通過查找表可實現邏輯函數功能。
(2)邏輯單元:在FPGA器件內部,用于完成用戶邏輯的最小單元。
- 邏輯單元主要由兩部分組成:查找表(LUT)、可編程寄存器。
- 查找表用于完成用戶需要的邏輯功能,一般為4輸入1輸出的組合邏輯。
- 可編程寄存器可以配置成D觸發器、T觸發器、JK觸發器、SR觸發器,每個寄存器包含四個輸入信號:時鐘輸入、時鐘使能、復位輸入、數據輸入。
(3)工作原理:當我們設計好一個邏輯電路圖之后,FPGA首先會把這個邏輯電路圖的所有可能出現的結果都寫如RAM當中。這樣就形成了一個表。然后每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表(和表里的事先存入的結果進行對比)找到地址的對應內容之后直接輸出即可。
2、CPLD:
(1)概念:CPLD是復雜可編程邏輯器件,是從PAL和GAL器件發展出來的器件,是基于乘積項的可編程器件。
(2)基本結構:CPLD的內部的基本結構是“與或陣列”,任何一個組合邏輯都可以用“與—或”表達式來描述,所以該“與—或陣列”結構有利于實現大量的組合邏輯功能。
(3)工作原理:CPLD的邏輯框圖如下圖所示。首先輸入信號通過輸入電路然后經過與陣列,因為CPLD是基于乘積項的,所以在與陣列和或陣列之間有一個乘積項,然后通過輸出電路輸出或者是反饋到輸入電路。這是CPLD的整個過程。
- 此種CPLD的結構主要包括宏單元,可編程的連線(PIA)和I/O控制模塊,基本邏輯功能就是由宏單元來實現的。PIA可編程的連線則起到復雜信號傳遞,連接所有宏單元的作用,I/O控制塊負責輸入輸出的電氣特性控制。
- INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2是全局時鐘,清零和輸出使能信號,這些信號有專用連線與CPLD中每個宏單元相連。
二、FPGA與CPLD的聯系
- FPGA是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。CPLD和FPGA都能實現邏輯運算。
- 補充概念
PAL:PAL是可編程陣列邏輯器件、數字集成電路半成品,芯片上按照一定的排列方式集成了大量的門和觸發器等基本邏輯元件,使用者按照設計要求運用開發工具將這些片內的元件連接起來,此過程稱為編程。
GAL:通用陣列邏輯,英文全稱:generic array logic。 GAL器件是從PAL發現過來的,其采用了EECMOS工藝使得該器件的編程非常方便,另外由于其輸出采用了邏輯宏單元結構使得電路的邏輯設計更加靈活。
三、FPGA與CPLD的區別
1、誕生時間:FPGA晚于CPLD
2、適合的領域不同:
FPGA:更適合做運算
CPLD:更適合做控制(內部結構決定)
3、邏輯結構不同:
FPGA:類似于門陣列,擁有較多的觸發器和儲存器資源,可以說FPGA就是由
CPLD:CPLD用與或陣列實現的,相當于一大塊可編程的與或陣列
4、系統結構:
FPGA:有很多的連接單元,這樣雖然讓它可以更加靈活的編輯,但是結構卻復雜的多。
CPLD:是一個有點限制性的結構。這個結構由一個或者多個可編輯的結果之和的邏輯組列和一些相對少量的鎖定的寄存器組成。這樣的結果是缺乏編輯靈活性,但是卻有可以預計的延遲時間和邏輯單元對連接單元高比率的優點。
5、內部模塊不同:
FPGA:其內含有高層次的內置模塊(比如加法器和乘法器)和內置的記憶體。很多新的FPGA支持完全的或者部分的系統內重新配置。允許他們的設計隨著系統升級或者動態重新配置而改變。一些FPGA可以讓設備的一部分重新編輯而其他部分繼續正常運行。
6、速度不同
FPGA:速度快
CPLD:速度慢
7、集成度不同
FPGA:集成度高
CPLD:集成度低
參考鏈接
https://blog.csdn.net/maxwell2ic/article/details/81067430
總結
以上是生活随笔為你收集整理的学习笔记——FPGA与CPLD的联系与区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统打印机不兼容,linux系
- 下一篇: pwm原理及arduino使用pwm教程