Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

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

$ L! v3 c# G7 @  X0 M, i虛擬平臺
1 K! ]) Q4 k3 v! u$ {. ~% J; \+ i4 k% c- K2 j! ~# `
遊客,如果您要查看本帖隱藏內容請回復
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 05:02 AM , Processed in 0.117515 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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