《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 靜態時序分析在數字集成電路設計中的應用

靜態時序分析在數字集成電路設計中的應用

2008-08-28
作者:黎聲華 鄒雪城 莫 遲

  摘? 要: 介紹了時序分析" title="時序分析">時序分析" title="靜態時序分析" title="靜態時序分析">靜態時序分析">靜態時序分析在數字集成電路設計中的應用,并以100M以太" title="以太">以太網卡芯片設計為例,具體描述了以太網卡芯片設計中的靜態時序分析流程及其時序問題。

  關鍵詞: 靜態時序分析? 100M以太網卡? 數字電路? 約束? 應用

?

  集成電路自誕生以來,正如莫爾定律所預言的一樣,每隔18個月集成度就翻一番。目前的集成電路設計已經由早期的幾十μm減小到0.15μm,進入到了深亞微米級。在器件的特征尺寸降到深亞微米級的同時,器件的物理特性和電學特性也發生了很大的變化。器件本身固有延遲大大減小,而互連線所引起的延遲在整個單元延遲中所占的比例越來越大,因而時序不收斂是深亞微米集成電路設計中最常見的問題。在深亞微米集成電路設計中,傳統的分析方法使前端的邏輯設計與后端的物理設計很難保持一致。在邏輯設計中,仿真分析后功能和時序都正確的網表,卻由于布線設計后芯片空間和連線的限制,造成互連引線延遲與邏輯設計中使用的模型不一致,使得時序不再滿足約束要求,導致邏輯設計和物理設計循環不收斂,從而使設計周期大大加長。因此,傳統的分析方法在復雜的SOC設計面前,顯得無能為力,而成為整個設計流程中的瓶頸。

  在這種情形下,靜態時序分析應運而生,它不僅可以根據設計規范的要求對設計進行檢查,同時還能對設計本身做全面的分析。靜態時序分析是相對于動態時序分析而言的。動態時序分析時不可能產生完備的測試向量,覆蓋門級網表中的每一條路徑。因此在動態時序分析中,無法暴露一些路徑上可能存在的時序問題;而靜態時序分析,可以方便地顯示出全部路徑的時序關系,因此逐步成為集成電路設計簽字認可的標準。

  本文以100M以太網卡芯片的設計為基礎,以靜態時序分析工具PrimeTime為參考工具,以Verilog語言為參考硬件描述語言,探討100M以太網卡芯片設計中的靜態時序分析流程及其時序問題。

1 100M以太網卡的結構

  100M以太網卡是一塊高集成度的快速以太網控制器,它支持IEEE802.3和802.3u協議及PCI v2.2總線接口協議,還支持10M/100M自適應功能。此芯片包括PCI接口模塊、兩個2KB的FIFO模塊、發送DMA控制模塊、接收DMA控制模塊、IEEE 802.3協議規定的MAC模塊和10/100M 集成物理層(PHY)模塊。此外,還提供了EEPROM接口和擴展BootROM接口。從整體來看,它是包含數字電路和模擬電路的混合型集成電路芯片。它采用的是0.25μm工藝,四層金屬層。圖1是該100M以太網卡的結構框架圖。

?

2 100M以太網卡設計的靜態時序分析

  100M以太網卡芯片的時鐘關系如圖2所示。pmapmd是網卡芯片物理層的模擬電路部分,digital是網卡芯片物理層的數字電路部分,core則是指網卡芯片除物理層之外的部分。純模擬模塊pmapmd通過晶振產生五個時鐘:f125m、f20m、f50m、t100rxc、t10rxc,提供給digital;digital提供PRXC、PTXC、clk_10Hz;clk_1kHz四個時鐘給core模塊。pci_clk是外部時鐘,通過PCIPAD提供給digital和core;同時,pci_clk還通過一個PCIbuffer產生一個與pci_clk相位不同但頻率相同的時鐘PADCLK提供給core。

