Xilinx Artix-7 FPGA快速入門(mén)、技巧與實(shí)例連載2——FPGA基礎概念

發(fā)布時(shí)間:2019-3-6 16:35    發(fā)布者:rousong1989
Xilinx Artix-7 FPGA快速入門(mén)、技巧與實(shí)例連載2——FPGA基礎概念
更多資料共享
       鏈接:https://share.weiyun.com/53UnQas
FPGA是什么
簡(jiǎn)單來(lái)說(shuō),FPGA就是“可反復編程的邏輯器件”。如圖1.1所示,這是一顆Xilinx公司面向中端市場(chǎng)的Artix-7 FPGA器件,從外觀(guān)上看,貌似和一般的CPU芯片沒(méi)有太大差別。
圖1.1 Xilinx公司的Artix-7 FPGA器件
FPGA取自Field Programmable Gate Array這四個(gè)英文單詞的首個(gè)字母,譯為“現場(chǎng)(Field)可編程(Programmable)邏輯陣列(Gate Array)”。該芯片的“可編程性”是針對“數字電路”而言,與CPU中軟件的可編程是完全不同的。采用該芯片,工程師可以根據需要進(jìn)行靈活編程,添加各種新功能,以滿(mǎn)足不斷發(fā)展的協(xié)議標準或規范,工程師們甚至可以在設計的最后階段對它進(jìn)行修改和升級。低成本、高靈活性的FPGA是各種應用中定制芯片的絕佳替代品。
而至于FPGA到底是什么,能夠干什么,又有什么過(guò)人之處?下面我們就把它和它的“師兄師弟”們擺在一起,一一呈現這些問(wèn)題的答案。
FPGAASIC
拋開(kāi)FPGA不提,大家一定都很熟悉ASIC。所謂ASIC,即專(zhuān)用集成電路(Application Specific IntegratedCircuit)的簡(jiǎn)稱(chēng)。電子產(chǎn)品中,它們無(wú)所不在,還真是比FPGA普及得多得多。但是ASIC的功能相對固定,它是為了專(zhuān)一功能或專(zhuān)一應用領(lǐng)域而生,希望對它進(jìn)行任何的功能和性能的改善往往是無(wú)濟于事的。打個(gè)淺顯的比喻,如圖1.2所示,如果說(shuō)ASIC是布滿(mǎn)鉛字的印刷品,那么FPGA就是可以自由發(fā)揮的白紙一張。
圖1.2 ASIC和FPGA就如同印刷品和白紙
使用了FPGA器件的電子產(chǎn)品,在產(chǎn)品發(fā)布后仍然可以對產(chǎn)品設計作出修改,大大方便了產(chǎn)品的更新以及針對新的協(xié)議標準作出的相應改進(jìn),從而可以加速產(chǎn)品的上市時(shí)間,并降低產(chǎn)品的失敗風(fēng)險和維護成本。相對于無(wú)法對售后產(chǎn)品設計進(jìn)行修改的ASIC來(lái)說(shuō),這是FPGA特有的一個(gè)優(yōu)勢。由于FPGA可編程的靈活性以及近年來(lái)電子技術(shù)領(lǐng)域的快速發(fā)展,FPGA也正在向高集成、高性能、低功耗、低價(jià)格的方向發(fā)展,并且逐漸具備了與ASIC相當的性能,使其被廣泛地應用在各行各業(yè)的電子及通信設備中。
FPGA與ASIC最大的區別就是功能的可編程性不同,我們再舉一個(gè)實(shí)際的例子說(shuō)明FPGA與常見(jiàn)ASIC的這個(gè)最大區別。門(mén)電路芯片NC7SZ08是單路的邏輯與門(mén),如圖1.3所示,該芯片除了需要電源(VCC和GND)外,輸入A和B經(jīng)過(guò)芯片內部的“邏輯與”后,輸出結果Y。
圖1.3單通道邏輯與門(mén)芯片
若是我們在電路板中設計了一顆NC7SZ08芯片,那么毫無(wú)疑問(wèn),我們只有可憐的3個(gè)IO引腳可用,并且它的功能非常單一,就是2個(gè)輸入芯片“邏輯與”后輸出結果,僅此而已。但是,如圖1.4所示,無(wú)任何功能的FPGA其實(shí)什么也不是,一片空白,但是這一片空白中卻潛藏著(zhù)萬(wàn)千種可能,這萬(wàn)千種可能就把握在你我手中,FPGA的可編程性可以讓它實(shí)現我們希望實(shí)現的任意數字電路功能,譬如這個(gè)實(shí)例中,我們就在FPGA中編程實(shí)現了與門(mén)邏輯,那么它就等同于我們的NC7SZ08芯片。當然了,這只是非常簡(jiǎn)單的一個(gè)FPGA可編程應用實(shí)例,工程實(shí)踐中也沒(méi)有人會(huì )因為僅僅為了一個(gè)與門(mén)電路動(dòng)用FPGA。換句話(huà)說(shuō),真正需要動(dòng)用FPGA的應用,往往是一般的ASIC所實(shí)現不了的功能(實(shí)際情況也許并不是實(shí)現不了,而是這樣的應用太小眾,沒(méi)有市場(chǎng)和利益可圖,也就沒(méi)有芯片廠(chǎng)商愿意花代價(jià)設計這樣的芯片),那么此時(shí)用FPGA編程實(shí)現這樣的定制化數字電路就能解燃眉之急了。
圖1.4 FPGA中編程實(shí)現與門(mén)功能
    當然,FPGA與ASIC的開(kāi)發(fā)過(guò)程有一些共通之處(當然并不完全一樣,區別也是有的),例如它們都可以使用硬件編程語(yǔ)言VerilogVHDL,它們在時(shí)序設計、仿真驗證方面的基本原理、方法或優(yōu)化技巧基本是相通的。ASIC開(kāi)發(fā)通常分為前端和后端,前端是后端的輸入,前端最終的產(chǎn)出是一個(gè)能夠描述所實(shí)現功能的邏輯門(mén)電路及其連接的網(wǎng)表,FPGA在綜合后也是得到一個(gè)類(lèi)似的網(wǎng)表;ASIC設計后端的任務(wù)是把前端得到的網(wǎng)表通過(guò)布局布線(xiàn)(需要人工參與)映射到具體的物理結構上,而FPGA上與此類(lèi)似的映射過(guò)程通常完全由開(kāi)發(fā)工具包辦了,它并不需要設計者太多的參與。當然了,從這樣簡(jiǎn)單的開(kāi)發(fā)對比也可以多少體會(huì )到ASIC和FPGA在成本、功耗或性能上為何存在差異。
