曙海教育集團論壇開發(fā)語言培訓專區(qū)C++語言開發(fā) → 用C/C++語言開發(fā)大規(guī)模FPGA


  共有7153人關(guān)注過本帖樹形打印

主題:用C/C++語言開發(fā)大規(guī)模FPGA

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
用C/C++語言開發(fā)大規(guī)模FPGA  發(fā)帖心情 Post By:2010-12-10 13:15:36

圖片點擊可在新窗口打開查看
背景
可編程邏輯器件的設計方法經(jīng)歷了布爾等式,原理圖輸入,硬件描語言這樣一個發(fā)展過程。隨著設計的日益復雜和可編程邏輯器件規(guī)模的不斷擴大,人們不停地尋求更加抽象的行為級設計方法,以便在盡可能短時間內(nèi)完成自己的設計構(gòu)思。

現(xiàn)狀與問題
今天,在電子設計領(lǐng)域形成了這樣一種分工:軟件和硬件,相應工程師也被分成軟件工程師和硬件工程師。
對于復雜算法的實現(xiàn),人們通常先建立系統(tǒng)模型,根據(jù)經(jīng)驗分析任務,然后將一部分工作劃給軟件工程師,將另一部分工作交給硬件工程師。硬件工程師為了實現(xiàn)復雜的功能,使用硬件描述語言設計高速執(zhí)行的芯片,而這種設計是富有挑戰(zhàn)性和花費時間的,需要一定的硬件工程技巧。
對于軟件工程師,這些同樣的功能只要簡單地使用C語言整合到整個系統(tǒng)的程序代碼中就可以了。但是傳統(tǒng)的處理器是順序執(zhí)行的,并且他們執(zhí)行的高速計算必須依賴于高速時鐘,這樣就限制了處理器的能力。同時,軟件實現(xiàn)算法存在一個指令執(zhí)行周期的問題——軟件永遠也不能達到硬件執(zhí)行的速度。
當然,很少有嵌入式應用是完全使用可編程邏輯器件來實現(xiàn)的。串行化的步進式算法最好是由CPU或DSP用軟件來實現(xiàn)。(參閱文章:DSP+FPGA實時處理系統(tǒng))最佳的硬件加速性能大多是由并行執(zhí)行的功能來完成,其物理形式通常是將硬件協(xié)處理器(FPGA) 與CPU緊密的結(jié)合在一起,CPU與FPGA的緊密結(jié)合可以提供軟硬件的最佳連接方式。在這種結(jié)構(gòu)中,CPU通常運行系統(tǒng)應用方面的程序,實時很強的任務放到FPGA硬件上,這樣可以減輕處理器的負荷,從而獲得更大的帶寬。這樣我們可以通過把算法移植到硬件上來克服設計瓶頸。但是這時我們又將面臨一個問題:設計者必須使用復雜的硬件描述語言編寫FPGA代碼,而這些功能原本是用簡單C語言在處理器或DSP中實現(xiàn)的。
人們希望能夠找到一種方法,在更高的層次下設計更復雜,更高速的系統(tǒng),并希望將軟件設計和硬件設計統(tǒng)一到一個平臺下。

解決方案
C/C++語言是軟件工程師在開發(fā)商業(yè)軟件時的標準語言,也是使用最為廣泛的高級語言,人們很早就開始嘗試在C語言的基礎(chǔ)上設計下一代硬件描述語言。
許多公司已經(jīng)提出了不少方案,目前有兩種相對成熟的硬件C語言:systemC和Handle-C,它們相應的開發(fā)系統(tǒng)為:CoCentric System Stadio和Celoxica DK1。這兩種語言都是在C/C++的基礎(chǔ)上根據(jù)硬件設計的需求加以改進和擴充,用戶可以在它們的開發(fā)環(huán)境編輯代碼,調(diào)用庫文件,甚至可以引進HDL程序,并進行仿真,最終生成網(wǎng)表文件,放到FPGA中執(zhí)行。軟件算法工程師不需要特別的培訓,利用他們熟悉的C語言就可以直接進行硬件開發(fā),減輕了硬件開發(fā)的瓶頸和壓力。隨著算法描述抽象層次的提高,使用這種C語言設計系統(tǒng)的優(yōu)勢將更加明顯。
現(xiàn)在有很多硬件描述語言的人才,也有更多的資深的C語言編程者,他們能夠利用這種工具,可以輕松地轉(zhuǎn)到FPGA設計上。過去因為太復雜而不能用硬件描述語言表示的算法以及由于處理器運行速度太慢而不能處理的算法,現(xiàn)在都可以利用C語言在大規(guī)模FPGA硬件上得以實現(xiàn)。設計者可以利用C語言快速而簡潔的構(gòu)建功能函數(shù),通過標準庫和函數(shù)調(diào)用技術(shù),設計者還能在很短的時間里創(chuàng)建更龐大,更復雜和更高速的系統(tǒng)。

問題與展望
正如同硬件描述語言與原理圖輸入的關(guān)系,或是高級語言和匯編語言的關(guān)系,抽象的設計方法會減少我們的設計時間,但也會增加對硬件資源的需求,C語言也不例外。目前直接使用C語言設計硬件系統(tǒng)的準確性和可靠性還在進一步的研究和發(fā)展中,可以說,目前各種硬件C語言的編譯軟件都還不夠成熟,很少能直接投入到實際產(chǎn)品的開發(fā)中。 C語言輸入方式的廣泛使用還有賴于更多EDA軟件廠家和FPGA公司的支持。但是可以預見,隨著EDA技術(shù)的不斷成熟,軟件和硬件的概念將日益模糊,在5-10年以后,使用單一的高級語言直接設計我們的整個系統(tǒng)將是一個的發(fā)展趨勢。

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

用C/C++語言開發(fā)大規(guī)模FPGA








簽名
主站蜘蛛池模板: 日本边添边摸边做边爱边| 黄网页在线观看| 欧美疯狂做受xxxxx高潮| 天天躁夜夜躁狠狠躁2021a| 精品国产国产综合精品| 欧美日韩亚洲高清不卡一区二区三区 | 国产精品国产三级国产AV主播| 国产国产人免费人成免费视频| 亚洲av最新在线观看网址| 99爱在线精品视频免费观看9| 青青草原亚洲视频| 欧美孕妇xxxx做受欧美| 娇妻之欲海泛舟小强| 国产成人精品亚洲精品| 亚洲黄色在线观看网站| 久久精品国产精品青草| 很黄很黄的网站免费的| 特黄特黄aaaa级毛片免费看| 夫妻免费无码V看片| 啊轻点灬大ji巴太粗太长了电影| 中文字幕无码人妻aaa片| 老师办公室被吃奶好爽在线观看 | 国产女人aaa级久久久级| 久久午夜无码鲁丝片| 超清首页国产亚洲丝袜| 最新中文字幕在线资源| 国产亚洲欧美日韩亚洲中文色| 久99久热只有精品国产女同| 精品欧美一区二区在线观看| 日韩午夜在线视频| 国产一级爱做c片免费昨晚你| 亚洲AV乱码中文一区二区三区| 国产超爽人人爽人人做| 日本妇人成熟免费不卡片| 国产福利精品视频| 久久精品国产亚洲7777| 日本高清色www网站色| 日韩新片在线观看| 国产成人综合久久亚洲精品| 久久久久亚洲AV无码专区体验| 美美女高清毛片视频免费观看|