特定約束FROM TO
發(fā)布時(shí)間:2008/9/17 0:00:00 訪問次數(shù):1489
特定約束就是用from to約束來定義兩個(gè)timegroups之間的延時(shí),路徑的起點(diǎn)和終點(diǎn)可以是pad、寄存器、鎖存器、lut、ram及乘法器等。在使用from to約束分析時(shí),工具會(huì)考慮clock skew因素。因此對(duì)于同步路徑from to約束就像是對(duì)特定路徑的周期約束,如圖1所示。
圖1 from to約束所覆蓋的路徑示意
前面說過,周期約束是全局約束,但有些路徑可能需要不同于周期的特殊要求。from to約束可以用來定義寬約束路徑“slow path”、過約束路徑“overconstrained path”或者時(shí)序無關(guān)路徑“false path”。
以圖2所示“slow path ”的為例,對(duì)于這個(gè)范例用戶必須清楚時(shí)鐘使能信號(hào)enable的翻轉(zhuǎn)規(guī)律,才能做出正確的約束。分析圖2所示的時(shí)序可以看出,第1個(gè)時(shí)鐘上升沿?cái)?shù)據(jù)從b寄存器發(fā)出,而c寄存器在第3個(gè)時(shí)鐘上升沿才捕捉數(shù)據(jù),因此從b到c這條路徑的時(shí)序要求實(shí)際上是周期的兩倍。例中定義了基本的周期約束,還定義了使用enable信號(hào)的寄存器組。然后為使用enable信號(hào)的寄存器組定義了from to約束,約束的要求是兩倍的時(shí)鐘周期。
圖2 from to約束設(shè)計(jì)范例
ucf示例如下:
net "clkix" tnm_net = "clkix";
timespec "ts_clkix" = pertod "clklx" 5.0 ns high 50%;
net enable tnm_net = slow_ffs;
timespec ts_slowpath = from slow_ffs to slow_ffs ts_clk1x*2;
過約束路徑如圖3所示。xilinx的實(shí)現(xiàn)工具是時(shí)序驅(qū)動(dòng)的,因此有時(shí)如果某條路徑?jīng)]有滿足周期約束的要求,我們可以為這條路徑加上一個(gè)相對(duì)較緊的約束或許可以達(dá)到理想的效果。from to可以用來做這種約束。
圖3 過約束路徑范例
from to也可以約束異步路徑,比如不相關(guān)的兩個(gè)時(shí)鐘域之間的路徑。典型的情況就是異步fifo,如圖3所示。寫時(shí)鐘域與讀時(shí)鐘域的路徑會(huì)分別被各自的周期約束覆蓋,但是它們之間的異步握手信號(hào)卻不會(huì)被自動(dòng)地分析,實(shí)際上也不需要。
如果有些設(shè)計(jì)者確實(shí)需要約束這些異步路徑的延時(shí),可在from to后面加上datapathonly這個(gè)關(guān)鍵字。 女口果沒有datapathonly這個(gè)關(guān)鍵字,時(shí)序分析會(huì)報(bào)告timing error。因?yàn)閒rom to約束會(huì)考慮clock skew,而這條路徑是跨時(shí)鐘域的。
ucf示例如下:
net "writeclk" tnm_net = "writeclk";
net "readclk" tnm_net="readclk";
timespec ts_wr2rd = from writeclk to readclk 2 ns datapathonly;
timespec ts_rd2wr = erom readclk to writeclk 2 ns datapathonly;
圖4 采用from to約束異步路徑范例
對(duì)于時(shí)序無關(guān)路徑,可以把它約束成tig,即timing ignore。tig用于定義無關(guān)路徑,時(shí)序分析時(shí)會(huì)將加了tig約束的路徑忽略。這樣就會(huì)減少布線工具為這些路徑進(jìn)行布線所花費(fèi)的時(shí)間,以及有可能產(chǎn)生的負(fù)作用。tig約束的對(duì)象可以是分組之間的路徑,也可以是被指定的net所在的路徑。分組之間的路徑需要用from to把指定的路徑約束成tig,ucf可以這樣來寫:
timespec ts_ignore = erom group1 tt crroup2 tig;
對(duì)于用net指定的路徑,ucf可以這樣來寫:
net slow_net tig;
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
特定約束就是用from to約束來定義兩個(gè)timegroups之間的延時(shí),路徑的起點(diǎn)和終點(diǎn)可以是pad、寄存器、鎖存器、lut、ram及乘法器等。在使用from to約束分析時(shí),工具會(huì)考慮clock skew因素。因此對(duì)于同步路徑from to約束就像是對(duì)特定路徑的周期約束,如圖1所示。
圖1 from to約束所覆蓋的路徑示意
前面說過,周期約束是全局約束,但有些路徑可能需要不同于周期的特殊要求。from to約束可以用來定義寬約束路徑“slow path”、過約束路徑“overconstrained path”或者時(shí)序無關(guān)路徑“false path”。
以圖2所示“slow path ”的為例,對(duì)于這個(gè)范例用戶必須清楚時(shí)鐘使能信號(hào)enable的翻轉(zhuǎn)規(guī)律,才能做出正確的約束。分析圖2所示的時(shí)序可以看出,第1個(gè)時(shí)鐘上升沿?cái)?shù)據(jù)從b寄存器發(fā)出,而c寄存器在第3個(gè)時(shí)鐘上升沿才捕捉數(shù)據(jù),因此從b到c這條路徑的時(shí)序要求實(shí)際上是周期的兩倍。例中定義了基本的周期約束,還定義了使用enable信號(hào)的寄存器組。然后為使用enable信號(hào)的寄存器組定義了from to約束,約束的要求是兩倍的時(shí)鐘周期。
圖2 from to約束設(shè)計(jì)范例
ucf示例如下:
net "clkix" tnm_net = "clkix";
timespec "ts_clkix" = pertod "clklx" 5.0 ns high 50%;
net enable tnm_net = slow_ffs;
timespec ts_slowpath = from slow_ffs to slow_ffs ts_clk1x*2;
過約束路徑如圖3所示。xilinx的實(shí)現(xiàn)工具是時(shí)序驅(qū)動(dòng)的,因此有時(shí)如果某條路徑?jīng)]有滿足周期約束的要求,我們可以為這條路徑加上一個(gè)相對(duì)較緊的約束或許可以達(dá)到理想的效果。from to可以用來做這種約束。
圖3 過約束路徑范例
from to也可以約束異步路徑,比如不相關(guān)的兩個(gè)時(shí)鐘域之間的路徑。典型的情況就是異步fifo,如圖3所示。寫時(shí)鐘域與讀時(shí)鐘域的路徑會(huì)分別被各自的周期約束覆蓋,但是它們之間的異步握手信號(hào)卻不會(huì)被自動(dòng)地分析,實(shí)際上也不需要。
如果有些設(shè)計(jì)者確實(shí)需要約束這些異步路徑的延時(shí),可在from to后面加上datapathonly這個(gè)關(guān)鍵字。 女口果沒有datapathonly這個(gè)關(guān)鍵字,時(shí)序分析會(huì)報(bào)告timing error。因?yàn)閒rom to約束會(huì)考慮clock skew,而這條路徑是跨時(shí)鐘域的。
ucf示例如下:
net "writeclk" tnm_net = "writeclk";
net "readclk" tnm_net="readclk";
timespec ts_wr2rd = from writeclk to readclk 2 ns datapathonly;
timespec ts_rd2wr = erom readclk to writeclk 2 ns datapathonly;
圖4 采用from to約束異步路徑范例
對(duì)于時(shí)序無關(guān)路徑,可以把它約束成tig,即timing ignore。tig用于定義無關(guān)路徑,時(shí)序分析時(shí)會(huì)將加了tig約束的路徑忽略。這樣就會(huì)減少布線工具為這些路徑進(jìn)行布線所花費(fèi)的時(shí)間,以及有可能產(chǎn)生的負(fù)作用。tig約束的對(duì)象可以是分組之間的路徑,也可以是被指定的net所在的路徑。分組之間的路徑需要用from to把指定的路徑約束成tig,ucf可以這樣來寫:
timespec ts_ignore = erom group1 tt crroup2 tig;
對(duì)于用net指定的路徑,ucf可以這樣來寫:
net slow_net tig;
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
熱門點(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語言中的寬字符與多字節(jié)字符
- 周期約束分析
- 新款高性能硬件仿真器——Wind River
推薦技術(shù)資料
- 聲道前級(jí)設(shè)計(jì)特點(diǎn)
- 與通常的Hi-Fi前級(jí)不同,EP9307-CRZ這臺(tái)分... [詳細(xì)]
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(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)用研究