Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 2992|回復: 0
打印 上一主題 下一主題

電子系統級設計:從現象到本質

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-11-13 22:11:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
( 11 月 1 日 2008 年) # H! ?; X: J; V
Ron Wilson,執行編輯,EDN  
4 T/ k4 o: K1 M3 Z* M4 E# a ; G3 J+ ~# y  D
以下情形曾經就像是地平線上的微光:隨著系統單晶片 (SOC) 變得日益複雜,我們就會從暫存器傳送級 (register-transfer level ,RTL) 轉向下一個更高的抽象級——一些專家所說的 ESL 設計。我們會用 C++ 等高階語言來表示系統行為。我們會在這個級別對系統進行模型的建立和探索,把它劃分成硬體元件和軟體元件,然後按某個按鈕。腳本和 ESL 合成工具會消化我們的 ESL 設計,並還給我們一個近乎最優的 RTL 設計或甚至是網表,連同必要的軟體。設計工作的效率會再次領先於複雜性。% R% g9 ]) u1 F& g
但正如人們所說的,那是過去的事情了。現在,由於出現了許多的失效、錯誤的聲明,以及後來過於限制的工具(too-limited),許多設計工程師都把 ESL 放在與砷化鎵相同的類別裡:永遠的未來技術。然而,上述駁斥並不準確,就像某些早期的“使命完成”聲明一樣。ESL 工具目前在許多團隊的設計流程中扮演著關鍵性的作用。這些作用隨著團隊和應用領域的不同而不同。但是結果卻顯現出足夠的重要性,以至於設計經理現在排斥 ESL 就是在拿自己冒險。; O7 k$ u# r/ d$ ~' A' ?
困惑與多樣性 ' S, U+ a9 [+ e, {9 W* Q& F; I
Gary Smith EDA 公司的創辦人及著名產業分析師 Gary Smith 說:“事實上,大多數我們所說的能力強的使用者(power user)自從 2004 年前後以來,便就一直在使用 ESL 工具。但其中許多工具都是在內部開發出來的,並且對於什麼是 ESL 工具,有著很多的困惑。”! h7 G4 f3 e8 p
這些困惑是可以理解的。“系統級”名稱下面隱藏著幾個抽象級。並且在上述的每個級別中,都有許多種工具,人們對它們的期望也有所不同。
' Z3 l& }( r/ ASmith 說:“最初的想法是 ESL 是關於架構的設計。”這個過程遠比按鈕式的行為合成更簡單。它簡單地意味著某個系統架構的文字形式且可執行的表示,它可以讓實驗在很高的級別上進行,在某種程度上是歷史悠久的架構設計工具——白板和電子試算表——的基於語言的版本。/ P1 D+ D+ ?" Q5 n4 P
Smith 接著說:“但是在 2004 年,這些工具是側重在消費性應用,並且真的是用於演算法設計,而不是架構設計。一點兒也不重視包含處理器、記憶體等各種區塊(block)的抽象級。”
; J& e! n3 m; i即便是在演算法領域,過去和現在之間都有著明顯的差異。一些設計工程師把諸如 MathWorks 公司的 Matlab 之類基於代數的工具看作是描述和操縱演算法的自然方式。另一些則認為 C 或 C+ + 應該擔任該角色,儘管這些語言在語法方面強烈偏向特定的“遺產”實施——DEC 公司的 PDP-11 迷你電腦(minicomputer)。還有一些則認為:應該用一種為特定目的而發展的(purpose-built)演算法描述語言來開發各種演算法,它既不是純代數型的(algebraic),也不是純程式型(procedural)或順序型(sequential)的。當一代有趣的語言在數年前被停用時,最後這種觀點曾經消失,而如今又在復甦之中。Smith 說:“多核處理在 SOC 領域的出現已引發了對 ESL 工具的許多新工作。”
3 N' w( e! k+ @5 K  Q對 ESL 的一個不同見解來自一些試圖較早開始開發軟體的專案負責人。在這些專案中,設計工程師使用 ESL 工具來開發基於軟體的虛擬原型。設計工程師把原型與自己正在開發中的驅動程式代碼等融合起來,並測試整合軟體系統,方式很像他們日後對真正在硬體上運行的代碼所做的測試。
- |& ~* m  T# W# y% d( a另一些人仍然覺得:ESL 應該適當強調架構級實施,而不是簡單地表示演算法。這個觀點導致一些語言(主要是 C 衍生語言)和工具的問世,它們試圖在某個抽象級描述某項實施,並且為它附上(或從它推斷出)盡可能多的相關資訊——關於它暗示的 RTL 設計的結構、時序和能耗(後一種情形日益增多)。在該領域,人們最近也做了一些工作。
7 O2 W$ L1 Z5 q9 F/ W+ C- ~2 G有這麼多途徑、期望和需要,當然就有困惑。也許澄清此一情況的最佳方式就是與一些設計團隊交換意見,事實上,他們正在上述各個級別運用這些工具(參見附文《展望未來》)。$ s; a. w3 ?6 U+ h3 ~" A
演算法開發 ( ?" t' s  S& U, n7 T% i
僅僅是讓演算法正確這一件事,就可能成為設計流程中的一個主要部分,在數位信號處理的領域中尤其如此。這個挑戰至少分兩個階段:使數學原理正確、使從數學原理到硬體和軟體的轉換正確。正如 Smith 所說的,這個問題帶來了也許是最早的 ESL 工具的成功運用,並且依然很重要。  {8 C2 x; m- `# K. p
MC2 Technology 集團的 DSP 與系統設計顧問Bob Davenport就是以這種方式使用 ESL 工具。他是安捷倫公司 SystemVue 產品的愛用者;SystemVue是一種方塊圖驅動型探索環境(block-diagram-driven exploration environment),用於通信和媒體處理應用領域的信號處理。Davenport 說:他用該工具開發演算法(經常是用各個作為該環境一部分的功能庫來組合它們)、探索這些演算法、產生 C 代碼,然後把代碼傳遞給 Texas Instruments Code Composer Studio 來實現優化。
2 L; _! M+ q& [" [* eDavenport 說:“例如,我們可以從鎖相迴路的方程式開始,建立它的模型,並分析它的性能。然後,我們可以產生代碼,把它畫成圖,並把繪圖用在報告中。”
( Z, o4 D4 R: p9 o$ n對於 Davenport 而言,很重要的一部分功能在於,無論有效數字的數量如何,他都能探索浮點算術形式的演算法,然後插入一些符記(token)來為具體信號設置整數精度。他說:“因此,如果你正在開發頻域 GPS 相關器(correlator)等器件,你就能首先讓核心演算法正常工作,然後探索如何縮小資料寬度,以便於實施。”他能簡單地按照以下的方式實現這個目標——開發出定點的實施(fixed-point implementation)、把相同的輸入量輸送給它和原始的浮點模型,並比較輸出量。如果有差異,他就反向檢測整個演算法,看看它們是在何處出現的。
# ^5 G: Y7 X7 s# l- P7 e8 r3 v' SDavenport 把他的設計流程主要用於為 DSP 核心產生代碼。不過這個套裝軟體還能為 FPGA 輸出硬體描述,Davenport 說這個功能開發得不太好,但他打算進一步探索。
- D' R4 }' M) v2 D' o9 @/ b8 o
. `4 x' H6 B* d: B- e虛擬平臺
6 y6 L/ \/ P. b4 P- W, n0 q  l
. |* o; `: h' c3 |5 I% e' `
遊客,如果您要查看本帖隱藏內容請回復
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-17 09:47 AM , Processed in 0.104013 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表