新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 系統(tǒng)芯片ZSU32在SoC芯片設(shè)計(jì)中的應(yīng)用

系統(tǒng)芯片ZSU32在SoC芯片設(shè)計(jì)中的應(yīng)用

作者: 時(shí)間:2012-07-12 來(lái)源:網(wǎng)絡(luò) 收藏

3.3.2 多時(shí)鐘域約束

本文引用地址:http://m.butianyuan.cn/article/148780.htm

  時(shí)序檢查默認(rèn)以一個(gè)時(shí)鐘周期為界,但對(duì)于,存在著一些多周期路徑,在這些路徑上,數(shù)據(jù)不需要在單時(shí)鐘周期內(nèi)到達(dá)終點(diǎn)。例如,clk30mhz和clk10mhz是同源的同步時(shí)鐘,前者頻率是后者的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)過(guò)不同的傳輸路徑,由于每條路經(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 端口約束

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

  3.4.1 端口延時(shí)

  輸入延時(shí)是指外部邏輯到電路輸入端口的路徑延時(shí)。輸出延時(shí)是指輸出端口到外部寄存器的路徑延時(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ù)載特性通過(guò)設(shè)置輸入驅(qū)動(dòng)單元、輸入輸出負(fù)載值以及信號(hào)躍遷時(shí)間等來(lái)描述。范例如下:

  #設(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í)序約束的情況下最大努力地減小面積。待綜合報(bào)告出來(lái)之后,根據(jù)初步的面積和功耗報(bào)告,修改數(shù)值,從而進(jìn)一步優(yōu)化。

  #面積設(shè)置

  set_max_area 0;

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

  set_max_total_power 0;


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