Global Sources
電子工程專輯
 
電子工程專輯 > EDA/IP
 
 
EDA/IP  

實現OLA格式解決EDA設計時序收斂問題

上網時間: 2001年11月25日     打印版  Bookmark and Share  字型大小:  

關鍵字:OLA  EDA  SYNTHESIS  DSM  SDF file 

時延是深次微米(DSM)設計中產生收斂性問題的關鍵。本文將介紹在EDA設計中時延的產生以及開放庫應用程式介面(OLA)的作用,OLA可以為所有的EDA工具提供精確的時延資訊,並有助於解決信號完整性問題。

如果設計工程師採用基於‘最低可靠性’的時延估算模型工具,在深次微米(DSM)設計中將產生收斂性問題。這些模型有兩個目的:

  1. 確保設計模擬快速執行;
  2. 在EDA軟體工具之中用來表徵每一個硬體連接的時延資訊。

硬體設計進度時間長短以及硬體設計周期反覆次數(衡量設計過程的效率)主要由實際的情況決定。這話聽起來有點難於理解,但是仔細想想是有道理的。對實際情況進行最終測量既真實又模型化,這對於設計時序和每一個EDA工具的每個輸出交付來說都是必須的。解決DSM收斂性問題的唯一辦法是在設計過程的每一個階段都設置保護段,從而確保約束條件比實際生產所必需的更嚴格,並採用最好的EDA工具集。設計工程師只關心IC能否準確地工作,因此採取怎樣的方式來計算時延並向設計工程師提供真實的結果將是一個問題。具有過渡保護段的設計工具之間的一致性並不是解決這個問題的辦法,特別是當它給設計工程師的結果不正確的時候。

同時,另外一個問題是如何構建一個框架,在這種框架下EDA工具商能獨立於面向不同λ規則技術的時延計算公式,採用相同的工具結構。OLA提供實現這種要求的可能方法。OLA是一種標準,它能提供準確的時延資訊並且為EDA工具提供一種準確的庫格式,而且這種方法是可行的。更深入了解,OLA還代表以下幾點:

  1. 開放性。一個唯一的庫格式對於每個工具來說都是有利的。
  2. 庫仍然用綜合工具來選擇驅動單元,而模擬工具則藉由存取調用來得到時延。
  3. 在應用程式介面(API)內將時延、功率和信號完整性演算法整合在一起。當一些重要的參數已知時,可以根據這些參數計算出實際的時延。這種計算方法接近模擬器的結果並允許加入信號完整性演算法。EDA工具使用OLA中的這種演算法是庫供應商提供的一個選項。

時延問題

EDA工具業界普遍都採用分段線性的方法來解決數位時延計算的問題,但是隨著幾何尺寸進一步變小就需要一種新的演算法,目前的製程水平在0.18微米左右,考慮信號完整性問題時,還需要其它的演算法。EDA業界普遍採取從一個編譯好的庫模型中的查尋表來估算閘時延的方法,這種最小計算時間策略需要得到改進。

基本的EDA設計工具結構是將採用特定資訊格式表示的設計與目標加工製程單元庫之間的電子描述分開,後者由合成工具和模擬工具而產生,並且以庫資訊格式的方式來表示,比如Synopsys的.lib格式。佈爾邏輯規範的形式、暫存器、匯流排連接以及時鐘樹構成了這些設計資訊格式。TTL數據手冊製造單元的製程資訊組成了該庫的資訊格式,其中包括兩個主要的部份:矽晶片供應商提供的閘(兩輸入和四輸入的與非閘,而不是三輸入和五輸入的與非閘)和暫存器(具有同步復位的D觸發器),還有時延和驅動資訊。

矽晶片行業曾經探討為每一個EDA工具提供不同格式的庫資訊數據庫的必要性問題。每一個EDA廠商都提出了各自特有的格式,而且每一個EDA廠商對於構成一個製程參數也都有各自想法。基於Synopsys的.lib格式的標準化有助於解決這種不一致問題。然而,佈局佈線後計算驅動閘上負載的有效電容和互聯時延以及信號變化時,.lib格式對於每一個工具中不同的時延計算器(分析引擎)會產生不一致問題。

今天EDA工具業界必須決定選用哪種時延演算法。以前,我們認為邏輯閘才會產生傳輸時延而連接線不會。現在看來這很明顯是不正確的,但這種思想在以前並沒有引發什麼問題,但是連接線和相連的邏輯閘輸入增加了閘電路電容。人們藉由在閘時延的查找表模型中加入表徵連線時延的第二分量,有效地解決了線時延的問題。模擬器藉由設計資訊知道有關連接的情況,而EDA工具執行傳輸單元時延的庫資訊格式查表。我們要求每一個工具供應商藉由使用SDF文件增加某些類似於連線時延這樣的資訊從而加強工具的一致性。我們使用SDF文件來加強工具之間的一致性,但是準確性並沒有得到增加。