?

  由于該100M以太網卡芯片比較復雜,同時還要滿足一些特殊的功能需要,所以在該網卡的設計過程中存在許多時序分析問題需要解決。首先,該網卡的大部分PAD都是雙向的。在有些模塊中,外部輸入輸出接口的時序限制是參照內部時鐘進行限定的。其次,為了省電,在該網卡內部設有許多選通時鐘(Gate Clock)和內部時鐘,多個時鐘之間的信號連接會帶來相應的麻煩。

  圖3是100M以太網卡靜態時序分析流程圖。

?

2.1?時鐘的定義

  在靜態時序分析中,時鐘的定義是設定限制的最重要的一個步驟,因為靜態時序分析本來就是基于時序進行分析的,而絕大多數的時序路徑的計算又都是以時鐘為基礎的。所謂時鐘定義是指對于設計中所用到的時鐘設定名稱、周期、相位、占空比。在Primetime中用如下命令來實現:

  create_clock -name? [NAME] -period [P] -wave [rising_time falling_time] object_name

  由于100M以太網卡芯片的門數較多,時鐘關系也比較復雜,所以對不同關系的時鐘,定義方法也不一樣。圖4給出三個不同關系的時鐘。

?

  (1)CLK1和CLK2有兩種關系:一種是CLK1和 CLK2來自網卡外部毫無聯系的晶振,其相位關系是不確定的。根本無法通過Primetime正確地檢查它們之間的時序關系,但是可以正確地檢查單獨經過CLK1或是CLK2的路徑的時序。另一種是CLK1和CLK2是頻率不一致的時鐘,例如通過RxDMA控制寫RxFIFO和讀RxFIFO的時鐘頻率是不一樣的,MII通過RxDMA控制寫RxFIFO的頻率為25MHz,而PCI通過RxDMA控制讀RxFIFO的頻率是33MHz。對于這樣的異步設計,一般不是通過Primetime的報告保證其時序關系,而應該在寫代碼時就必須保證該部分的時序關系正確。所以若碰到這種情況,做靜態時序分析時一般要進行如下處理;

  set_false_path -setup-from CLK1 -to CLK2

  (2)CLK3是由CLK1通過組合邏輯產生的,其相移就是這些組合邏輯的延時,經過第一遍綜合之后,該延時便可從時序報告中得出,這樣就可以根據此延時對這兩個時鐘的關系給出正確的設定。在Primetime中,有以下兩種方法可以設定:

一種方法是分別定義時鐘CLK1和CLK3,并將其rising_time、period和占空比設為相同,然后再通過時鐘延時的設定來區分兩者的不同相位。當然時鐘延時的差值應該由所提之的組合邏輯延時決定。

  另一種方法是只定義時鐘CLK1,再用如下命令定義CLK3:

  create_generated_clock -name CLK3 -source? P1 -

  divide_by 1? DFF3/ck

  這樣,在布局布線" title="布局布線">布局布線之后做靜態時序分析時,CLK1被設為propagated_clock, Primetime就可以根據兩時鐘之間的延時關系來算出CLK3的特性(包括時鐘延時、時鐘抖動等),無需再另行推算。而前一方法比較適用于布局布線之前的靜態時序分析,因為這時所有的時鐘都被設為理想的,其時鐘延時、時鐘抖動和時鐘傳輸時間等都是根據實際情況來設定的。只有當源時鐘為propagated_clock時,Primetime才會自動推算CLK3的特性,否則仍需要設置。

2.2 邊界時鐘

  由于100M以太網卡某些模塊涉及到邊界時鐘,所以必須考慮邊界時鐘引起的時鐘延時問題。所謂邊界時鐘是指某模塊的輸入輸出和時序限制是以某個特定的時鐘作基準的,而該時鐘是由外部時鐘分頻得到的。

  但在布局布線之后做靜態時序分析時,并不用費心去計算邊界時鐘引起的時鐘時延,而是把它交給Primetime完成。正如前面所提到的,當源時鐘為propagated_clock時,Primetime會自動計算所生成時鐘的相關延時。