FPGA、ARMDSP
與ASIC相比,FPGA、ARM和DSP都具備與生俱來(lái)的可編程特性;蛟S身處開(kāi)發(fā)第一線(xiàn)的底層工程師要說(shuō)No了,很多ASIC不是也開(kāi)放了一些可配置選項,實(shí)現“可編程”特性嗎?是的,但相比于FPGA、ARM、DSP可以通過(guò)編程實(shí)現嵌入式系統的大多數功能,ASIC的那點(diǎn)“可編程”性的確擺不上臺面。當然,換個(gè)角度來(lái)看,FPGA、ARM和DSP都或多或少集成了一些ASIC功能,正是這些ASIC功能,加上“可編程”特性,使得它們相互區別開(kāi)了,并且各自獨霸一方。
ARM(Advanced RISCMachines)是微處理器行業(yè)的一家知名企業(yè),設計了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。由ARM公司設計的處理器風(fēng)靡全球,大有嵌入式系統無(wú)處不ARM的趨勢。我們通常所說(shuō)的ARM,更多的是指ARM公司的處理器,即ARM處理器。ARM通常包含一顆強大的處理器內核,并且為這顆處理器量身配套了很多成熟的軟件工具以及高級編程語(yǔ)言,這也是它倍受青睞的原因之一。當然了,ARM不只是一顆處理器而已,因為在A(yíng)RM內核處理器周邊,各種各樣精于控制的外設比比皆是,什么GPIO、PWM、AD/DA、UART、SPI、IIC……一列一籮筐。ARM的長(cháng)處在控制和管理,在很多工業(yè)自動(dòng)化中大有用武之地。
圖1.5 ARM處理器
DSP(digital singnalprocessor),即數字信號處理器,是一種獨特的微處理器,有自己的完整指令系統,能夠進(jìn)行高速、高吞吐量的數字信號運算處理。它不像ARM那么“胡里花俏”,它更“專(zhuān)”。它只專(zhuān)注一件事,就是對各種語(yǔ)音、數據和視頻做運算處理;或者也可以這么說(shuō),DSP是為各種數學(xué)運算量身打造的。
圖1.6 DSP處理器
相比之下,套用近些年Xilinx提出的一句很經(jīng)典的廣告詞“All Programmable”來(lái)形容FPGA再合適不過(guò)了。ARM雖然有很多外設,DSP雖然具備強大的信號運算能力,但是FPGA眼里,這些都不過(guò)是“小菜一碟”;蛟S說(shuō)得有些過(guò)了,但是,毫不夸張的講,ARM能做的,DSP能做的,FPGA一定也都能做;而FPGA可以做的,ARM不一定行,DSP也不一定行。這就是很多原型產(chǎn)品設計過(guò)程中,時(shí)不時(shí)的有人會(huì )提出基于FPGA的方案了。在一些靈活性要求高、定制化程度高、性能要求也特別高的場(chǎng)合,FPGA再合適不過(guò)了,甚至有時(shí)會(huì )是設計者別無(wú)選擇的選擇;當然了,客觀(guān)的來(lái)看,FPGA固然強大,它高高在上的成本、功耗和開(kāi)發(fā)復雜性還是會(huì )讓很多潛在的目標客戶(hù)望而卻步,而在這些方面,ARM和DSP正好彌補了FPGA所帶來(lái)的缺憾。
圖1.7 FPGA器件
    之所以會(huì )有ARM、DSP和FPGA的存在,和實(shí)際應用情景是非常相關(guān)的。對于A(yíng)RM,它的主要應用情景常常是有一些低速數據的采集、簡(jiǎn)單的處理和傳輸,也還需要一些人機交互手段的存在。前面提到,ARM處理器周邊通常外設豐富,且它本身就精于控制,所以就很適合此類(lèi)應用。對于DSP,有無(wú)人機交互就無(wú)所謂了,它的應用情景最主要的特點(diǎn)一定是高速數據的實(shí)時(shí)采集、較復雜的運算處理和傳輸。那么對此作過(guò)專(zhuān)門(mén)優(yōu)化的DSP就能輕松勝任。而FPGA,可以這么說(shuō),它是可以補前面二者的“缺”和“漏”,FPGA可以在A(yíng)RM和DSP之外滿(mǎn)足各種定制化的需求。筆者在參觀(guān)過(guò)一家專(zhuān)門(mén)為航空、醫療和工控行業(yè)做小批量電路板代工的企業(yè)后,印象最深的就是在琳瑯滿(mǎn)目的電路板中,往往都能找到一顆FPGA器件,而這在大批量生產(chǎn)、成本敏感的消費電子領(lǐng)域中,是不可想象的。換句話(huà)說(shuō),ARM和DSP在大批量、低成本的應用中較為常見(jiàn);而FPGA則更多的在小批量、定制化、成本不敏感的行業(yè)中應用。
