電子系統級設計(ESL) 現實還是塗有外表之物

2021-05-21 15:39:48 字數 2247 閱讀 6967

我經常問的乙個問題是:誰在真正使用諸如可以建模的esl方法,在流程中是否有一些阻礙?另乙個通常的問題是:究竟什麼是esl?也許我們應該先說說第二個問題。

對於一些人來說,esl是指在做任何軟硬體部分的決定之前的乙個非常高的抽象層次的設計。相比之下,其他人認為esl是硬體或軟體的協同設計。還有一些人會說esl是優於暫存器傳輸級(rtl)的更高的抽象層次。當然,我們應該注意到esl並不一定意味著設計工具,因為一些驗證應用可能進入esl領域。

在我的書架上有一本非常有用的書,它就是esl設計和驗證(國際書號:0-12-373551-3),作者是brian bailey, grant martin和andrew piziali。書的第二章介紹了模型分類(時序軸,資料軸,功能軸,結構軸)和esl分類(併發,通訊,配置)。就個人而言,我發現這一章對得起這本書的**,但我們似乎有些離題。

正如justice potter stewart在jacobellis v. ohio(1964)中寫到:「

我不能描述色情,但是當我看到的時候我能知道它。」在此基礎上,這是我所傾向的方式來了解esl,讓我們思考一些不同類別的esl。

在某些情況下,esl不是乙個新方法。事實上,在某些領域它是乙個飽和的市場。例如,數字訊號處理(dsp)工具一直可以用來讓你描述你在數學上想做的東西,然後生成c**執行於乙個處理器上。

esl的乙個較新的部分是現在稱之為高層次綜合(hls)的工具,屬於這一類的工具有mentor的catapultc,auto esl的自動駕駛儀,cadence的c-to-silicon編譯器,forte的cynthesizer,脈衝加速技術的codeveloper,synfora的pico。

這個類的大部分hsl工具使用c/c++/systemc作為起點,但是在這個類中我們應該也包含bluespec,因為儘管它們以完全不同的方式來處理問題,最終他們仍在考慮採取乙個高層次的描述並用它來生成執行級別的rtl。(事實上,cadence的c-to-silicon可以合成門級網表,但我們不要迷失方向,誤入歧途。)

esl的偉大之處在於它的多樣性。乙個經典的例子是人們在tensilica公司以及他們的xtensa可定製處理器,可以被看作是完全不同的球賽。在這種情況下,我們所談論的是乙個可以分析你的c**的工具,然後給您列出乙個自定義處理器架構的選擇,當然這個架構對於執行乙個特定的演算法或者一些演算法的類十分高效。一旦你選擇了最符合你要求的架構,xtensa為處理器生成rtl連同乙個相應的軟體工具鏈。

另乙個esl的「舞台」涉及處理器陣列特徵的晶元。在這種情況下,我想到了mathstar的現場可程式設計物件陣列(fpoas)的arrix系列以及ambric的大規模並行處理器陣列(mppa)。這兩家公司不再遺憾,但在不遠的將來,我認為我們一定會看到更多類似的事情在市場上發生,例如element cxi的元素計算陣列(ecas)。當我們開始考慮這些工具把應用整合到這些平台上的時候,這是我認為這些元件會落入esl領域的理由。

然後我們有了虛擬平台(vps)這個概念,這個平台用來作為架構開發和設計驗證。我們立刻把vps分成兩個不同的組。首先vps主要用來做軟體開發和驗證,這些非常快而且功能準確,但它們幾乎沒有時間的準確性。它們也十分有限的見到內部所發生的事情。(例如,你可以訪問快取的統計資料,確沒有匯流排的統計資料。)一些例子是synopsys的innovator,coware的虛擬平台以及virtutech的simics。

vps的另一類針對架構分析。這是有點慢於「純粹的」vps,但提供了更高階別的硬體時機保真。(我們把這些歸入「功能準確/時間近似」)在這種情況下,對於硬體在匯流排,調停等等所發生的事情,我們有更好的可見性。這方面的例子有mentor的vista架構師,synopsys的chipit自動快速成型系統以及coware的平台架構師。

但是各種不同的形式化驗證又如何呢?它們也落入了esl區域嗎?實際上,我可能說不。這是因為esl的乙個定義是一種表示,表示時鐘不再存在。換一種方式說,時鐘是乙個執行的顯示,當你完成乙個執行時,你將不在esl領域。當然每個規則總有例外,此時,我將把calypto的slec序列分析技術歸類為乙個esl工具。

正如一位業界專家和我說的一樣,就在幾天前我寫了這些話:「esl就像是乙個連點遊戲,問題在於現在雖然我們有眾多的「點」,這些點是有價值而且迅速成熟的工具,在它們之間我們並沒有太多的連線要求。」

作為結尾,讓我好好想想the mathworks的matlab和simulink。

當提到高階別演算法評價和假設分析的時候,這些都是非常有用的工具。但是它們生活在自己的小「泡沫」裡,因為它們生成的c並不是真正的c,你想放入乙個hls流中但通常它沒有足夠的效率直接執行在乙個dsp上。因此,這些工具可能被認為是一些焦急等待合適連線的「點」。正如命運得知,在不遠的將來這些事情可能會發生變化,但就目前而言,我有義務保密……

模擬電子系統的評價和分析方法

當設計完模擬電子電路後,需要從不同角度的方面對其進行評估。主要分為理論分析和儀器測試兩方面。理論分析用來指導實際的模擬電子系統設計和使用儀器對系統的實際測試,而儀器對系統的實際測試的結果反過來又幫助讀者掌握模擬電子技術的理論知識,兩者是相輔相成的關係。1.理論分析方法型別 直流分析 交流分析 瞬態分...

需求未明,進行子系統設計開發

需求無法按時完成,但在時間緊迫情況下,不得不進行下一步開展工作。把整個系統分解子系統,進行單一系統開發。從網路及技術會議中了解到,很多企業已進入元件化開發。我們公司從根本上來說,無法達到這種狀態,但仍需要按這條路子發展,為以後節約成本 開發進度及專案過程化開發進行考慮。元件化的開發,是在某一類業務中...

ES業務監控系統的設計

es告警有2個選擇 1 watcher 2 elastalert 工具早與watcher 這篇文章主要介紹elastalert elastalert是yelp公司開源的一套python2.6寫的報警框架 屬於後來elastic.co公司出品的watcher同類產品 any 只要有匹配就報警 blac...