日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

綜合約束在SoC設(shè)計(jì)中的應(yīng)用

出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-04 17:30:33

  摘要: 介紹了約束設(shè)置與邏輯綜合在SoC設(shè)計(jì)中的應(yīng)用,并以一款SoC芯片ZSU32的設(shè)計(jì)為例,詳細(xì)討論了系統(tǒng)芯片的約束設(shè)置與邏輯綜合策略。

  目前,系統(tǒng)芯片SoC成為了超大規(guī)模集成電路設(shè)計(jì)的發(fā)展趨勢(shì),其集成度高、功能復(fù)雜、時(shí)序要求嚴(yán)格。SoC設(shè)計(jì)不可缺少邏輯綜合,它是將抽象的以硬件描述語言所構(gòu)造的模型轉(zhuǎn)化為具體的門級(jí)電路網(wǎng)表的過程。芯片性能直接受邏輯綜合的質(zhì)量影響,因而在綜合過程中必須根據(jù)設(shè)計(jì)要求對(duì)時(shí)序、面積和功耗方面設(shè)置正確的約束。

  中山大學(xué)ASIC設(shè)計(jì)中心自主開發(fā)了一款系統(tǒng)芯片ZSU32。ZSU32以Synopsys公司的Design Compiler為綜合工具,本文對(duì)SoC芯片的流程和方法進(jìn)行了綜合設(shè)計(jì),重點(diǎn)詳細(xì)討論了綜合過程的時(shí)序約束,提出了有效的設(shè)置方案。

  Synopsys是為集成電路設(shè)計(jì)提供電子設(shè)計(jì)自動(dòng)化(EDA)軟件工具的主導(dǎo)企業(yè)。為電子市場(chǎng)提供技術(shù)先進(jìn)的IC設(shè)計(jì)與驗(yàn)證平臺(tái),致力于復(fù)雜的芯片上系統(tǒng)(SoCs)的開發(fā)。同時(shí),Synopsys公司還提供知識(shí)產(chǎn)權(quán)和設(shè)計(jì)服務(wù),為客戶簡(jiǎn)化設(shè)計(jì)過程,提高產(chǎn)品上市速度。
  1 時(shí)序約束原理

  大多數(shù)集成電路系統(tǒng)一般都選擇同步電路。因?yàn)橥诫娐肪哂泄ぷ魈匦院?jiǎn)單、步調(diào)明確、抗干擾能力強(qiáng)等一系列特點(diǎn)。而同步電路的缺點(diǎn)在于所有的時(shí)序元件只受控于一個(gè)特定的時(shí)鐘,所以滿足一定的約束的數(shù)據(jù)傳播才能保持與時(shí)鐘信號(hào)步調(diào)一致。

  圖1是一個(gè)典型的局部路徑,它需要滿足兩方面的條件:防止數(shù)據(jù)太遲到達(dá)目的寄存器導(dǎo)致數(shù)據(jù)不能正確保存;防止新的數(shù)據(jù)過早到達(dá)導(dǎo)致覆蓋了前一數(shù)據(jù)。

  設(shè)置建立時(shí)間(setup time)約束可以滿足個(gè)條件:

  2 ZSU32系統(tǒng)芯片的結(jié)構(gòu)

  作為CPU的ZSU32芯片內(nèi)置32bit MIPS體系處理器,具備兩路獨(dú)立的指令和數(shù)據(jù)高速緩存,CPU內(nèi)部有獨(dú)立的DSP協(xié)處理器和浮點(diǎn)協(xié)處理器,同時(shí)集成了LCD控制器、MPEG硬件加速器、AC97控制器、SRAM控制器、NAND Flash控制器、SATA高速硬盤控制器、以太網(wǎng)MAC控制器等,并具有多種接口模塊。圖2是ZSU32的總體結(jié)構(gòu)。

  3 ZSU32系統(tǒng)芯片的約束設(shè)置與邏輯綜合

  采用Design Compiler工具對(duì)ZSU32進(jìn)行邏輯綜合的基本流程如圖3所示。

  ZSU32系統(tǒng)芯片的綜合采取先局部后整體的自底向上策略。先將當(dāng)前工作層次設(shè)置為系統(tǒng)芯片的某個(gè)子模塊,然后對(duì)該子模塊添加各項(xiàng)具體約束,接著完成子模塊的綜合。依次對(duì)各子模塊重復(fù)上述綜合流程,當(dāng)各個(gè)模塊都順利通過了初次綜合后,通過set_dont_touch_network命令將模塊中的關(guān)鍵路徑和時(shí)鐘線網(wǎng)保護(hù)起來,然后做全局優(yōu)化,檢查時(shí)序等各方面的設(shè)計(jì)要求是否都得到滿足,達(dá)到要求就能輸出終的網(wǎng)表和各項(xiàng)綜合。

  3.1 設(shè)定工藝庫和參考庫

  設(shè)置Design Compiler運(yùn)行所使用的庫:目標(biāo)庫(target_library)、鏈接庫(link_library)、可綜合庫(synthetic_library)、符號(hào)庫(symbol_library)。其中的目標(biāo)庫中包含了標(biāo)準(zhǔn)單元庫、RAM單元庫、I/O單元庫、PLL單元庫等,一般是由芯片代工廠家提供。系統(tǒng)芯片ZSU32采用的是中芯國際的0.18μm CMOS工藝庫,所以在設(shè)置時(shí)就把目標(biāo)庫指向該工藝庫。

  #設(shè)置目標(biāo)工藝庫

  set target_library SMIC.db

  3.2 讀入RTL設(shè)計(jì)與設(shè)置工作環(huán)境

  讀入RTL設(shè)計(jì)通常有自頂向下或者自底向上2種方式。因?yàn)閆SU32模塊眾多,所以采用自底向上的讀入方式。首先讀入各個(gè)子模塊,并分別編譯;然后更改層次,編譯上一層的模塊;會(huì)合成整個(gè)系統(tǒng)。

  讀入設(shè)計(jì)后,首先設(shè)置芯片的工作環(huán)境,根據(jù)采用的工藝庫提供的環(huán)境和線網(wǎng)負(fù)載模型,可以通過set_operating_condition和set_wire_load_model命令進(jìn)行設(shè)置。以下是ZSU32綜合環(huán)境的頂層環(huán)境設(shè)置:

  #設(shè)置工作環(huán)境

  set_operating_condition smic18_typ;

  #設(shè)置線網(wǎng)負(fù)載模型

  set_wire_load_model smic18_wl30;

  3.3 時(shí)序約束

  3.3.1 時(shí)鐘定義

  整個(gè)時(shí)序約束以時(shí)鐘為起點(diǎn)。系統(tǒng)芯片ZSU32將外部輸入時(shí)鐘和PLL模塊輸入時(shí)鐘作為源時(shí)鐘:ext_clk_i和pll_clk_i。通過對(duì)這2個(gè)源時(shí)鐘信號(hào)的分頻或者倍頻,產(chǎn)生了各個(gè)子模塊的時(shí)鐘信號(hào)。

  #定義源時(shí)鐘ext_clk,周期16 ns

  create_clock-name ext_clk-period

  16 [get_ports {ext_clk_i}];

  在SoC芯片內(nèi)部,子模塊的時(shí)鐘實(shí)際是經(jīng)過源時(shí)鐘分頻或者倍頻得到的,使用create_generated_clock命令來建立子模塊時(shí)鐘。

  #設(shè)置一個(gè)2倍頻時(shí)鐘clk_main,

  #其源時(shí)鐘是pll_clk_i

  create_generated_clock -name clk_main

  -multiply_by 2 -source pll_clk_i;

  3.3.2 多時(shí)鐘域約束

  時(shí)序檢查默認(rèn)以一個(gè)時(shí)鐘周期為界,但對(duì)于ZSU32系統(tǒng)芯片,存在著一些多周期路徑,在這些路徑上,數(shù)據(jù)不需要在單時(shí)鐘周期內(nèi)到達(dá)終點(diǎn)。例如,clk30mhz與clk10mhz是同源的同步時(shí)鐘,而頻率卻是clk10mhz的3倍,對(duì)從clk10mhz時(shí)鐘域向clk30mhz時(shí)鐘域傳輸數(shù)據(jù)的路徑,采用如下命令:

  #按照3個(gè)周期(clk30mhz)進(jìn)行

  #建立時(shí)間約束

  set_multicycle_path 3 -setup -start
  -from clk10mhz -to clk30mhz;
  對(duì)于異步時(shí)鐘域之間的路徑,不用進(jìn)行同步的時(shí)序檢驗(yàn),應(yīng)該將其定義為偽路徑(false path),這樣在邏輯綜合時(shí)就不必浪費(fèi)資源去優(yōu)化。

  #將異步時(shí)鐘e_clk和p_clk 之間的路徑設(shè)置為偽路徑

  set_false_path -from e_clk –to p_clk;

  set_false_path -from p_clk -to e_clk;

  3.3.3 時(shí)鐘偏移

  芯片中時(shí)鐘將經(jīng)過很多傳輸路徑,由于每條路經(jīng)延時(shí)不同,導(dǎo)致從時(shí)鐘源到達(dá)各個(gè)寄存器的始終輸入端的相位差。這種由于空間分布而產(chǎn)生的偏差叫做時(shí)鐘傾斜(clock skew)。另外,由于溫漂、電子漂移的隨機(jī)性,使時(shí)鐘信號(hào)的邊沿可能超前也可能滯后。這種具有時(shí)間不確定性的偏移稱為時(shí)鐘抖動(dòng)(clock jitter)。偏移導(dǎo)致時(shí)鐘信號(hào)到達(dá)各個(gè)觸發(fā)器的時(shí)鐘引腳的時(shí)間不一致,所以我們要給予約束。

  #設(shè)置時(shí)鐘偏移為0.4 ns

  set_clock_uncertainty 0.4 [all_clocks];

  3.4 端口約束

  SoC芯片通過大量輸入和輸出端口與外界進(jìn)行信息的傳輸,端口約束主要用于約束頂層端口相連的片內(nèi)組合邏輯,包括確定輸入延時(shí)、輸出延時(shí)、輸出負(fù)載、輸出扇出負(fù)載、輸入信號(hào)躍遷時(shí)間等。

  3.4.1 端口延時(shí)

  輸入延時(shí)是指外部邏輯到電路輸入端口的路徑延時(shí)。輸出延時(shí)是指輸出端口到外部寄存器的路徑延時(shí)。圖4是輸入輸出延時(shí)示意圖。

    設(shè)置范例如下:

    #設(shè)置端口pci_ad13的輸入延時(shí)為4.8 ns

  set_input_delay 4.8 -clock clk_main

  [get_ports {pci_ad13}];

  #設(shè)置端口pci_ad16的輸出延時(shí)為3.6 ns

  set_output_delay 3.6 -clock clk_main

  [get_ports{pci_ad16};

  3.4.2 端口的驅(qū)動(dòng)與負(fù)載

  端口的驅(qū)動(dòng)和負(fù)載特性通過設(shè)置輸入驅(qū)動(dòng)單元、輸入輸出負(fù)載值以及信號(hào)躍遷時(shí)間等來描述。范例如下:

  #設(shè)置端口a7的驅(qū)動(dòng)單元是BUFX2

  set_drive_cell -lib_cell BUFX2 -pin

  [get_ports {a7}]  #設(shè)置端口d17的負(fù)載值為20 pf

  set_load -pin_load 20 [get_ports {d17}

  #設(shè)置端口d0的輸入信號(hào)上升時(shí)間是0.5 ns

  set_input_transition -rise -min 0.5

  [get_ports {d0}];

  3.5 面積和功耗約束

  Design Compiler的綜合以時(shí)序優(yōu)先,即優(yōu)化完約束后才根據(jù)約束優(yōu)化面積和功耗。初次綜合時(shí)很難對(duì)面積進(jìn)行評(píng)估,所以在次綜合時(shí)設(shè)置優(yōu)化目標(biāo)為0,表示在滿足時(shí)序約束的情況下努力地減小面積。待綜合出來之后,根據(jù)初步的面積和功耗,修改數(shù)值,從而進(jìn)一步優(yōu)化。

  #面積設(shè)置

  set_max_area 0;

  #功耗的約束做類似的處理:

  set_max_total_power

  3.6 綜合結(jié)果

  根據(jù)上述綜合流程和約束設(shè)置,ZSU32系統(tǒng)芯片在邏輯綜合后滿足了時(shí)序約束,同時(shí)為后續(xù)物理設(shè)計(jì)提供了較好的起點(diǎn)。圖5是ZSU32時(shí)序分析的一部分。

  ZSU32采用中芯國際0.18 μm CMOS標(biāo)準(zhǔn)單元庫進(jìn)行了邏輯綜合和版圖設(shè)計(jì)實(shí)現(xiàn),6層金屬布線,已成功流片。電路綜合規(guī)模為200萬門,所有cell的面積為19 195 460 μm2,芯片總面積小于5 mm×5 mm。

  參考文獻(xiàn)

  [1] Synopsys.Design Compiler User Guide,Version Y-2008.06,Synopsys.

  [2] BHATNAGAR H.Advanced ASIC chip synthesis using synopsys design compiler physical compiler and prime time  (second edition)。Kluwer Academic Publishers,2002.

  [3] RABAEY J M.Anantha chandrakasan,borivoje nikolic.Digital Integrated CircuitsA Design Perspective(Senond Edition)


  

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!