總而言之,在嵌入式系統設計領(lǐng)域,FPGA、ARM和DSP互有優(yōu)劣,各有所長(cháng)。很多時(shí)候它們所實(shí)現的功能無(wú)法簡(jiǎn)單的相互替代,否則我們就不會(huì )見(jiàn)到如TI的達芬奇系列ARM中有DSP、Xilinx的Zynq或Altera的Soc FPGA中有ARM的共生現象了。FPGA、ARM和DSP,它們將在未來(lái)很長(cháng)的一段時(shí)間內呈現三足鼎立的局面。
VerilogVHDL
說(shuō)到FPGA,我們一定關(guān)心它的開(kāi)發(fā)方式。FPGA開(kāi)發(fā)本質(zhì)上就是一些邏輯電路的實(shí)現而已,因此早期的FPGA開(kāi)發(fā)通過(guò)繪制原理圖(和現在的硬件工程師繪制原理圖的方式大體相仿)完成。而隨著(zhù)FPGA規模和復雜性的不斷攀升,這種落后的設計方式幾乎已經(jīng)被大家遺忘了,取而代之的是能夠實(shí)現更好的編輯性和可移植性的代碼輸入方式。
說(shuō)到FPGA的設計代碼,經(jīng)過(guò)近三十年的發(fā)展,只有Verilog和VHDL二者最終脫穎而出,成為了公認的行業(yè)標準。這兩種語(yǔ)言都是通過(guò)一系列分層次的模塊來(lái)表示復雜的數字系統,逐個(gè)模塊的仿真驗證后,再集成各個(gè)模塊交由綜合工具生成門(mén)級的網(wǎng)表,最后由布局布線(xiàn)工具將其映射到最終的FPGA器件上。
大家在學(xué)習這兩種語(yǔ)言時(shí),一定發(fā)現VHDL完全是一門(mén)“異類(lèi)”語(yǔ)言,在我們已有的各種編程語(yǔ)言中,應該是找不出語(yǔ)法、格式都類(lèi)似的“兄弟”,所以學(xué)習起來(lái)也一定非常痛苦。但是反觀(guān)Verilog語(yǔ)言,大家一定會(huì )產(chǎn)生莫名的好感,為啥?你可能一激動(dòng)就喊出來(lái)了“這基本就一C語(yǔ)言變種吧”,沒(méi)錯,Verilog語(yǔ)言就是在C語(yǔ)言的基礎上,增加一些特殊的約定而產(chǎn)生的。
Verilog是在1983年由Gateway Automation公司的Philip Moorby發(fā)明,此人也是目前EDA行業(yè)鼎鼎有名的Cadence公司的第一合伙人。時(shí)隔10年,1993年,幾乎所有的ASIC廠(chǎng)商都開(kāi)始支持Verilog,當然FPGA廠(chǎng)商也不例外,此時(shí),IEEE(電氣和電子工程師協(xié)會(huì ))正式將當時(shí)的Verilog2.0作為標準的提案。1995年,IEEE制定了Verilog的標準IEEE1364-1995,即稱(chēng)之為Verilog-95的標準。2001年,在進(jìn)行了一番修正和擴展之后,發(fā)布了IEEE 1364-2001標準,即Verilog-2001。2005年,Verilog再次做出了細微的修正,發(fā)布了IEEE1364-2005標準,即Verilog-2005。
圖1.8 Verilog代碼
VHDL是Very High Speed Integrated Circuit Hardware Description Language的縮寫(xiě),也是誕生于上世紀80年代初期,但它與Verilog的民間背景不同,VHDL則是美國軍方研發(fā),且早在1987年就被IEEE和美國國防部確認為標準硬件描述語(yǔ)言,并公布了VHDL的標準版本IEEE-1076-1987(簡(jiǎn)稱(chēng)87版)。1993年,IEEE對VHDL進(jìn)行了修訂,從更高的抽象層次和系統描述能力上擴展VHDL的內容,公布了新版本的VHDL,即IEEE標準的1076-1993版本(簡(jiǎn)稱(chēng)93版)。
圖1.9 VHDL代碼
大多數工科生在大一或大二基本都已經(jīng)接觸過(guò)C語(yǔ)言了,多少已經(jīng)有了一些先入為主的觀(guān)念,所以學(xué)習起Verilog語(yǔ)言來(lái)會(huì )更容易一些。換句話(huà)說(shuō),Verilog相對VHDL有著(zhù)快速上手、易于使用的特點(diǎn),所以博得了更多工程師的青睞。而VHDL雖然有著(zhù)天生的不惹人愛(ài)的特點(diǎn),但是話(huà)說(shuō)“存在即是合理”,VHDL最大的特點(diǎn)是語(yǔ)法“嚴謹”,只要你上手了,基本它能“嚴謹”到你不容易在語(yǔ)言本身上隨便犯錯,這就是VHDL的厲害之處。所以,還是有不少公司或組織會(huì )毅然決然的選擇VHDL。
無(wú)論如何,語(yǔ)言只是FPGA開(kāi)發(fā)的一個(gè)手段或方式,它本身并不存在好壞優(yōu)劣之分,就看設計者怎么使用。而對于一個(gè)合格的FPGA工程師而言,無(wú)論是Verilog還是VHDL,一定要精通其中的一門(mén)語(yǔ)言,能夠“信手捻來(lái)”的服務(wù)于開(kāi)發(fā)設計工作;但也絕不能對另一門(mén)語(yǔ)言一竅不通,畢竟在實(shí)際工作中,很多情況下也會(huì )涉及到另一門(mén)語(yǔ)言的使用。因此,兩門(mén)語(yǔ)言都不能落下,精通一門(mén)是必須的,也能夠熟練的使用另一門(mén)語(yǔ)言那是最好不過(guò)。
AlteraXilinx
相比于互聯(lián)網(wǎng)的那些“暴發(fā)戶(hù)”,半導體行業(yè)則更講究歷史底蘊,“今天丑小鴨,明天白天鵝”的故事要少得多,因此兩家歷史最為久遠的FPGA供應商Altera和Xilinx憑著(zhù)一直以來(lái)的專(zhuān)注,確保了它們在這個(gè)行業(yè)的統治地位。當然了,很大程度上也是由于FPGA技術(shù)相對于一般的半導體產(chǎn)品有著(zhù)更高的門(mén)檻,從器件本身到一系列配套的工具鏈,再到終端客戶(hù)的技術(shù)支持——這一籮筐的麻煩事,讓那些行業(yè)大佬們想想就頭疼,更別提插足搗騰一下了。
目前FPGA器件的主流廠(chǎng)商Altera公司(已被Intel公司收購)和Xilinx公司,它們的可編程邏輯器件在全球市場(chǎng)上占到了將近90%。從明面上的“競爭對手”到今天暗地里還客氣的互稱(chēng)“友商”,不難看出兩家公司走過(guò)歷史長(cháng)河,雖然有“明爭暗斗”,但確也不經(jīng)意間的彼此促進(jìn),互相激勵。的確,翻看FPGA的發(fā)展史,往往充斥著(zhù)這兩家公司不斷上演的“你方唱罷我登場(chǎng)”的情節,并且偶爾也會(huì )有第三者如Microsemi或Lattice小弟的“插足”戲份。不過(guò)這好在新千年過(guò)后,各方重新定位,Altera和Xilinx便牢牢把持住象征統治地位的中高端市場(chǎng);Microsemi 高度聚焦于 FPGA 的安全應用領(lǐng)域,比如國防和航空;而Lattice也只能在低端市場(chǎng)找找“山中無(wú)老虎,猴子稱(chēng)大王”的感覺(jué)了。
圖1.10 四大FPGA廠(chǎng)商
不論是Altera、Xilinx、Microsemi還是Lattice,甚至一些后來(lái)者,如筆者接觸過(guò)的國內FPGA廠(chǎng)商京微雅格(目前處于苦苦掙扎之中),它們的FPGA器件內部結構雖然略有差異,但在開(kāi)發(fā)流程、開(kāi)發(fā)工具乃至原廠(chǎng)提供的各種支持上,都是“換湯不換藥”的。所以,這對對用戶(hù)而言,絕對是一個(gè)福音,只要好好的掌握一套方法論,任何廠(chǎng)商的器件都可以通吃。
更多資料共享
       鏈接:https://share.weiyun.com/53UnQas

本文地址:http://selenalain.com/thread-561037-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
x17621492136 發(fā)表于 2019-3-6 19:19:32
感覺(jué)很厲害的樣子
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页