2.3 輸入輸出延時的聲明

  做靜態時序分析時,要根據端口時序圖聲明輸入輸出延時,而不是根據內部延時確定端口時序。下面給出延時聲明和端口時序聲明之間的簡單計算公式。假設時鐘周期為T,時鐘從端口到寄存器的延時是Tx,數據從端口到寄存器的延時是Ty,工藝給定的setup_time是Tsetup,hold_time是Thold,端口時序聲明給出的輸入數據在時鐘采樣沿之前保持有效的最小時間是Tsu,輸入數據在采樣時鐘沿之后保持有效的時間是Tkeep,端口時序聲明給出采樣時鐘沿到輸出數據有效的最長時間是Tdelay。在做靜態時序分析時應保證以下關系成立:

  Tsu+Tx-Ty>Tsetup????????????? (1)

  Tkeep-Tx+Ty>Thold???? ????  (2)

  根據輸入延時和輸出延時的定義和公式(1)和(2),可以得出最大輸入延時是:

  Tinput_delay=T-Tsu????????????(3)

  最大輸出延時是:

  Toutput_delay=T-Tdelay???????? (4)

  根據公式(3)以及圖5的端口時序圖可以定義圖5的最大輸入延時是:

  Tinput_delay=Tclk-q + TM???????(5)

  根據公式(4)以及圖5的端口時序圖可以定義圖5的最大的輸出延時是:

  Toutput_delay=TS+Tsetup????????(6)

?

2.4?時序報告分析

  靜態時序分析是采用窮盡分析方法來提取出整個電路存在的所有時序路徑,計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間" title="保持時間">保持時間是否滿足時序要求,通過對最大路徑延時和最小路徑延時的分析,找出違背時序約束的錯誤。因此分析靜態時序分析的報告是非常必要的。

  下面是以100M以太網卡地址識別邏輯模塊作靜態時序分析時所產生的報告的一部分。

  *******************************************

  Report : timing

??????? -path full

??????? -delay max

??????? -max_paths 1

  Design : ARLcore

  Version: 2000.05-1

  Date?? : Fri Nov 21 15:38:25 2002

  *******************************************

  Startpoint: ARLdp/n_DAValidsN_reg

  (falling edge-triggered flip-flop clocked by TXC)

  Endpoint: ARLsm/Cstate_reg[3]

  (rising edge-triggered flip-flop clocked by TXC)

  ? Path Group: TXC

  ? Path Type: min

?????? Point????????????????????? ?   Incr???  Path

??? ——————————————————————————

  clock TXC (fall edge)?????????????? 5.00?? ?? 15.00

  clock network delay

  (ideal)??????????????????????????? 1.00?? ?? 16.00

  ARLdp/n_DAValidsN_reg

  /CPN (dfpfb1)?????????????????????? 0.00????? 16.00 f

  ARLdp/n_DAValidsN_reg/Q

  (dfpfb1)????????????????????????????0.56????? 16.56 f

  ARLdp/U394/Z (an02d1)? ???????????? 0.25????? 16.80 f

  ARLdp/n_DAValids (ARLdp)?? ???????? 0.00????? 16.80 f

  ARLsm/n_DAValids (ARLsm)?? ???????? 0.00????? 16.80 f

  ARLsm/U260/Z (an04d1)?????????????? 0.27????? 17.08 f

  ARLsm/U294/Z (aor21d1)????????????? 0.27????? 17.34 f

  ARLsm/U291/Z (aor21d1)????????????? 0.30????? 17.64 f

  ARLsm/Cstate_reg[3]/D

  (dfcrq2)???????????????????? ?????? 0.00????? 17.64f

  data arrival time????????????????????? ?????? 17.64

  clock TXC (rise edge)???????? ????? 20.00???? 20.00

  clock network delay

 ?(ideal)???????????????????? ???????? 1.00????? 21.00

  ARLsm/Cstate_reg[3]/CP

 ?(dfcrq2)?????????????????? ????????? 0.00????? 21.00r

  library hold time???????????? ????? 0.50????? 21.50

  data required time?????????????????? ???????? 21.50

 ........................................................

