⑴ PLC和FPGA有啥區別,不都是可編程邏輯器件嗎
PLC是可編程邏輯控制器,FPGA是可編程邏輯陣列。現在有些FPGA也有可編程式控制制器了,所以差別越來越小。
⑵ 請高人解釋一下集成電路設計中 可編程邏輯器件設計(PLD)和現場可編程邏輯陣列設計(FPGA)和兩者的區別
CPLD(Complex Programmable Logic Device)是Complex PLD的簡稱,一種較PLD為復雜的邏輯元件。
CPLD是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。
發展歷史及應用領域:
20世紀70年代,最早的可編程邏輯器件--PLD誕生了。其輸出結構是可編程的邏輯宏單元,因為它的硬體結構
設計可由軟體完成(相當於房子蓋好後人工設計局部室內結構),因而它的設計比純硬體的數字電路具有很強的靈活性,但其過於簡單的結構也使它們只能實現規模較小的電路。為彌補PLD只能設計小規模電路這一缺陷,20世紀80年代中期,推出了復雜可編程邏輯器件--CPLD。目前應用已深入網路、儀器儀表、汽車電子、數控機床、航天測控設備等方面。
器件特點:
它具有編程靈活、集成度高、設計開發周期短、適用范圍寬、開發工具先進、設計製造成本低、對設計者的硬體經驗要求低、標准產品無需測試、保密性強、價格大眾化等特點,可實現較大規模的電路設計,因此被廣泛應用於產品的原型設計和產品生產(一般在10,000件以下)之中。幾乎所有應用中小規模通用數字集成電路的場合均可應用CPLD器件。CPLD器件已成為電子產品不可缺少的組成部分,它的設計和應用成為電子工程師必備的一種技能。
如何使用:
CPLD是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。
這里以搶答器為例講一下它的設計(裝修)過程,即晶元的設計流程。CPLD的工作大部分是在電腦上完成的。打開集成開發軟體(Altera公司 Max+pluxII)→畫原理圖、寫硬體描述語言(VHDL,Verilog)→編譯→給出邏輯電路的輸入激勵信號,進行模擬,查看邏輯輸出結果是否正確→進行管腳輸入、輸出鎖定(7128的64個輸入、輸出管腳可根據需要設定)→生成代碼→通過下載電纜將代碼傳送並存儲在CPLD晶元中。7128這塊晶元各管腳已引出,將數碼管、搶答開關、指示燈、蜂鳴器通過導線分別接到晶元板上,通電測試,當搶答開關按下,對應位的指示燈應當亮,答對以後,裁判給加分後,看此時數碼顯示加分結果是否正確,如發現有問題,可重新修改原理圖或硬體描述語言,完善設計。設計好後,如批量生產,可直接復制其他CPLD晶元,即寫入代碼即可。如果要對晶元進行其它設計,比如進行交通燈設計,要重新畫原理圖、或寫硬體描述語言,重復以上工作過程,完成設計。這種修改設計相當於將房屋進行了重新裝修,這種裝修對CPLD來說可進行上萬次。
FPGA是Field Programmable Gate Array的縮寫,即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。
FPGA誕生於1985年,當時第一個FPGA採用2μm工藝,包含64個邏輯模塊和85000個晶體管,門數量不超過1000個,由名為Ross Freema所發明,當時他所創造的FPGA被認為是一個不切實際發明,他的同事Bill Carter曾說:「這種理念需要很多晶體管,並且那時晶體管是非常珍貴的東西。」,所以人們認為Ross的想法過於脫離現實。但是Ross預計:根據摩爾定律(每18個月晶體管密度翻一翻),晶體管肯定會越來越便宜,因此它就越來越常見。在短短的幾年內,正如Ross所預言的,出現了數十億美元的現場可編程門陣列(FPGA)市場。但是可惜的是,他無法享受這一派欣欣向榮的景象,在1989年Ross Freeman就與世長辭了,但是它的發明卻持續不斷地促進電子行業的進步與發展。
我們都知道構成數字邏輯系統最基本的單元是與門、或門、非門等,而他們都是用三極體、二極體和電阻等元件構成,然後與門、或門、非門又構成了各種觸發器,實現狀態記憶,FPGA屬於數字邏輯電路的一種,同樣由這些最基本的元件構成。一個FPGA可以將上億個門電路組合在一起,集成在一個晶元內,打破以往需要用龐大分立門電路元器件搭建的歷史,不僅電路面積、成本大大減小,而且可靠性得到了大幅度的提升。
一般的FPGA內部是由最小的物理邏輯單位LE、布線網路、輸入輸出模塊以及片內外設組成,所謂的最小物理邏輯單元是指用戶無法修改的、固定的最小的單元,我們只能將這些單元通過互聯線將其連接起來,然後實現用戶特定的功能。一個LE由觸發器、LUT以及控制邏輯組成,可以實現組合邏輯和時序邏輯;隨著FPGA集成度的不斷增加,其內部的片內外設也越來越多,內部可集成SRAM、Flash、AD、RTC等外設,真正實現單晶元解決整個系統功能的目的。所以我們所理解的FPGA最底層是一些實實在在的門電路構成,然後由門電路構成最小的物理邏輯單元,然後通過布線層將這些最小物理邏輯單元連接成用戶需要的特定功能,我們所需要控制的是布線層之間的互連開關,這也是我們編程的對象,通過這些開關來改變功能。
當今的FGPA按工藝分主要有SRAM工藝和Flash工藝(工藝是針對它們的編程開關來說的)兩類,SRAM工藝的FPGA最大的特點是掉電數據會丟失,無法保存,所以它們的系統除了一個FPGA以外,外部還需要增加一個配置晶元用於保存編程數據,每次上電的時候都需要從這個配置晶元將配置數據流載入到FPGA,然後才能正常的運行;但是Flash架構的FPGA掉電不會丟失數據,無需配置晶元,上電即可運行,它的特點非常類似ASIC,但是又比ASIC更加的靈活,可以重復編程。在一些小規模的公司或者產品量不是很大的時候往往更傾向於用FPGA來取代ASIC,不僅能夠降低風險,而且能夠降低成本。
1.2 為什麼要學習FPGA?
FPGA從誕生以來,經歷了從配角到主角的過程,從初期開發應用到限量生產應用再到大批量生產應用的發展歷程。從技術上來說,最初只是邏輯器件,現在強調平台概念,加入數字信號處理、嵌入式處理、高速串列和其他高端技術,從而被應用到更多的領域,正因為其飛速的發展,讓更多學FPGA的人看到了希望,其廣闊的前景正是我們選擇的原因之一。
1. 廣闊的發展前景
據市場調研公司Gartner Dataquest預測,2010年FPGA和其它可編程邏輯器件(PLD)市場將從2005年的32億美元增長到67億美元,未來還將有不斷往上增長的趨勢。FPGA及PLD產業發展的最大機遇是替代ASIC和專用標准產品(ASSP),由ASIC和ASSP構成的數字邏輯市場規模大約為350億美元。由於用戶可以迅速對PLD進行編程,按照需求實現特殊功能,與ASIC和ASSP相比,PLD在靈活性、開發成本以及產品及時面市方面更具優勢,所以未來FPGA將會是一個非常有前景的行業。
FPGA由於其結構的特殊性,可以重復編程,開發周期較短,越來越受人們的青睞,它的特點也更接近ASIC,ASIC比FPGA最大的優勢是低成本,但是FPGA的價格現在也是越來越低,例如:Actel的Nano系列更是打破了FPGA的價格屏障,提供超過50種低於1美金的FPGA,在一定程度上已經可以與ASIC相抗衡。
根據當前發展的趨勢,未來的FPGA勢必將會取代一部分ASIC的市場,雖然根據摩爾定律(Moore』s Law):每18至24個月能在相同的單位面積內多擠入一倍的晶體管數,這意味著電路成本每18至24個月就可以減半,但這只是指裸晶(Die)的成本,並不表示整個晶元的成本減半,這是由於晶圓製造更前端的掩膜(Mask)成本、晶圓製造更後端的封裝(也稱為:構裝、包裝)成本、人力成本等都不會隨摩爾定律而變化,反而晶元的成本有上升的趨勢,所以過去許多中、小用量的晶元無法用先進的工藝來生產,對此不是持續使用舊工藝來生產,就是必須改用FPGA晶元來生產……
因此,未來的趨勢告訴我們,FPGA將成為21世紀最重要的高科技產業之一,特別是國內的FPGA市場,更是一個「未開墾的處女地」,抓住現在的機遇意味著為我們將來的產品提供更多的競爭力。
2. 提供更多就業機會
雖然FPGA市場的廣闊,但是FPGA的技術人員是極度地缺乏,其原因是還未得到高校的重視,很多學校都未開FPGA的課程,導致學生畢業後連什麼是FPGA,什麼是Verilog都不知道,失去了很多就業的機會。我們公司(廣州單片機發展有限公司)這三年來跑遍了全國22個城市,每次宣講會場里場外都站滿了人,每個學生都渴望尋找一份好工作的心情由此可見一斑,但通過考試發現懂FPGA和Verilog的學生卻寥寥無幾,盡管我們每年都對招聘FPGA人才寄予了很大的希望,但每次都失望而歸,深深地體會到招聘FPGA開發工程師困難重重。
由此可見在應屆畢業生中熟練掌握FPGA的學生屬於稀缺資源,然而企業為培養FPGA開發工程師無不付出沉重的代價,所以對於在校電類專業的學生來說,這就是打造個人差異化競爭力的機會,事實上只要掌握FPGA就能夠找到一份薪水更好的工作。我們公司每次在考核員工時往往都會特別關注這些「特殊員工」的情況,一般來說這些員工的工作都會比其它崗位高500元,這就是學習FPGA的優勢,但是很多人不曾完全意識到掌握FPGA技術的重要性。
當前受金融危機的影響,對學生的就業更是巨大的考驗,據教育部的統計,2008年,全國普通高校畢業生達559萬人,比2007年增加64萬人,2009年高校畢業生規模達到611萬人,比2008年增加52萬人,如此多的大學生面臨著就業的問題,如果不具備一定的技能,將會淹沒在大學生的潮流之中而找不到理想的工作,而學習FPGA可以幫助學生多一技之長,大大提高就業的機會。
3.具有更大的技術擴展空間
我們都知道,以前IC半導體產業一直是國內比較薄弱的產業,與國外的發展步伐相比還差甚遠,我們所用的IC大部分都來自歐美地區,國內擁有自主產品的IC技術不多,多半需要引進國外先進的IC設計技術,但是自2000年以來,中國大陸的IC設計企業如雨後春筍般迅速涌現,企業數量5年增加了4倍多,2005年已經達到500多家,銷售收入過億元人民幣的設計企業達到17家,其中兩家超過5億元。概括地講,中國的IC設計公司可以分為四類,第一類是國有IC設計公司,一般是承擔政府研發任務的研究所轉制後設立;第二類是由系統廠商的設計部門獨立出來的IC設計公司;第三類是民營IC設計公司,以海歸型為主;最後一類是外資IC設計公司。
所以IC設計也是未來發展的一個重點方向,將會是國家大力扶持的產業之一,而IC的設計人員所必須掌握的是FPGA的技術,在晶元流片之前都是通過FPGA來進行前期的設計驗證,用的語言也是FPGA的設計語言,只是在後端的設計中才用到IC設計的特定技術,所以IC設計人員必定是懂得FPGA設計的人,掌握FPGA的技術是通往IC設計殿堂的必經之路,學習FPGA有助於給我們更大的技術擴展空間。
1.3 怎樣學FPGA?
既然FPGA對我們如此的重要,那對於初學者的我們又應該如何去學呢?學習一樣知識應該有好的老師教導,我們才能更快的掌握,可惜的是大部分的學校未開相關的課程,也缺少相關專業的老師,我們如何能夠找到一個捷徑或方法幫助我們學會這么極具競爭力的技術,讓我們通向成功的殿堂呢?筆者覺得應該需要有步驟,有目的、循序漸進地掌握相關的技術,我們公司從原來的1人的FPGA團隊,發展到如今30人左右的FPGA團隊,有著一些成長的經歷和經驗,也希望在此能與大家一起分享。
1. 掌握FPGA編程語言
在學習一門技術之前我們往往從它的編程語言開始,就如學習單片機一樣,我們從C語言開始,掌握了C語言,開發單片機就不是什麼難事了。學習FPGA也是如此,FPGA的編程語言有兩種:VHDL和Verilog,這兩種都適合用於FPGA的編程,VHDL比Veirlog早出現,由美國的軍方組織開發,在1987年成為了IEEE的標准;Verilog則是由民間一家普通的公司私有財產轉化而來,基於其優越性,在1995成為了IEEE標准。VHDL在歐地區應用的較為廣泛,而Verilog在中國、美國、日本、台灣等地應用較為廣泛,筆者比較推崇的是Verilog,因為它非常易於學習,很類似於C語言,如果具有C語言基礎的人,只需要花很少的時間便能掌握Verilog,而VHDL較為抽象,學習需要一段較長的時間。
如果是學生,學習Verilog最好的時期是在大學二年級,與數字電路同步學習,不僅能夠理解數字電路實現的方式,更能通過FPGA將數字電路得以實現,筆者發現華中科技大學康華光教授主編的《電子技術基礎(數字部分)》非常好,可以說是一本與時俱進的教材,在其中介紹了Verilog語言,並且在每一章的最後一節都介紹了如何使用Verilog建模實現相關數字電路的內容,非常適合大二學習FPGA的學生,本書同樣以《電子技術基礎(數字部分)》為背景,並與該書進行配套同步,在它的基礎上進行了升華和改進,源於它而又高於它,所以也可以同步學習。大三、大四的學生還可以進一步將Verilog進行強化,學習北京航天航空大學的夏宇聞教授編寫的《Verilog數字系統設計教程(第二版)》可以比較全面地、詳細地掌握Verilog的基本語法,對大二學習的內容進一步的鞏固和強化。
如果是其他初學者,可以直接藉助《Verilog數字系統設計教程(第二版)》和本書即能對Verilog的語法進行全面的掌握。這是學習FPGA的第一步,也是必不可少的一步。
2. 一個易學易用的硬體平台是成功的一半
除了學習編程語言以外,更重要的是實踐,將自己設計的程序能夠在真正的FPGA里運行起來,這時我們需要一個硬體平台的支持,然後以前的FPGA硬體平台的價格讓很多的初學者望而卻步,上千元的價格並不是一般的初學者(特別是學生)能夠承受的,而且不易學習。針對這樣的現狀,也是為了回饋社會,幫助更多想學FPGA又沒有經濟能力的愛好者,廣州周立功單片機發展有限公司開發了一套低成本的FPGA開發套件,售價僅99元,即使是學生也是完全能夠承受得起,這款開發套件可以說是根本不賺錢,我們不僅要提供硬體電路,我們還得配套提供一系列教程資料。
過去的一年來,我們一共投入了4位開發工程師圍繞EasyFPGA030開展工作,翻譯全部開發工具軟體技術資料,先自己吃透然後再根據自己的理解、實踐和多次討論,將技術資料通俗化,並且錄制了第一個「Actel FPGA快速入門視頻教程」供初學者免費下載,便於初學者快速入門,當第一版做出來銷售1000套之後,才發現初學者的焊接經驗不足,於是又開始設計第二版,這就是目前大家在網站上見到的一體化EasyFPGA030開發學習板。為了能夠帶給大家最准備、最權威的知識,我們還請了國內第一個EDA創始人之一的夏宇聞教授給我們進行Veirlog的培訓,培訓完後我們製作一系列Veirlog視頻教程和PPT供初學者學習,同樣免費提供給大家。同時,我們和夏老師一起共同合作編寫了本書,目的是希望能夠以最快的速度幫助初學者入門,另外我們還有一個30人的團隊全面的提供FPGA的技術支持和售後服務,解決用戶的後顧之憂。
所以通過EasyFPGA030的平台學習,不僅節約了前期學習的成本,而且該套件詳實的資料使得非常的易用易學,對於初學者來說是一個不可多得的FPGA開發平台。
3. 技術進行鞏固和升華
對於初學者來說,有了一定基礎後,應該將其繼續的鞏固和升華,筆者認為競賽是學生進行驗證所學知識很好的舞台,不僅能夠鍛煉學生的動手能力,而且能夠發揮學生的創造力和想像力。
廣州周立功公司已經成功舉辦了兩屆「Actel杯全國大學生FPGA電子競賽」,參加的隊伍分別是100隊和300隊,每支隊伍都將免費獲得價值1480元的一套FPGA開發套件作為競賽的平台,競賽完後該套件無需退回,而且設置了最高5000元的獎金,這種舉措對公司來說只有投入,很難看到產出,但是我們還堅持做了,主要是想給學生提供施展才華的舞台,讓更多的人了解FPGA,學會FPGA,2009年我們又將啟動了第三屆競賽,將隊伍擴大到1000支,給更多的人提供機會,我們的目標就是要將創新教育實踐活動進行到底,培養出一批又一批適合企業發展的人才。
1.4 小結
綜上所述,我們只有了解了什麼是FPGA,為什麼要學習FPGA,怎麼學習FPGA後,我們才能非常有目的、有計劃的去掌握這門技術,我相信通過我們的共同努力,一定能夠培養出一批又一批優秀的FPGA人員。
⑶ FPGA等可編程邏輯器件設計流程是怎麼樣的
通常可將FPGA/CPLD設計流程歸納為以下7個步驟,這與ASIC設計有相似之處。 1.設計輸入。Verilog或VHDL編寫代碼。 2.前模擬(功能模擬)。設計的電路必須在布局布線前驗證電路功能是否有效。(ASCI設計中,這一步驟稱為第一次Sign-off)PLD設計中,有時跳過這一步。 3.設計編譯(綜合)。設計輸入之後就有一個從高層次系統行為設計向門級邏輯電路設轉化翻譯過程,即把設計輸入的某種或某幾種數據格式(網表)轉化為軟體可識別的某種數據格式(網表)。 4.優化。對於上述綜合生成的網表,根據布爾方程功能等效的原則,用更小更快的綜合結果代替一些復雜的單元,並與指定的庫映射生成新的網表,這是減小電路規模的一條必由之路。 5.布局布線。 6.後模擬(時序模擬)需要利用在布局布線中獲得的精確參數再次驗證電路的時序。(ASCI設計中,這一步驟稱為第二次Sign—off)。 7.生產。布線和後模擬完成之後,就可以開始ASCI或PLD晶元的投產
⑷ EDA 與FPGA 有什麼區別
FPGA是現場可編程邏輯門陣列的簡稱,是電子設計的一個里程碑。CPLD是復雜可變成邏輯器件的簡稱。盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
1)、CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
2)、CPLD的連續式布線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式布線結構決定了其延遲的不可預測性。
3)、在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的布線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
4)、FPGA的集成度比CPLD高,具有更復雜的布線結構和邏輯實現。
5)、CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部存儲器晶元,使用簡單。而FPGA的編程信息需存放在外部存儲器上,使用方法復雜。
6)、CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分布式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
7)、在編程方式上,CPLD主要是基於EEPROM或FLASH存儲器編程,編程次數可達1萬次,優點是系統斷電時編程信息也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程信息在系統斷電時丟失,每次上電時,需從器件外部將編程數據重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
8)、CPLD保密性好,FPGA保密性差。
9)、一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
⑸ 可以fpga 做什麼
fpga有很多功能,主要是利用verilog或者vhdl語言編寫邏輯,這個邏輯類似於c語言,只是比c語言更直接(因為是面向硬體的嘛)。c語言能做的東西都能用fpga完成,例如作為cpu控制其他硬體(你能想到的各種功能的晶元,如ad/da);能進行視頻圖像處理;由於其高速使得fpga在通信領域也廣泛應用。
但是由於fpga內部是與或非邏輯搭起來的所以乘法比較慢,比dsp差很多,如果用fpga做乘法建議用硬核乘法器。另外建議多利用軟ip,可提高效率。
⑹ 什麼是FPGA技術
CPLD/FPGA技術及電子設計自動化(EDA)
電子設計自動化(EDA)的實現是與CPLD/FPGA技術的迅速發展息息相關的。CPLD/FPGA是80年代中後期出現的,其特點是具有用戶可編程的特性。利用PLD/FPGA,電子系統設計工程師可以在實驗室中設計出專用IC,實現系統的集成,從而大大縮短了產品開發、上市的時間,降低了開發成本。此外,CPLD/FPGA還具有靜態可重復編程或在線動態重構特性,使硬體的功能可象軟體一樣通過編程來修改,不僅使設計修改和產品升級變得十分方便,而且極大地提高了電子系統的靈活性和通用能力。
電路設計工程師設計一個電路首先要確定線路,然後進行軟體模擬及優化,以確認所設計電路的功能及性能。然而隨著電路規模的不斷增大,工作頻率的不斷提高,將會給電路引入許多分布參數的影響,而這些影響用軟體模擬的方法較難反映出來,所以有必要做硬體模擬。FPGA/CPLD就可以實現硬體模擬以做成模型機。將軟體模擬後的線路經一定處理後下載到FPGA/CPLD,就可容易地得到一個模型機,從該模型機,設計者就能直觀地測試其邏輯功能及性能指標。
由西安達泰公司設計的智能電子自動化實驗系統Smart EDA Lab V4.0,充分利用PLD 技術,使電子設計實現自動化,使用方便、快捷,適合於電子工程師開發設計新產品,大、中、專院校師生進行電子電路實驗,ASIC設計驗證,FPGA/CPLD教學等。
Smart EDA Lab V4.0 的硬體資源:8個邏輯指示發光條,4個按鍵開關,6個七段數碼管,555電路產生約1KHz的方波信號可作為時鍾輸入,晶振電路產生8MHz方波信號可作為高頻時鍾,PLCC84 PLCC68 PLCC44 CPLD/FPGA模擬PGA插座,DIP40單片機實驗插座,各種規格的模擬集成電路插座,PC機並口(LPT1)、串口(COM1)、ESIA匯流排插座介面,CPLD/FPGA編程插座,300平方毫米模擬電路及自由實驗區。
Smart EDA Lab V4.0 的主要特點:①繼承了V3.0的所有特點;②可以進行所有數字電路實驗、數模混和模擬、單片機實驗、計算機介面實驗、ESIA匯流排板卡實驗;③系統板上提供高、低頻的信號源和按鍵開關;④利用配套並口邏輯分析儀軟體可以同時觀察5路邏輯信號;⑤可以完成ALTERA、XINLINX、LATTICE等各家公司CPLD/FPGA晶元的在線編程。
美國Altera公司生產的CPLD(復雜可編程邏輯器件)以其操作靈活、使用方便、開發迅速、投資風險低等特點,成為硬體電路優化設計的首選產品。Altera 的 MAX+PLUSII可編程邏輯開發軟體,提供了一種與工作平台、器件結構無關的設計環境,用戶無需十分精通CPLD內部的復雜結構(視為黑匣子),只要從集成軟體包的元件庫中調入原理圖(元件庫包含幾乎所有74系列的集成電路,近300個預制宏邏輯元件),它使Altera通用PLD系列設計者能方便地進行設計輸入-文本、圖形和波形等設計輸入方法任意組合,建立起有層次的單器件或多器件設計,並支持多種標准 CAD 設計輸入,也可用硬體語言AHDL/VHDL來描述復雜的設計;快速設計處理--MAX+PLUSII編譯、設計規則檢查、邏輯綜合與試配多器件劃分,自動錯誤定位;校驗與編程--有定時模擬、功能模擬、多器件模擬、定時分析和器件編程(有萬用編程器或在線編程二種方式),還支持標准CAE設計校驗;從以上 Altera 集成軟體包(含有300多個74LS集成電路供調用)對晶元的編程、編譯、模擬操作的強大功能看,相信您一定會採用Altera公司的 CPLD 可編程邏輯器件應用到你的設計中去,使自己盡快成為一名數字集成電路設計專家。
Altera第二代產品以多陣列矩陣(MAX)結構為基礎,高性能CMOS EEPROM 可電擦除 。 MAX 7000系列器件,邏輯密度600-5000個可用門 ,36-164個用戶I/O引腳,組合傳播延時快至7.5ns,16位計數器的頻率為125MHz,可編程節能方式,每個宏單元的功率減少可達50%,有44到208個引腳;高集成度具有豐富寄存器的現場在線可編程的邏輯器件系列FLEX 8000(靈活邏輯單元矩陣),第三代更先進的EPLD MAX 9000(可擦除可編程邏輯器件)系列器件,更高密度達13萬門的 EPF10K130V PLD。
以EPM7128晶元(84 Pin)為例:其內部有2500個門可用,128個宏單元,允許對外有68個輸入、輸出引腳。凡Altera公司生產的CPLD可編程邏輯器件名稱後帶 S 的晶元,均支持在線現場可編程操作,只要用一根專用電纜接到晶元的特定引腳上,無需拆下晶元,不需要編程器及晶元適配器,通過上位機列印口就可對晶元編程。這對教學、科研樣機研製、產品維修、產品升級帶來極大的方便。美國Altera公司的MAX 7000系列器件性能穩定可靠、價格較低,對初次接觸可編程邏輯器件的用戶來說,只要您會畫電路圖就可以,這比學GAL晶元還簡單易學,一學就會,馬上就可產生經濟效益(節省器件、減小產品印製板面積、產品開發周期短、便於產品保密),目前應用最多的是與通訊有關的領域、其餘有大型顯示屏、游戲機大板改成小板、激光列印機、程式控制交換機替代門電路及原有邏輯器件較多的電子設備濃縮,工業控制板卡開發,ASIC前期模擬等。
⑺ 請問fpga是什麼
FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。
FPGA簡介
背景
目前以硬體描述語言(Verilog 或 VHDL)所完成的電路設計,可以經過簡 單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現代 IC 設計驗證的技術主流。這些可編輯元件可以被用來實現一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數學方程式。在大多數的FPGA裡面,這些可編輯的元件里也包含記憶元件例如觸發器(Flip-flop)或者其他更加完整的記憶塊。
系統設計師可以根據需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個晶元里。一個出廠後的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。
FPGA一般來說比ASIC(專用集成晶元)的速度要慢,無法完成復雜的設計,而且消耗更多的電能。但是他們也有很多的優點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些晶元有比較差的可編輯能力,所以這些設計的開發是在普通的FPGA上完成的,然後將設計轉移到一個類似於ASIC的晶元上。另外一種方法是用CPLD(復雜可編程邏輯器件備)。
CPLD與FPGA的關系
早在1980年代中期,FPGA已經在PLD設備中紮根。CPLD和FPGA包括了一些相對大數量的可編輯邏輯單元。CPLD邏輯門的密度在幾千到幾萬個邏輯單元之間,而FPGA通常是在幾萬到幾百萬。
CPLD和FPGA的主要區別是他們的系統結構。CPLD是一個有點限制性的結構。這個結構由一個或者多個可編輯的結果之和的邏輯組列和一些相對少量的鎖定的寄存器。這樣的結果是缺乏編輯靈活性,但是卻有可以預計的延遲時間和邏輯單元對連接單元高比率的優點。而FPGA卻是有很多的連接單元,這樣雖然讓它可以更加靈活的編輯,但是結構卻復雜的多。
CPLD和FPGA另外一個區別是大多數的FPGA含有高層次的內置模塊(比如加法器和乘法器)和內置的記憶體。因此一個有關的重要區別是很多新的FPGA支持完全的或者部分的系統內重新配置。允許他們的設計隨著系統升級或者動態重新配置而改變。一些FPGA可以讓設備的一部分重新編輯而其他部分繼續正常運行。
FPGA工作原理
FPGA採用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。 現場可編程門陣列(FPGA)是可編程器件。與傳統邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的結構,FPGA利用小型查找表(16×1RAM)來實現組合邏輯,每個查找表連接到一個D觸發器的輸入端,觸發器再來驅動其他邏輯電路或驅動I/O,由此構成了既可實現組合邏輯功能又可實現時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內部靜態存儲單元載入編程數據來實現的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯接方式,並最終決定了FPGA所能實現的功能,FPGA允許無限次的編程.
CPLD(Complex Programmable Logic Device)復雜可編程邏輯器件,是從PAL和GAL器件發展出來的器件,相對而言規模大,結構復雜,屬於大規模集成電路范圍。是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統.
簡介
CPLD主要是由可編程邏輯宏單元(MC,Macro Cell)圍繞中心的可編程互連矩陣單元組成。其中MC結構較復雜,並具有復雜的I/O單元互連結構,可由用戶根據需要生成特定的電路結構,完成一定的功能。由於CPLD內部採用固定長度的金屬線進行各邏輯塊的互連,所以設計的邏輯電路具有時間可預測性,避免了分段式互連結構時序不完全預測的缺點。
發展歷史及應用領域
20世紀70年代,最早的可編程邏輯器件--PLD誕生了。其輸出結構是可編程的邏輯宏單元,因為它的硬體結構設計可由軟體完成(相當於房子蓋好後人工設計局部室內結構),因而它的設計比純硬體的數字電路具有很強的靈活性,但其過於簡單的結構也使它們只能實現規模較小的電路。為彌補PLD只能設計小規模電路這一缺陷,20世紀80年代中期,推出了復雜可編程邏輯器件--CPLD。目前應用已深入網路、儀器儀表、汽車電子、數控機床、航天測控設備等方面。
器件特點
它具有編程靈活、集成度高、設計開發周期短、適用范圍寬、開發工具先進、設計製造成本低、對設計者的硬體經驗要求低、標准產品無需測試、保密性強、價格大眾化等特點,可實現較大規模的電路設計,因此被廣泛應用於產品的原型設計和產品生產(一般在10,000件以下)之中。幾乎所有應用中小規模通用數字集成電路的場合均可應用CPLD器件。CPLD器件已成為電子產品不可缺少的組成部分,它的設計和應用成為電子工程師必備的一種技能。
如何使用
CPLD是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。
這里以搶答器為例講一下它的設計(裝修)過程,即晶元的設計流程。CPLD的工作大部分是在電腦上完成的。打開集成開發軟體(Altera公司 Max+pluxII)→畫原理圖、寫硬體描述語言(VHDL,Verilog)→編譯→給出邏輯電路的輸入激勵信號,進行模擬,查看邏輯輸出結果是否正確→進行管腳輸入、輸出鎖定(7128的64個輸入、輸出管腳可根據需要設定)→生成代碼→通過下載電纜將代碼傳送並存儲在CPLD晶元中。7128這塊晶元各管腳已引出,將數碼管、搶答開關、指示燈、蜂鳴器通過導線分別接到晶元板上,通電測試,當搶答開關按下,對應位的指示燈應當亮,答對以後,裁判給加分後,看此時數碼顯示加分結果是否正確,如發現有問題,可重新修改原理圖或硬體描述語言,完善設計。設計好後,如批量生產,可直接復制其他CPLD晶元,即寫入代碼即可。如果要對晶元進行其它設計,比如進行交通燈設計,要重新畫原理圖、或寫硬體描述語言,重復以上工作過程,完成設計。這種修改設計相當於將房屋進行了重新裝修,這種裝修對CPLD來說可進行上萬次。
家庭成員:經過幾十年的發展,許多公司都開發出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權威公司的產品,這里給出常用晶元: Altera EPM7128S(PLCC84)
Lattice LC4128V(TQFP100)
Xilinx XC95108 (PLCC84)
FPGA與CPLD的辨別和分類
FPGA與CPLD的辨別和分類主要是根據其結構特點和工作原理。通常的分類方法是:
將以乘積項結構方式構成邏輯行為的器件稱為CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。
將以查表法結構方式構成邏輯行為的器件稱為FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。
盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
②CPLD的連續式布線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式布線結構決定了其延遲的不可預測性。
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的布線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
④FPGA的集成度比CPLD高,具有更復雜的布線結構和邏輯實現。
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部存儲器晶元,使用簡單。而FPGA的編程信息需存放在外部存儲器上,使用方法復雜。
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分布式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH存儲器編程,編程次數可達1萬次,優點是系統斷電時編程信息也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程信息在系統斷電時丟失,每次上電時,需從器件外部將編程數據重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
⑧CPLD保密性好,FPGA保密性差。
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
⑻ 什麼是可編程邏輯器件目前常見的有哪些可編程邏輯器件
邏輯器件可分為兩大類 - 固定邏輯器件和可編程邏輯器件。 一如其名,固定邏輯器件中的電路是永久性的,它們完成一種或一組功能 - 一旦製造完成,就無法改變。 另一方面,可編程邏輯器件(PLD)是能夠為客戶提供范圍廣泛的多種邏輯能力、特性、速度和電壓特性的標准成品部件 - 而且此類器件可在任何時間改變,從而完成許多種不同的功能。
對於固定邏輯器件,根據器件復雜性的不同,從設計、原型到最終生產所需要的時間可從數月至一年多不等。 而且,如果器件工作不合適,或者如果應用要求發生了變化,那麼就必須開發全新的設計。 設計和驗證固定邏輯的前期工作需要大量的「非重發性工程成本」,或NRE。 NRE表示在固定邏輯器件最終從晶元製造廠製造出來以前客戶需要投入的所有成本,這些成本包括工程資源、昂貴的軟體設計工具、用來製造晶元不同金屬層的昂貴光刻掩模組,以及初始原型器件的生產成本。 這些NRE成本可能從數十萬美元至數百萬美元。
對於可編程邏輯器件,設計人員可利用價格低廉的軟體工具快速開發、模擬和測試其設計。 然後,可快速將設計編程到器件中,並立即在實際運行的電路中對設計進行測試。 原型中使用的PLD器件與正式生產最終設備(如網路路由器、ADSL數據機、DVD播放器、或汽車導航系統)時所使用的PLD完全相同。 這樣就沒有了NRE成本,最終的設計也比採用定製固定邏輯器件時完成得更快。
採用PLD的另一個關鍵優點是在設計階段中客戶可根據需要修改電路,直到對設計工作感到滿意為止。 這是因為PLD基於可重寫的存儲器技術--要改變設計,只需要簡單地對器件進行重新編程。 一旦設計完成,客戶可立即投入生產,只需要利用最終軟體設計文件簡單地編程所需要數量的PLD就可以了。
可編程邏輯器件的兩種主要類型是現場可編程門陣列(FPGA)和復雜可編程邏輯器件(PLD)。 在這兩類可編程邏輯器件中,FPGA提供了最高的邏輯密度、最豐富的特性和最高的性能。 現在最新的FPGA器件,如Xilinx Virtex系列中的部分器件,可提供八百萬"系統門"(相對邏輯密度)。 這些先進的器件還提供諸如內建的硬連線處理器(如IBM Power PC)、大容量存儲器、時鍾管理系統等特性,並支持多種最新的超快速器件至器件(device-to-device)信號技術。 FPGA被應用於范圍廣泛的應用中,從數據處理和存儲,以及到儀器儀表、電信和數字信號處理等。
與此相比,PLD提供的邏輯資源少得多 - 最高約1萬門。 但是,PLD提供了非常好的可預測性,因此對於關鍵的控制應用非常理想。 而且如Xilinx CoolRunner系列PLD器件需要的功耗極低。
⑼ FPGA的應用有哪些
FPGA的應用可分為三個層面:電路設計,產品設計,系統設計
1.電路設計中FPGA的應用
連接邏輯,控制邏輯是FPGA早期發揮作用比較大的領域也是FPGA應用的基石.事實上在電路設計中應用FPGA的難度還是比較大的這要求開發者要具備相應的硬體知識(電路知識)和軟體應用能力(開發工具)這方面的人才總是緊缺的,往往都從事新技術,新產品的開發成功的產品將變成市場主流基礎產品供產品設計者應用在不遠的將來,通用和專用IP的設計將成為一個熱門行業!搞電路設計的前提是必須要具備一定的硬體知識.
2.產品設計
把相對成熟的技術應用到某些特定領域如通訊,視頻,信息處理等等開發出滿足行業需要並能被行業客戶接受的產品這方面主要是FPGA技術和專業技術的結合問題,另外還有就是與專業客戶的界面問題產品設計還包括專業工具類產品及民用產品,前者重點在性能,後者對價格敏感產品設計以實現產品功能為主要目的,FPGA技術是一個實現手段在這個領域,FPGA因為具備介面,控制,功能IP,內嵌CPU等特點有條件實現一個構造簡單,固化程度高,功能全面的系統產品設計將是FPGA技術應用最廣大的市場,具有極大的爆發性的需求空間產品設計對技術人員的要求比較高,路途也比較漫長不過現在整個行業正處在組建"首發團隊"的狀態,只要加入,前途光明產品設計是一種職業發展方向定位,不是簡單的愛好就能做到的!產品設計領域會造就大量的企業和企業家,是一個近期的發展熱點和機遇
3.系統級應用
系統級的應用是FPGA與傳統的計算機技術結合,實現一種FPGA版的計算機系統如用XilinxV-4, V-5系列的FPGA,實現內嵌POWERPCCPU, 然後再配合各種外圍功能,實現一個基本環境,在這個平台上跑LINIX等系統這個系統也就支持各種標准外設和功能介面(如圖象介面)了這對於快速構成FPGA大型系統來講是很有幫助的。這種"山寨"味很濃的系統早期優勢不一定很明顯,類似ARM系統的境況但若能慢慢發揮出FPGA的優勢,逐漸實現一些特色系統也是一種發展方向。若在系統級應用中,開發人員不具備系統的擴充開發能力,只是搞搞編程是沒什麼意義的,當然設備驅動程序的開發是另一種情況,搞系統級應用看似起點高,但不具備深層開發能力,很可能會變成愛好者。
⑽ 可編程邏輯器件一般分幾種
一般分為四種:SPLD、CPLD、FPGA及ISP器件