周期約束分析
發(fā)布時(shí)間:2008/9/17 0:00:00 訪問(wèn)次數(shù):1296
周期〈period)約束的對(duì)象是該時(shí)鐘所驅(qū)動(dòng)的所有同步元件之間的路徑,但是不會(huì)覆蓋如圖1所示的a、b、c和d路徑,以及輸入引腳到輸出引腳〈純組合邏輯〉、輸入引腳到悶步元件、同步元件到輸出引腳,還有clk1到clk2之間的異步路徑,
在進(jìn)行周期period約柬之前,需要對(duì)電路的時(shí)鐘周期進(jìn)行估計(jì),不要便用過(guò)松或過(guò)緊的約束。設(shè)討內(nèi)部電路所能達(dá)到的最南運(yùn)行頻率取決于同步元件本身的建立保持時(shí)間,以及同步元件之間的邏輯和布線延遲。雖然布線延時(shí)無(wú)法估計(jì),但邏輯延時(shí)應(yīng)該可以大致估計(jì),如圖2所示。通?梢愿鶕(jù)邏輯延時(shí)和布線延時(shí)各占40%和60%的比例來(lái)判斷將要設(shè)置的周期約束對(duì)于當(dāng)前的設(shè)計(jì)是否現(xiàn)實(shí)或合理。
圖1 周期約束所達(dá)到的范圍
圖2 估算邏輯之間的延時(shí)
通過(guò)約束編輯器的文本編輯窗口,可以采用以下兩種方式的ucf語(yǔ)句來(lái)做時(shí)鐘約束。
(1)period_item period=period{high|low} [high_or low_item]
其中,period_item可以是net或timegrp,分別代表時(shí)鐘線名稱(chēng)net name或元件分組名稱(chēng)group-name。用net表示period約束作用到名為“net name”的時(shí)鐘網(wǎng)線所驅(qū)動(dòng)的同步元件上,用timegrp表示period約束作用到timegrp所定義的分組(包括ffs、latch和ram等同步元件)上。period是目標(biāo)時(shí)鐘周期,單位可以是ps、ns、μs和ms等。high|low指出時(shí)鐘周期中的第1個(gè)脈沖是高電平還是低電平,high_or_low_time為high low指定的脈沖的持續(xù)時(shí)間,默認(rèn)單位是ns。如果沒(méi)有該參數(shù),時(shí)鐘占空比是50%。例如, net sys_clk period=10 ns high 4ns
。2)net“clock net name”tnm_net=“timing group name”;
timespec“tsidentifier”=period “tnm reference”period {high low} [high_or low_item]
下面舉個(gè)例子來(lái)說(shuō)明如何設(shè)置周期約束。考慮圖3所示的電路設(shè)計(jì)范例1,輸入時(shí)鐘的周期是10ns,并且是上升沿動(dòng)作,占空比為45%高電平,55%低電平。
我們可以用這樣的ucf語(yǔ)旬來(lái)定義這個(gè)時(shí)鐘:
net“sysclk” tnm_net =“sysclk”;
timespec “to ̄ sysclk ” = period "sysclk" 10 ns high 45%;
圖3 周期約束設(shè)計(jì)范例一
這個(gè)例子首先在時(shí)鐘網(wǎng)線上附加了tnm_net約束,把clk驅(qū)動(dòng)的所有同步元件定義成一個(gè)名為“sys_clk”的分組,然后使用timespec約束定義時(shí)鐘周期。這種定義時(shí)鐘周期的方法使用了標(biāo)識(shí)符,在定義其他時(shí)鐘周期時(shí)可以引用這個(gè)標(biāo)識(shí)符,大大方便了派生時(shí)鐘的定義。
一種特殊情況的周期約束是相關(guān)時(shí)鐘。前面提到周期約束不會(huì)覆蓋異步路徑,如圖1所示的d路徑。但是如果兩個(gè)時(shí)鐘是“相關(guān)”的,則實(shí)現(xiàn)工具和時(shí)序分析工具會(huì)考慮這個(gè)路徑。因此對(duì)這樣的路徑不需要再設(shè)置from to約束,相關(guān)內(nèi)容包括自動(dòng)相關(guān)和人為相關(guān)。我們來(lái)分別看看幾種情況。
。1)圖4所示的相關(guān)時(shí)鐘約束1為兩個(gè)時(shí)鐘來(lái)自于同一個(gè)dcm,我們只需對(duì)dcm的輸入時(shí)鐘執(zhí)行周期約束,則dcm輸出的兩個(gè)時(shí)鐘就會(huì)通過(guò)dcm自動(dòng)關(guān)聯(lián),它們之間的路徑就會(huì)自動(dòng)地被分析。
圖4 相關(guān)時(shí)鐘約束1
例如,我們做如下約束:
net "clkin"tnw_net = "clkin";
timespec "ts_clkix" = pertod "clk△n"10.o ns high 50%;
則兩個(gè)時(shí)鐘之間的路徑就會(huì)被這樣分析:
slack: 3.926ns
source: dataregslow._d2_3 (ff)
destination: dataregfast_d3_3 (ff)
requirement : 5.ooons
data path delay : 0.874ns (levels of logic = 0)
clock path skew: 0.000ns
source clock: c=clk1x rising at o.000ns
destination clock: clkzx_dcm rising at 5.000ns
clock uncertainty : 0.200ns
。2)如剛才的電路可以不對(duì)dcm輸入時(shí)鐘做約束,而分別對(duì)兩個(gè)時(shí)鐘單獨(dú)做周期約束,如圖5所示。由于clk2x的周期是基于clk1x的周期定義的,所以這樣兩個(gè)時(shí)鐘就被人為地關(guān)聯(lián)起來(lái),它們之間的路徑也會(huì)自動(dòng)地被分析。
圖5 相關(guān)時(shí)鐘約束2<
周期〈period)約束的對(duì)象是該時(shí)鐘所驅(qū)動(dòng)的所有同步元件之間的路徑,但是不會(huì)覆蓋如圖1所示的a、b、c和d路徑,以及輸入引腳到輸出引腳〈純組合邏輯〉、輸入引腳到悶步元件、同步元件到輸出引腳,還有clk1到clk2之間的異步路徑,
在進(jìn)行周期period約柬之前,需要對(duì)電路的時(shí)鐘周期進(jìn)行估計(jì),不要便用過(guò)松或過(guò)緊的約束。設(shè)討內(nèi)部電路所能達(dá)到的最南運(yùn)行頻率取決于同步元件本身的建立保持時(shí)間,以及同步元件之間的邏輯和布線延遲。雖然布線延時(shí)無(wú)法估計(jì),但邏輯延時(shí)應(yīng)該可以大致估計(jì),如圖2所示。通常可以根據(jù)邏輯延時(shí)和布線延時(shí)各占40%和60%的比例來(lái)判斷將要設(shè)置的周期約束對(duì)于當(dāng)前的設(shè)計(jì)是否現(xiàn)實(shí)或合理。
圖1 周期約束所達(dá)到的范圍
圖2 估算邏輯之間的延時(shí)
通過(guò)約束編輯器的文本編輯窗口,可以采用以下兩種方式的ucf語(yǔ)句來(lái)做時(shí)鐘約束。
。1)period_item period=period{high|low} [high_or low_item]
其中,period_item可以是net或timegrp,分別代表時(shí)鐘線名稱(chēng)net name或元件分組名稱(chēng)group-name。用net表示period約束作用到名為“net name”的時(shí)鐘網(wǎng)線所驅(qū)動(dòng)的同步元件上,用timegrp表示period約束作用到timegrp所定義的分組(包括ffs、latch和ram等同步元件)上。period是目標(biāo)時(shí)鐘周期,單位可以是ps、ns、μs和ms等。high|low指出時(shí)鐘周期中的第1個(gè)脈沖是高電平還是低電平,high_or_low_time為high low指定的脈沖的持續(xù)時(shí)間,默認(rèn)單位是ns。如果沒(méi)有該參數(shù),時(shí)鐘占空比是50%。例如, net sys_clk period=10 ns high 4ns
(2)net“clock net name”tnm_net=“timing group name”;
timespec“tsidentifier”=period “tnm reference”period {high low} [high_or low_item]
下面舉個(gè)例子來(lái)說(shuō)明如何設(shè)置周期約束。考慮圖3所示的電路設(shè)計(jì)范例1,輸入時(shí)鐘的周期是10ns,并且是上升沿動(dòng)作,占空比為45%高電平,55%低電平。
我們可以用這樣的ucf語(yǔ)旬來(lái)定義這個(gè)時(shí)鐘:
net“sysclk” tnm_net =“sysclk”;
timespec “to ̄ sysclk ” = period "sysclk" 10 ns high 45%;
圖3 周期約束設(shè)計(jì)范例一
這個(gè)例子首先在時(shí)鐘網(wǎng)線上附加了tnm_net約束,把clk驅(qū)動(dòng)的所有同步元件定義成一個(gè)名為“sys_clk”的分組,然后使用timespec約束定義時(shí)鐘周期。這種定義時(shí)鐘周期的方法使用了標(biāo)識(shí)符,在定義其他時(shí)鐘周期時(shí)可以引用這個(gè)標(biāo)識(shí)符,大大方便了派生時(shí)鐘的定義。
一種特殊情況的周期約束是相關(guān)時(shí)鐘。前面提到周期約束不會(huì)覆蓋異步路徑,如圖1所示的d路徑。但是如果兩個(gè)時(shí)鐘是“相關(guān)”的,則實(shí)現(xiàn)工具和時(shí)序分析工具會(huì)考慮這個(gè)路徑。因此對(duì)這樣的路徑不需要再設(shè)置from to約束,相關(guān)內(nèi)容包括自動(dòng)相關(guān)和人為相關(guān)。我們來(lái)分別看看幾種情況。
(1)圖4所示的相關(guān)時(shí)鐘約束1為兩個(gè)時(shí)鐘來(lái)自于同一個(gè)dcm,我們只需對(duì)dcm的輸入時(shí)鐘執(zhí)行周期約束,則dcm輸出的兩個(gè)時(shí)鐘就會(huì)通過(guò)dcm自動(dòng)關(guān)聯(lián),它們之間的路徑就會(huì)自動(dòng)地被分析。
圖4 相關(guān)時(shí)鐘約束1
例如,我們做如下約束:
net "clkin"tnw_net = "clkin";
timespec "ts_clkix" = pertod "clk△n"10.o ns high 50%;
則兩個(gè)時(shí)鐘之間的路徑就會(huì)被這樣分析:
slack: 3.926ns
source: dataregslow._d2_3 (ff)
destination: dataregfast_d3_3 (ff)
requirement : 5.ooons
data path delay : 0.874ns (levels of logic = 0)
clock path skew: 0.000ns
source clock: c=clk1x rising at o.000ns
destination clock: clkzx_dcm rising at 5.000ns
clock uncertainty : 0.200ns
。2)如剛才的電路可以不對(duì)dcm輸入時(shí)鐘做約束,而分別對(duì)兩個(gè)時(shí)鐘單獨(dú)做周期約束,如圖5所示。由于clk2x的周期是基于clk1x的周期定義的,所以這樣兩個(gè)時(shí)鐘就被人為地關(guān)聯(lián)起來(lái),它們之間的路徑也會(huì)自動(dòng)地被分析。
圖5 相關(guān)時(shí)鐘約束2<
熱門(mén)點(diǎn)擊
- FPGA中增加SPI和BPI配置模式
- 基于FPGA內(nèi)部的FIFO設(shè)計(jì)
- 可編程邏輯器件PLA乘積項(xiàng)陣列
- SmartXplorer技術(shù)
- FPGA器件配置電平和接口標(biāo)準(zhǔn)
- XMD軟件的調(diào)試設(shè)計(jì)
- 特定約束FROM TO
- 什么是C語(yǔ)言中的寬字符與多字節(jié)字符
- 周期約束分析
- 新款高性能硬件仿真器——Wind River
推薦技術(shù)資料
- 聲道前級(jí)設(shè)計(jì)特點(diǎn)
- 與通常的Hi-Fi前級(jí)不同,EP9307-CRZ這臺(tái)分... [詳細(xì)]
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車(chē)用精準(zhǔn)定位
- 高效先進(jìn)封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究