??? ……

  data required time?????????????????? ???????? 21.50

  data arrival time?????????????????????????????-17.64

?? ————————————————————————————

  slack (MET)??????????????????? ?????????????? 3.86

  從報告中可以看出它非常詳細地報告了從Startpoint:ARLdp/n_DAValidsN_reg到 Endpoint:ARLsm/Cstate_reg[3]這條路徑的時序關系,并且這條路徑是滿足保持時間的。

  靜態時序分析在不同階段的側重點是不一樣的。在布局布線前,往往更重視建立時間檢查,而忽視保持時間檢查。如果違背了建立時間,就必須重新優化。至于違背了保持時間,可以通過在布局布線后手工加入一定的延時來解決,在布局布線后,應重點檢查保持時間。

  在100M以太網卡芯片設計中,通過做靜態時序分析,確認了其設計的可靠性,為設計獲得簽字認可起到了保證性的作用。

靜態時序分析是分析、診斷和確認設計的時序特性的方法。它不需要輸入向量就能窮盡所有的路徑,且運行速度很快、占用內存較少,不僅可以對芯片設計進行全面的時序功能檢查,而且還可利用時序分析的結果來優化設計,因此靜態時序分析已經越來越多地被用到數字集成電路設計的驗證中。

?

參考文獻

1 Barual Tuck..Deep Submicron Changes the Face of Verification[J].Computer Design, 1995(10):20

