背景
可程式設計邏輯器件的設計方法經歷了布林等式,原理圖輸入,硬體描語言這樣乙個發展過程。隨著設計的日益複雜和可程式設計邏輯器件規模的不斷擴大,人們不停地尋求更加抽象的行為級設計方法,以便在盡可能短時間內完成自己的設計構思。
現狀與問題
今天,在電子設計領域形成了這樣一種分工:軟體和硬體,相應工程師也被分成軟體工程師和硬體工程師。
對於複雜演算法的實現,人們通常先建立系統模型,根據經驗分析任務,然後將一部分工作劃給軟體工程師,將另一部分工作交給硬體工程師。 硬體工程師為了實現複雜的功能,使用硬體描述語言設計高速執行的晶元,而這種設計是富有挑戰性和花費時間的,需要一定的硬體工程技巧。
對於軟體工程師,這些同樣的功能只要簡單地使用c語言整合到整個系統的程式**中就可以了。但是傳統的處理器是順序執行的,並且他們執行的高速計算必須依賴於高速時鐘,這樣就限制了處理器的能力。同時,軟體實現演算法存在乙個指令執行週期的問題——軟體永遠也不能達到硬體執行的速度。
人們希望能夠找到一種方法,在更高的層次下設計更複雜,更高速的系統,並希望將軟體設計和硬體設計統一到乙個平台下。
解決方案
c/c++語言是軟體工程師在開發商業軟體時的標準語言,也是使用最為廣泛的高階語言,人們很早就開始嘗試在c語言的基礎上設計下一代硬體描述語言。
許多公司已經提出了不少方案,目前有兩種相對成熟的硬體c語言:systemc和handle-c,它們相應的開發系統為:cocentric system stadio和celoxica dk1。 這兩種語言都是在c/c++的基礎上根據硬體設計的需求加以改進和擴充,使用者可以在它們的開發環境編輯**,呼叫庫檔案,甚至可以引進hdl程式,並進行**,最終生成網表檔案,放到fpga中執行。 軟體演算法工程師不需要特別的培訓,利用他們熟悉的c語言就可以直接進行硬體開發,減輕了硬體開發的瓶頸和壓力。隨著演算法描述抽象層次的提高,使用這種c語言設計系統的優勢將更加明顯。
現在有很多硬體描述語言的人才,也有更多的資深的c語言程式設計者,他們能夠利用這種工具,可以輕鬆地轉到fpga設計上。 過去因為太複雜而不能用硬體描述語言表示的演算法以及由於處理器執行速度太慢而不能處理的演算法,現在都可以利用c語言在大規模fpga硬體上得以實現。 設計者可以利用c語言快速而簡潔的構建功能函式,通過標準庫和函式呼叫技術,設計者還能在很短的時間裡建立更龐大,更複雜和更高速的系統。
問題與展望
正如同硬體描述語言與原理圖輸入的關係,或是高階語言和組合語言的關係,抽象的設計方法會減少我們的設計時間,但也會增加對硬體資源的需求,c語言也不例外。 目前直接使用c語言設計硬體系統的準確性和可靠性還在進一步的研究和發展中,可以說,目前各種硬體c語言的編譯軟體都還不夠成熟,很少能直接投入到實際產品的開發中。 c語言輸入方式的廣泛使用還有賴於更多eda軟體廠家和fpga公司的支援。 但是可以預見,隨著eda技術的不斷成熟,軟體和硬體的概念將日益模糊,在5-10年以後,使用單一的高階語言直接設計我們的整個系統將是乙個的發展趨勢。
大規模Web服務開發技術
大規模web服務開發技術 日 伊藤直也,田中慎司編著 李劍 譯 isbn 978 7 121 13884 3 2011年7月出版 定價 59.00元 16開 356頁 內 容 簡 介 hatena是日本最大的web 服務提供商之一,它提供的服務包括關鍵字 類似於維基百科 部落格 相簿等。本書的內容主...
大規模Web服務開發技術
大規模web服務開發技術 日 伊藤直也,田中慎司編著 李劍譯 isbn 978 7 121 13884 3 2011年7月出版 定價 59.00元 16開 356頁 內 容 簡 介 hatena是日本最大的web 服務提供商之一,它提供的服務包括關鍵字 類似於維基百科 部落格 相簿等。本書的內容主要...
大規模Web服務開發技術
大規模web服務開發技術 日 伊藤直也,田中慎司編著 李劍譯 isbn 978 7 121 13884 3 2011年7月出版 定價 59.00元 16開 356頁 內容簡介 hatena 是日本最大的 web 服務提供商之一,它提供的服務包括關鍵字 類似於維基百科 部落格 相簿等。本書的內容主要來...