隨著製程向更精細方向發展,以前的概念不再適用。問題仍然是邏輯時延分量的基本屬性---從一個邏輯閘沿一個信號連接線再到另一個邏輯閘---隨著最小解析尺寸(λ)的進一步縮減而改變。

藉由倒推最基本的電子工程方程式,可以改進邏輯閘時延的計算以及信號完整性問題。邏輯閘由電晶體組成,信號連接線由電阻和電容組成並且連接到負載,而負載具有一定的電容。SPICE模型較好地定義了這種實際情況:

=====================================

T = RC Ln((Vss-Vi)/(Vss/Vf))

T = RC Ln((Vss-Vi)/(Vss/Vf))

R=傳輸閘和連線電阻

C=邏輯閘、負載和連線電容

Vss=穩態電源電壓

Vi=完成初始化條件下負載閘電壓值

====================================

表1:邏輯閘由電晶體組成,信號連接線由電阻和電容組成並且連接到負載,而負載具有一定的電容。

Vf=最終的負載閘邏輯傳輸閾值電壓,N溝道增強CMOS是0.2Vdd,而P溝道增強CMOS是0.8Vdd。

上面這些情況並沒有包含一些其它的實際因素,如緊湊的連接線之間存在容性和感性耦合,這樣會使得Vf成為時間的函數。現在,這個問題是一個需要單獨考慮的信號完整性問題。同樣的,長導線在傳輸高速的數據時存在特徵阻抗。在源端或者負載端阻抗不匹配時,電磁波會沿著信號線來回多次反射,影響接收閘電路的邏輯變換。在1GHz的時鐘頻率下的時延是x*T而不是T,這?x是一個奇數。

將來還會有其它信號完整性方面的問題(階梯信號的上升/下降沿)。隨著製程尺寸越來越小,以前一些可以忽略的因素開始產生很大的影響,單獨處理這些問題有可能並不是一種可取的辦法,.lib格式也不能適應這種新出現的情況。

OLA可以解決DSM設計中的收斂問題

用數位電路EDA模擬工具來逼近類比模擬的實際情況具有一定困難。必須採用編譯好的製程目標單元庫模型的方式來實現,以消除類比模擬器執行時間並解決信號完整性問題。

另外,OLA可以為所有的EDA工具提供精確的庫資訊,而無需SDF文件(見圖1)。這樣,每一個工具都可以得到正確的時延和信號完整性。將來當EDA工具公司實現OLA後,設計工程師藉由這樣的工具可獲得在±3%範圍之內的準確時延資訊。

而設計工程師可能會發現在設計中存在時延誤差較大的問題。因此,由於RTL結構不好,設計工程師需要重新思考其設計,而且越早進入設計過程(第一個設計周期)越好。如果設計工具自動返回到綜合階段,並修正有問題的網路且不用麻煩設計工程師就更好。

儘管IC設計的進度趨向於線性分佈,而實際的設計卻並非如此。在設計中可能會有很多的反覆,這種反覆會產生在佈局之後,同樣也會產生在細致的佈線之後。設計工程師甚至可能不得不重新定義RTL設計的要求。目前對於這種狀況並沒有更好的辦法。由於設計反覆的次數越多,最終的設計結果會更好(見圖2)。

OLA特別適合這樣的工作,主張設計工具執行這種反覆,甚至返回到問題網路的最初的綜合階段,這種工作在工具內部實現而不用設計工程師的干預,設計工程師實際上只察覺到較少的設計反覆。對於一個失敗的RTL結構,OLA甚至可以返回到功能編譯器級,加入在RTL失敗結構中發現的一些反饋約束條件,再執行反覆設計。

硬體設計中的合成工具類似於軟體開發中的匯編語言工具,它能夠防止人們因不能記住太多的細節而出錯。OLA藉由實現時序的正確分析對此進行了改進,甚至當製程改變後仍然可行。OLA允許返回到綜合階段來解決有問題網路的結構缺陷。