2 Musgrave G etal. User Experience with High Level Formal? Verification. In:ACM Proceedings of the35th Design Automation Conference.San Francisco:ACM,1998:327

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲午夜影视影院在线观看| 亚洲激情中文1区| 国产一区二区三区久久久久久久久| 欧美精品激情在线| 久久综合国产精品| 欧美在线看片a免费观看| 亚洲午夜精品久久久久久浪潮| 亚洲人线精品午夜| 久久精品色图| 亚洲专区在线| 国产日韩在线亚洲字幕中文| 国产精品a久久久久| 欧美久久在线| 欧美精品麻豆| 欧美区二区三区| 欧美激情一区二区三区在线视频观看 | 女人天堂亚洲aⅴ在线观看| 久久九九电影| 久久精品国产91精品亚洲| 欧美一级二级三级蜜桃| 亚洲无毛电影| 午夜精品久久久久久久蜜桃app | 在线看成人片| 精品99一区二区| 在线观看福利一区| 亚洲电影欧美电影有声小说| 亚洲国产1区| 亚洲精品偷拍| 在线视频精品一区| 亚洲视频在线视频| 亚洲欧洲99久久| 久久福利毛片| 亚洲日本电影在线| 久久免费视频在线| 国产精品美女久久久久av超清 | 午夜精品国产精品大乳美女| 亚欧成人在线| 亚洲高清网站| 亚洲免费不卡| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲在线不卡| 久久国产精品一区二区三区| 久久看片网站| 欧美大片免费久久精品三p | 亚洲欧美福利一区二区| 欧美一区二区在线| 久久久久在线观看| 美国十次成人| 欧美日韩精品在线| 国产精品狼人久久影院观看方式| 国产欧美日韩综合一区在线播放| 激情另类综合| 日韩视频中文字幕| 亚洲欧美中日韩| 亚洲韩国日本中文字幕| 一区二区三区国产在线观看| 欧美一区二区日韩| 鲁鲁狠狠狠7777一区二区| 欧美精品一区二区三区蜜桃| 国产精品国产精品国产专区不蜜| 国内成人精品一区| 亚洲人成在线影院| 亚洲欧美综合另类中字| 91久久久久| 亚洲视频999| 久久久夜精品| 欧美少妇一区二区| 国内揄拍国内精品久久| 亚洲精品在线视频观看| 先锋资源久久| 一区二区三区蜜桃网| 久久狠狠亚洲综合| 欧美日韩国产首页在线观看| 国产一区在线播放| 夜夜狂射影院欧美极品| 久久国产88| 亚洲一区三区在线观看| 久久综合999| 国产精品爽黄69| 亚洲日本va午夜在线电影| 午夜国产欧美理论在线播放 | 亚洲成色最大综合在线| 亚洲午夜女主播在线直播| 久久午夜av| 国产精品美女主播| 亚洲高清三级视频| 香港久久久电影| 亚洲视频综合| 欧美极品在线播放| 国产亚洲精品v| 中文在线不卡| 99精品福利视频| 久久久亚洲综合| 国产麻豆91精品| 一本久久综合亚洲鲁鲁| 91久久黄色| 久久久精品国产免大香伊| 国产精品福利网| 亚洲日本欧美在线| 亚洲第一二三四五区| 新67194成人永久网站| 欧美激情一区在线观看| 极品少妇一区二区三区| 欧美一区二区福利在线| 亚洲影院在线| 欧美日韩精品一区二区三区四区 | 亚洲国产成人av在线| 亚洲欧美国产另类| 中文在线不卡| 欧美片网站免费| 亚洲日韩第九十九页| 亚洲欧洲精品一区| 久久久爽爽爽美女图片| 国产亚洲成人一区| 亚洲欧美三级伦理| 午夜精品久久久久久久蜜桃app | 亚洲精品你懂的| 日韩亚洲国产精品| 欧美不卡福利| 亚洲成色精品| 亚洲国产精品久久久久婷婷老年 | 男同欧美伦乱| 亚洲精品久久视频| 久久久久在线观看| 国产综合一区二区| 亚洲看片一区| 一区二区三区四区国产| 欧美日韩国产综合在线| 亚洲精品欧美激情| 亚洲无玛一区| 国产精品久久| 亚洲永久精品国产| 欧美在线视频观看免费网站| 国产日韩在线亚洲字幕中文| 性欧美激情精品| 久久久久久国产精品一区| 狠狠色丁香婷婷综合久久片| 久久国产精品久久久久久久久久 | 久久免费视频在线观看| 激情偷拍久久| 亚洲欧洲精品天堂一级 | 欧美日韩一区成人| 一本色道久久综合亚洲精品小说| 亚洲视屏在线播放| 国产精品久久一级| 亚洲自拍偷拍福利| 欧美在线免费播放| 国产一区二区日韩精品| 亚洲大片在线| 欧美极品影院| 一区二区激情| 欧美一级黄色录像| 国产一区二区观看| 亚洲区中文字幕| 欧美xxx在线观看| 999在线观看精品免费不卡网站| 亚洲一级二级在线| 国产欧美精品在线| 亚洲福利视频网站| 欧美区一区二区三区| 亚洲一区二区三区国产| 久久五月天婷婷| 日韩视频精品| 久久爱www久久做| 亚洲第一区在线观看| 亚洲一区图片| 经典三级久久| 亚洲伊人久久综合| 国产一区二区三区久久| 日韩视频在线一区| 国产精品综合色区在线观看| 亚洲国产日韩在线| 国产精品s色| 亚洲国产高清在线观看视频| 欧美性大战久久久久久久蜜臀 | 亚洲精品韩国| 国产精品免费观看在线| 亚洲电影欧美电影有声小说| 欧美日韩国产不卡| 亚洲欧美偷拍卡通变态| 欧美成人有码| 激情成人亚洲| 欧美亚洲日本网站| 欧美国产日韩精品免费观看| 亚洲一区日韩在线| 久久资源av| 亚洲天堂成人| 香蕉久久一区二区不卡无毒影院 | 亚洲黄网站在线观看| 亚洲一区二区三区在线| 国产日韩精品久久| 亚洲视频在线一区观看| 国产日产欧美一区| 亚洲系列中文字幕| 亚洲成色精品| 久久久久久亚洲精品中文字幕| 夜夜夜精品看看| 欧美国产精品日韩| 欧美在线视频日韩| 欧美日韩一卡|