在FPGA中植入嵌入式系統(tǒng)
如今,由于可編程器件(如FPGA)容量大、性能高、成本相對(duì)較低的特性,這種平衡又在發(fā)生變化,以前硬件設(shè)計(jì)元素(如處理器及其外圍器件和邏輯塊)也可以轉(zhuǎn)移到軟領(lǐng)域(圖1)。因此,在整個(gè)開(kāi)發(fā)周期內(nèi),靈活性可能更大,更改關(guān)鍵設(shè)計(jì)也更加方便,比如可以更改軟件與硬件實(shí)現(xiàn)之間的功能分區(qū),甚至更改處理器的選擇。
本文引用地址:http://butianyuan.cn/article/150781.htm與大量使用分立的現(xiàn)有處理器開(kāi)發(fā)嵌入式系統(tǒng)相比,目前開(kāi)發(fā)基于FPGA的處理器應(yīng)用程序的做法仍很少。盡管FPGA已確實(shí)廣泛應(yīng)用于與嵌入式系統(tǒng)處理器密切相關(guān)的外圍邏輯中,但除了可編程設(shè)計(jì)之外,處理器及其重要外圍器件仍保持著導(dǎo)線連接。
圖1:隨著用戶(hù)買(mǎi)得起的高性能可編程器件的問(wèn)世,設(shè)計(jì)工程師可將相當(dāng)部分的硬件設(shè)計(jì)從硬連線平臺(tái)轉(zhuǎn)移到“軟”環(huán)境中,從而節(jié)省設(shè)計(jì)時(shí)間、簡(jiǎn)化電路板設(shè)計(jì)并降低制造成本。
部分原因來(lái)自于成本。FPGA的體積大、性能高,盡管能提供一個(gè)處理器的應(yīng)用平臺(tái),但與性能相當(dāng)?shù)姆至CU相比,它也更加昂貴。因此,采用FPGA方案所產(chǎn)生的額外費(fèi)用限制了FPGA方案的應(yīng)用范圍。不過(guò)最近,賽靈思Spartan-3系列等器件消除了價(jià)格上的限制,當(dāng)這些器件與合適的基于FPGA的處理器內(nèi)核相結(jié)合時(shí),成本與收益的平衡將被打破。
即使價(jià)格不再是限制FPGA作為主流嵌入式系統(tǒng)平臺(tái)的唯一障礙,但仍存在另一個(gè)更難處理的問(wèn)題,即我們需要改變對(duì)可編程邏輯器件的總體看法。我們不能僅僅把它們看成集成邏輯塊的有效方法,而是需要擴(kuò)大視野范圍,重新評(píng)估在器件(如FPGA)可重新配置的情況下我們對(duì)整個(gè)設(shè)計(jì)過(guò)程的看法。
對(duì)“界面友好”開(kāi)發(fā)模型的需求
如果在更大范圍內(nèi)審度與嵌入式設(shè)計(jì)相關(guān)的FPGA現(xiàn)象,線索也許就在于微處理器本身的歷史。微處理器最初用于計(jì)算器,后來(lái)用于個(gè)人電腦。當(dāng)器件價(jià)格只占一小部分產(chǎn)品成本時(shí),隨著技術(shù)的進(jìn)步,用戶(hù)界面友好的開(kāi)發(fā)模型開(kāi)始得到廣泛應(yīng)用(如高級(jí)編程語(yǔ)言C語(yǔ)言的應(yīng)用)。
由于軟件具有很好的靈活性和強(qiáng)大功能,所以它們可以創(chuàng)建一種新的設(shè)計(jì)模式,該模式可以自由創(chuàng)建和修改大部分系統(tǒng)功能而無(wú)需重新設(shè)計(jì)硬件。采用C語(yǔ)言編寫(xiě)嵌入式應(yīng)用程序,意味著眾多設(shè)計(jì)工程師可以獲得其強(qiáng)大功能和靈活性,這促使基于處理器的嵌入式設(shè)計(jì)成為電子產(chǎn)品的主流設(shè)計(jì)。
FPGA可以大大增加系統(tǒng)中“軟”器件的數(shù)量,從而具有類(lèi)似于引發(fā)設(shè)計(jì)革命的潛力。正如前文所述,大型可編程器件現(xiàn)在的價(jià)格使之足以與離散處理器系統(tǒng)競(jìng)爭(zhēng)。為推動(dòng)設(shè)計(jì)工程師采用FPGA器件作為嵌入式應(yīng)用平臺(tái),需要一種用戶(hù)界面友好的開(kāi)發(fā)方法。該方法既容易被大多數(shù)工程師理解,又能方便地將處理器、外圍硬件和軟件輕松集成在可編程平臺(tái)中。除此之外,一種在板極設(shè)計(jì)過(guò)程中集成FPGA設(shè)計(jì)的方法,可以讓用戶(hù)輕松應(yīng)對(duì)在新的“軟”設(shè)計(jì)模型中發(fā)生的變化。
圖2:嵌入式產(chǎn)品智能包括軟件以及包含在FPGA中的軟連接系統(tǒng)器件,PCB僅成為器件智能連接外部世界的一個(gè)平臺(tái)。
但當(dāng)我們把FPGA看作系統(tǒng)平臺(tái)時(shí),在HDL領(lǐng)域獲得必需的系統(tǒng)器件(例如處理器與外圍器件),并在寄存器轉(zhuǎn)換級(jí)實(shí)現(xiàn)它們的過(guò)程十分復(fù)雜。對(duì)那些目前還不是FPGA專(zhuān)家的大多數(shù)工程師來(lái)說(shuō),這是一個(gè)令人生畏的過(guò)程。
但是,工程師在板級(jí)上開(kāi)發(fā)同樣復(fù)雜的設(shè)計(jì)系統(tǒng)不會(huì)遇到這些困難,因?yàn)樵诎寮?jí)上,系統(tǒng)的復(fù)雜性表現(xiàn)在用來(lái)創(chuàng)建設(shè)計(jì)的現(xiàn)有器件上,而工程師只是簡(jiǎn)單地使用這些器件,并不需要了解其內(nèi)在復(fù)雜性。
因此,挖掘FPGA作為主流嵌入式系統(tǒng)平臺(tái)的潛能,關(guān)鍵就在于提供當(dāng)前板級(jí)設(shè)計(jì)與基于FPGA的系統(tǒng)設(shè)計(jì)之間的無(wú)縫轉(zhuǎn)換。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論