• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      數(shù)字集成電路時序優(yōu)化策略

      2014-09-17 12:32:00陳獻(xiàn)鋒白雪飛
      通信技術(shù) 2014年5期
      關(guān)鍵詞:違例寄存器時序

      陳獻(xiàn)鋒,白雪飛,方 毅

      (1.中國科學(xué)技術(shù)大學(xué)電子科學(xué)與技術(shù)系集成電路實(shí)驗(yàn)室,安徽合肥230027;2.中國科學(xué)技術(shù)大學(xué) 信息學(xué)院23系,安徽合肥230027)

      0 引言

      伴隨著數(shù)字芯片進(jìn)入超深亞微米工藝并且尺寸還在不斷縮小,以及現(xiàn)代高速通信系統(tǒng)數(shù)據(jù)吞吐量的不斷增大,數(shù)字芯片的工作頻率越來越高,數(shù)據(jù)位寬也越來越大。但芯片內(nèi)部的各種復(fù)雜的功能,如龐大的加減乘除運(yùn)算,給芯片造成了很大的片內(nèi)延遲,這就極大的限制了芯片的最高工作頻率。同時集成電路尺寸縮小瓶頸的限制和復(fù)雜度的高速提升,時序必然成為令電路工程師頭疼的問題。如何在既滿足功能實(shí)現(xiàn)的情況下,實(shí)現(xiàn)數(shù)字芯片的時序收斂,將是數(shù)字電路工程師在面對復(fù)雜數(shù)字電路時能否順利流片的一個關(guān)鍵。

      1 前端RTL代碼優(yōu)化

      1.1 硬件角度的編碼思想

      在RTL代碼的編寫過程中,實(shí)時考慮硬件資源的結(jié)構(gòu),通過代碼不同風(fēng)格的變換,選擇延遲較小的代碼編寫方式。例如功能相同的式(1)和式(2)就分別對應(yīng)圖1(a)和圖1(b)兩個不同延時的電路。

      圖1 不同代碼編寫方式所對應(yīng)的門級電路Fig.1 Different coding styles and their corresponding gate level circuit

      1.2 流水線技術(shù)

      某些實(shí)現(xiàn)復(fù)雜功能的組合邏輯電路級數(shù)很多,延遲很大,這樣就使整個系統(tǒng)不能運(yùn)行在很高的頻率上。對于很多這樣的情況,可以采用流水線技術(shù)以大幅度提高系統(tǒng)運(yùn)行速率。

      在數(shù)字電路設(shè)計中,流水線設(shè)計是指把規(guī)模較大、層次較多的組合邏輯電路分為幾個級,在每一級插入寄存器組暫存中間數(shù)據(jù)。這樣就把原來在一個周期內(nèi)執(zhí)行的較為復(fù)雜的操作分成幾步較小的操作,并在多個較高速的時鐘內(nèi)完成。

      對于電路結(jié)構(gòu)可以比較明確劃分層次的復(fù)雜組合邏輯電路比較適合用流水線技術(shù),以縮短寄存器間的延遲,實(shí)現(xiàn)運(yùn)行速度的提升。常見的流水線設(shè)計有流水線CPU、加/乘法器以及DSP中的多種變換[1]。流水線設(shè)計的代價是增加了寄存器邏輯以及系統(tǒng)復(fù)雜度。

      1.3 并行結(jié)構(gòu)

      當(dāng)一個串聯(lián)邏輯估值函數(shù)可以分解和并行地估值時,可將該函數(shù)拆分為更小的獨(dú)立操作,然后再重新組合它們[2]。例如,一個64位的乘法器可以拆分為3個32位的乘法器:

      X={H,L}

      X是一個64位操作數(shù),H為高 32位,L為低32位。因此,64位的乘法可拆分為:

      SUM=X1*X2={H1,L1}*{H2,L2}=

      {(H1*H2),(H1*L2+H2*L1),(L1*L2)}

      由此就把64位乘法器轉(zhuǎn)換為32位的乘法器和加法器(若為冪運(yùn)算則可簡化為一次移位操作)的結(jié)合。隨著位數(shù)的減半,即可大大縮短延遲路徑,改善電路時序。

      1.4 寄存器重定時

      寄存器重定時是指在保持系統(tǒng)的功能不變的前提下,平等地重新分布寄存器之間的邏輯,減少任何兩個寄存器之間的最壞延遲。在RTL代碼中人為手動地均衡寄存器間的邏輯,這種方法在關(guān)鍵路徑和相鄰路徑之間邏輯高度不平衡時是一種比較有效的方法。

      2 邏輯綜合優(yōu)化

      2.1 邏輯綜合概述

      邏輯綜合(Logic Synthesis)是指數(shù)字電路由高抽象級描述,經(jīng)過布爾函數(shù)化簡、優(yōu)化后,轉(zhuǎn)換到的邏輯門級別的電路連線網(wǎng)表的過程。ASIC設(shè)計中普遍使用的綜合工具是 synopsys公司的 Design Compiler(DC)和Cadence公司的RTL Compiler。以DC為例,有了以硬件思想優(yōu)化過的代碼后,首先要編寫設(shè)計的時序約束腳本,對設(shè)計進(jìn)行合理的約束,但不要過約束。綜合工具根據(jù)設(shè)計人員編寫的時序約束文件對RTL代碼進(jìn)行翻譯、優(yōu)化、門級映射后得到門級網(wǎng)表,并給出時序報告。在時序報告中,若時序得不到滿足,對于一般的設(shè)計,時鐘周期10%的時序違例一般是可以通過綜合工具將其優(yōu)化掉的。文獻(xiàn)[3]也給出了一些常用的時序優(yōu)化方法。

      2.2 DC的基本優(yōu)化

      首先根據(jù)時序報告找到時序關(guān)鍵路徑,查看關(guān)鍵路徑造成延遲的主要原因。對于路徑中延遲很大的器件,如果不是必須用到,可在綜合約束腳本中使用set_dont_use命令將其禁用以使用其他器件或組合電路替代,并重新綜合并查看關(guān)鍵路徑時序違例是否得到改善。然后通過使能compile命令的-map_effort high選項(xiàng),DC會將關(guān)鍵路徑返回邏輯層次重建和重新映射,反復(fù)迭代優(yōu)化[4]。同時可以通過控制DC的compile命令中的選項(xiàng)來達(dá)到深度優(yōu)化。該命令可通過選擇以下選項(xiàng)優(yōu)化時序:

      1)邊界優(yōu)化[4](boundary_optimization),DC 的邊界優(yōu)化是指跨module對設(shè)計進(jìn)行優(yōu)化,可優(yōu)化掉模塊的常數(shù)輸入邏輯、無連接的pin、模塊間直接連接的邏輯器件,一些信號的名字同時也會丟失。因此除了要保留做驗(yàn)證的模塊外,可通過set_boundary_optimization命令選擇時序緊張的模塊進(jìn)行邊界優(yōu)化。

      2)自動取消模塊組合[4],通過-auto_ungroup delay選項(xiàng),該選項(xiàng)通過采取智能取消模塊組合策略來嘗試改善總體時序。此選項(xiàng)著重優(yōu)化包含關(guān)鍵路徑或極可能成為關(guān)鍵路徑的模塊組合。

      2.3 綜合中的寄存器重定時

      對于高性能、時序緊湊的設(shè)計,可使用DC工具的compile_ultra命令,該命令對關(guān)鍵路徑的優(yōu)化提供了相對簡單的方法。該命令的-retime選項(xiàng)可調(diào)節(jié)寄存器前后邏輯以減小總的時序違例[4]。與RTL代碼優(yōu)化中的寄存器重定時功能類似,如圖2所示。

      圖2 邏輯綜合中的寄存器重定時Fig.2 Retiming in logic synthesis

      2.4 用戶自定義Path Groups

      在邏輯綜合中,DC根據(jù)捕獲時鐘將各時序路徑歸進(jìn)不同的path group,并在不同的path group中從各組的關(guān)鍵路徑開始優(yōu)化。通過report_path_group命令可以查看在設(shè)計中定義了哪些path groups。默認(rèn)情況下,當(dāng)在一個path group中的所有路徑都滿足時序或者該path group中關(guān)鍵路徑的時序不能再進(jìn)一步提升了,就不會再對該path group進(jìn)一步優(yōu)化了。然而在實(shí)際設(shè)計中,次關(guān)鍵路徑往往是和關(guān)鍵路徑是邏輯交疊或邏輯相關(guān)的,次關(guān)鍵的路徑得到優(yōu)化后往往會使關(guān)鍵路徑的時序得到很大改善。甚至有時關(guān)鍵路徑的時序并非是系統(tǒng)必要滿足的,然而卻導(dǎo)致其他重要的次關(guān)鍵路徑的時序得不到滿足。而且越少的時序違例對于后端布局布線對時序的優(yōu)化來說也更容易實(shí)現(xiàn)時序收斂。此時,我們就希望DC對次關(guān)鍵路徑進(jìn)行優(yōu)化。首先,可通過用戶自定義path group,將不同的路徑按類別分別定義不同的path group進(jìn)行優(yōu)化。例如,可按輸入、輸出和組合邏輯分組:

      以上分組后,會分別對所有的輸入、輸出及純組合邏輯三部分進(jìn)行優(yōu)化,而不會僅僅按照系統(tǒng)時鐘對設(shè)計進(jìn)行分組優(yōu)化。其次,還可通過group_path命令的-critical_range選項(xiàng)對path group中的次關(guān)鍵路徑進(jìn)行優(yōu)化。該選項(xiàng)后面需要指定一個非負(fù)數(shù)值,默認(rèn)值為0,表示只對關(guān)鍵路徑進(jìn)行優(yōu)化。若設(shè)置為0.2,則表示時序違例在關(guān)鍵路徑時序違例值20%以內(nèi)的路徑均會被優(yōu)化。如果要所有路徑均得到優(yōu)化,則將該值設(shè)置得非常大即可,但同時會增加優(yōu)化時間。一般該值設(shè)置在時鐘周期的10%以內(nèi)。此外,還可通過-weight選項(xiàng)對path group設(shè)置權(quán)值以改變其優(yōu)化的優(yōu)先級,該值的范圍為0到100。權(quán)值乘以關(guān)鍵路徑的時序違例值即得到path group的路徑花費(fèi),花費(fèi)越大的 path group的優(yōu)先級別越高。

      2.5 Topographical模式

      在復(fù)雜、高頻的超深亞微米及以下的數(shù)字電路設(shè)計中,線延遲已成為主要的延遲之一,而且常用的線載模型(WLM)的延遲計算和版圖信息沒有相關(guān)性,因此造成了時序違例和布線沖突的不可預(yù)見性,導(dǎo)致布線工具為優(yōu)化時序進(jìn)行過多的迭代甚至達(dá)不到時序收斂。對于此類設(shè)計,如果一次綜合后或布局布線后還存在很大的時序違例,可采用DC的topographical模式。該模式首先對設(shè)計做一個預(yù)布局,隨后可根據(jù)虛擬走線的信息計算走線的延遲,得到一個與物理版圖相關(guān)的相對真實(shí)的延遲信息,使得綜合優(yōu)化的結(jié)果更容易在布局布線時實(shí)現(xiàn)時序收斂。該模式主要包括兩個步驟[5]:

      第一步,利用整個設(shè)計的 RTL代碼在DC的topographical模式下(top-down或 bottom-up)生成一個全設(shè)計的網(wǎng)表,然后再用該網(wǎng)表和時序約束文件、物理庫文件在IC Compiler中進(jìn)行層次化的布局,最后得到整個芯片的一個初始布局信息。過程如圖3 所示[5]。

      圖3 從RTL到floorplan流程Fig.3 Flow from RTL to floorplan

      第二步,利用第一步得到的描述芯片布局信息的物理約束文件和設(shè)計網(wǎng)表、時序約束文件、物理庫文件再綜合,即得到了與芯片布局布線信息相關(guān)的邏輯綜合結(jié)果[5]。

      2.6 優(yōu)化結(jié)果查看

      以上優(yōu)化后會自動生成一個default.svf文件,可通過查看該文件以及對比前后綜合報告,查看以上優(yōu)化選項(xiàng)相應(yīng)的對設(shè)計做了哪些優(yōu)化。

      3 結(jié)語

      文中重點(diǎn)討論了數(shù)字集成電路設(shè)計從RTL代碼到邏輯綜合過程中時序優(yōu)化的幾種最主要的方法。根據(jù)不同的設(shè)計,靈活地運(yùn)用各種時序優(yōu)化方法對電路進(jìn)行深入優(yōu)化,可節(jié)省大量的芯片開發(fā)時間并得到穩(wěn)定可靠的芯片。此外,在芯片物理設(shè)計階段,通過更改器件尺寸、插入buffer和spare cell、手動調(diào)整路徑等方法也可極大減少芯片時序違例情況??傊谏钊肜斫庑酒瑫r序的概念后,并以底層電路對應(yīng)具體算法的思想去優(yōu)化,才能快速準(zhǔn)確地實(shí)現(xiàn)芯片時序的最優(yōu)化。

      [1] 王亞春,蔡德林,張夢龍,等.流水線CORDIC算法的FPGA 實(shí)現(xiàn)[J].通信技術(shù),2010,43(11):169-170.WANG Ya-chun,CAI De-lin,ZHANG Meng-long,et al.The FPGA Implementation of Pipeline CORDIC Algorithm[J].Communications Technology,2010,11(43):169-170.

      [2] Steve Kilts.高級 FPGA設(shè)計:結(jié)構(gòu)、實(shí)現(xiàn)和優(yōu)化[M].孟憲元,譯.北京:機(jī)械工業(yè)出版社,2009:6-8.Steve Kilts.Advanced FPGA Design:Architecture,Implementation,and Optimization[M].MENG Xianyuan,Translated.Beijing:China Machine Press,2009:6-8.

      [3] 張佾.超大規(guī)模數(shù)字集成電路的時序分析與優(yōu)化[D].上海:復(fù)旦大學(xué),2008.ZHANG Yi.Timing Analysis and Optimization of Very Large Scale Digital Integrated Circuit[D].Shanghai:Fudan University,2008.

      [4] Synopsys CO.,LTD.Design Compiler User Guide(Version H-2013.03)[M].USA:Synopsys,2013:210-237,287-376.

      [5] Synopsys CO.,LTD.Hierarchical Flow Support in Synopsys Design Compiler Topographical Mode Application Note(Version A-2007.12-SP2)[M].USA:Synopsys,2008:12-26.

      猜你喜歡
      違例寄存器時序
      基于時序Sentinel-2數(shù)據(jù)的馬鈴薯遙感識別研究
      中小學(xué)生籃球比賽中違例情況的問題分析與執(zhí)裁要點(diǎn)
      基于Sentinel-2時序NDVI的麥冬識別研究
      清代補(bǔ)服紋樣使用的違例現(xiàn)象與懲處
      Lite寄存器模型的設(shè)計與實(shí)現(xiàn)
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      一種毫米波放大器時序直流電源的設(shè)計
      電子制作(2016年15期)2017-01-15 13:39:08
      DPBUS時序及其設(shè)定方法
      河南科技(2014年15期)2014-02-27 14:12:36
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      一種可重構(gòu)線性反饋移位寄存器設(shè)計
      平陆县| 安福县| 长武县| 延边| 闸北区| 琼结县| 庆安县| 柞水县| 多伦县| 鄱阳县| 龙海市| 略阳县| 陕西省| 彰化县| 正镶白旗| 容城县| 应城市| 彰化市| 长武县| 黄山市| 洛隆县| 木里| 甘洛县| 泗阳县| 福鼎市| 石门县| 永善县| 凤山县| 龙陵县| 施甸县| 钟祥市| 雅安市| 阿瓦提县| 英吉沙县| 富民县| 大同县| 盐边县| 虎林市| 遂昌县| 喀什市| 石阡县|