在熟悉了如何規定結構和約束條件以及在更高的設計層次上進行考慮後,OLA能實現在佈局後和佈線後的新發現約束條件的反饋。藉由使用詳細佈線後的反饋,OLA實現了在硬體設計中採用高級語言工具。OLA讓結構層工具可以解決過去的RTL Verilog規範不能正常工作的問題,並且為設計工程師提出可能的解決方法建議。這是一個需要設計工程師手工干預的過程,對於幫助修改這種有缺陷的RTL設計來說同時也是一個新的而且較容易的過程。對於這樣的問題,RTL設計合成工具不可能重新構建滿足正確時序的結構。現在已經出現這種情況,這會導致設計進度更慢長,OLA實現了解決這種問題的更高效方案。

我們發現功能編譯器的一些功能特點,可以採用已建立的最小設計或最快速設計。最小的設計包括:1個複雜的數位乘法器、1個乘法器、1個加法器和7個時鐘;最快的設計包含:2個乘法器、2個加法器和5個時鐘。

一個OLA實例

圖3所示為主從式上升沿觸發D觸發器,其輸出Q連接到一個邏輯閘模組‘Sarah’(為簡單起見,用一個閘符號表示),邏輯閘模組‘Sarah’的輸出再連接到其它兩個規範的邏輯閘模組‘George’和‘Harry’(為簡單起見,每個邏輯閘模組用一個閘符號表示),Harry連接到下一級觸發器的D輸入端。所有的閘電路有共同的時鐘,為了簡化,假定在時鐘產生電路上沒有相位變化。

不考慮第一個D觸發器的建立時間和保持時間,考慮從第一個D觸發器的時鐘上升沿到第二個D觸發器的時鐘上升沿之間的時間。信號從第一個D觸發器輸出Q,沿連接線傳到‘Sarah’,再藉由‘Sarah’沿連接線傳到‘Harry’(也可考慮信號從‘George’的情況),藉由Harry,再到第二個D觸發器。在這個傳輸過程中存在時延,同時還有建立時間,在滿足這些時延條件下還會有多少時間餘量呢?OLA的作用就是控制這種計算並利用計算資訊完成下面的工作。這就是佈局後處理、佈線後處理和簽收。

時延是藉由一連串的調用和回調而得到的計算值,由堆棧類型數據結構的評估得到。應該強調的是這種回調機制在計算方式上不同於子程式調用,子程式的調用要求子程式所需的所有參數值在執行時都必須傳遞給子程式。如果應用程式或者庫檢測到某些資訊會經常調用到的話,那些計算結果資訊就會被儲存起來,這樣再需要時就不必重新計算。

EDA工具的設計中有一個基本的折衷策略,即‘快速執行和得到最好的計算結果’。β測試顯示出某些有趣的極端結果,出現了‘OLA比SDF方式執行慢8倍’和‘OLA比SDF方式執行快10倍’的測試結果,經檢查都是用戶使用不當造成的問題。實際情況是,時延必須在某些工具中計算。如果畫一個圓圈來包括計算工具以及被修改的文件,則由於反覆設計必然不能正確包容所有的情況,然後同OLA工具相應的性能進行比較,你會發現在性能方面不會有太大的差異。

標準的問題解決方法

建立一種庫格式對於IC設計公司是有利的,這種庫格式可以用在需要支援這種格式的所有工具中。理想情況下,同樣的庫在各種不同的設計流程層次上支援所有工具,包括在結構級和暫存器轉移級的綜合、單元選擇、佈局與佈線以及驗証。所提供的時序和功耗數據,在設計的不同階段,不同EDA工具所使用的時序分析工具之間具有一致性,這樣就減少了所需要的手工設計,因而極大地縮短了設計時間。

OLA模型中的庫數據和計算程式已藉由編譯。它們提供對大量的巨集和內核等知識產權(IP)的保護,這使得面向市場的IP設計成為可行,維護了設計的所有權。時延計算和庫整合在一起,這樣,就消除了不同EDA工具使用該庫的過程中,時延計算演算法的差異而導致的混淆和錯誤。庫是一個可執行的模型,可以使用授權協議,比如FLEXlm(www.globetrotter.com)支援的使用授權,對單元、內核甚至時延或信號完整性演算法的存取進行限制。

OLA方法可以解決許多重要的設計問題,如‘有沒有任何靜態或者動態的競爭產生,或者下一個階段的設計工具會不會插入衝突?如果這樣,我們能不能將這些帶回到綜合階段去解決結構方面的問題而不用麻煩設計工程師?’解決這些問題將在解決DSM設計的收斂性問題上邁出一大步。

作者:Keith Peshak

高級技術專家

Silicon Integration Initiative公司





投票數:   加入我的最愛
我來評論 - 實現OLA格式解決EDA設計時序收斂問題
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首