|
FPGA(Field Programmable Gates Array 現(xiàn)場可編程門陣列,內(nèi)部結(jié)構(gòu)為門陣列構(gòu)成靜態(tài)存儲器(SRAM)。該SRAM可構(gòu)成函數(shù)發(fā)生器,即查找表,通過查找表可實現(xiàn)邏輯函數(shù)功能) CPLD(Complex Programmable Logic Device 復(fù)雜可編程邏輯器件,內(nèi)部結(jié)構(gòu)為“與或陣列”。該結(jié)構(gòu)來自于典型的PAL、GAL器件的結(jié)構(gòu)。任意一個組合邏輯都可以用“與—或”表達式來描述,所以該“與或陣列”結(jié)構(gòu)能實現(xiàn)大量的組合邏輯功能) 簡單的“與或”陣列:(PAL、GAL、CPLD)  含查找表的邏輯單元:(FPGA)  CPLD和FPGA的主要區(qū)別: 1、布線能力 CPLD內(nèi)連率高,不需要人工布局布線來優(yōu)化速度和面積,較FPGA更適合于EDA芯片設(shè)計的可編程驗證。 2、延遲小預(yù)測能力 CPLD連續(xù)式布線結(jié)構(gòu)決定時序延時是均勻的和可預(yù)測的,F(xiàn)PGA分段式布線結(jié)構(gòu)決定了不可預(yù)測時間延遲。 3、集成度的不同 CPLD:500 ~ 50000門; FPGA:1K ~ 10M 門 4、應(yīng)用范圍的不同 CPLD邏輯能力強而寄存器少,適用于控制密集型系統(tǒng); FPGA邏輯能力較弱但寄存器多,適于數(shù)據(jù)密集型系統(tǒng)。 CPLD和FPGA的優(yōu)點: 1.規(guī)模越來越大,實現(xiàn)功能越來越強,同時可以實現(xiàn)系統(tǒng)集成。 2.研制開發(fā)費用低,不承擔投片風險,使用方便。 3.通過開發(fā)工具在計算機上完成設(shè)計,電路設(shè)計周期短。 4.不需要設(shè)計人員了解很深的IC知識,EDA軟件易學易用。 5.通過FPGA和CPLD開發(fā)的系統(tǒng)成熟后,可以進行ASIC設(shè)計,形成批量生產(chǎn)。 小結(jié):學習CPLD/FPGA已經(jīng)快一個學期了,書也讀了幾遍,感覺有些可編程邏輯器件的思想,書上并沒有直白的強調(diào)出來,現(xiàn)總結(jié)一下,方便自己,方便大家: 1、CPLD/FPGA并無本質(zhì)的區(qū)別,都是從PLD上發(fā)展來的,但是CPLD更適合于真值表解決的問題,而FPGA則是基于查找表實現(xiàn)功能的 2、CPLD/FPGA是硬件,而VHDL和Verilog以及AHDL都是語言,是軟的東西,完成的功能對要綜合考慮兩方面的特性:例如硬件中電平會存在多種狀態(tài),對應(yīng)于STD-LOGIC中就有九種表達形式 3、編程語言都是強類型的,并且最好也按照完整的編程格式來實現(xiàn)模塊化,也利于IP核的復(fù)用 4、編程軟件選用的原則一般是根據(jù)所使用的芯片決定的,注意綜合器的選擇 5、并行結(jié)構(gòu)的理解是正確編程的基礎(chǔ),記住這點就能夠很好的解決時序的問題 6、芯片引腳的驅(qū)動能力一般都是有限的,注意外接TTL時的轉(zhuǎn)換 7、時鐘的選用,以及內(nèi)部是否具有PLL功能,是開發(fā)者所應(yīng)關(guān)注的 8、下載最新的數(shù)據(jù)手冊,以及應(yīng)用手冊,利于提高開發(fā)速度! |