<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 手把手課堂:Xilinx FPGA設(shè)計(jì)時(shí)序約束指南

          手把手課堂:Xilinx FPGA設(shè)計(jì)時(shí)序約束指南

          作者: 時(shí)間:2011-04-29 來(lái)源:電子產(chǎn)品世界 收藏

            傳輸時(shí)間與 OFFSET 約束

          本文引用地址:http://www.ex-cimer.com/article/119144.htm

            信號(hào)從 A 點(diǎn)到達(dá) B 點(diǎn)所用的時(shí)間稱為傳輸時(shí)間。它取決于傳輸介質(zhì)中光傳播的速度。例如,PCB 電路板上的走線以 6~7 皮秒/ 毫米來(lái)傳輸信號(hào)??刹捎枚喾N方法來(lái)確定這一時(shí)間值,例如進(jìn)行仿真,或在材料介電常數(shù)與走線幾何結(jié)構(gòu)已知的情況下,列方程求解。在芯片內(nèi),信號(hào)的行為方式也很類似,不過(guò)也會(huì)因通過(guò)緩存器、反相器、邏輯和互聯(lián)等有源電路而發(fā)生延遲。

            傳輸時(shí)間是可測(cè)量的,通常用示波器來(lái)測(cè)量。當(dāng)路徑上無(wú)有源元件時(shí),傳輸時(shí)間一般不會(huì)有太大變化。若路徑在芯片內(nèi),則晶體管的作用會(huì)使路徑延遲在最大值與最小值之間變化。設(shè)計(jì)需同時(shí)滿足二者的時(shí)序要求。

            為告訴工具數(shù)據(jù)何時(shí)到達(dá)特定位置,需使用另一種名為“OFFSET_IN”的約束。“OFFSET_IN”約束在時(shí)鐘和數(shù)據(jù)進(jìn)入器件時(shí),對(duì)其關(guān)系進(jìn)行了定義。以如下約束為例:

            該約束告知工具,數(shù)據(jù)將在 clk20 脈沖上升沿之前 2 納秒建立在 PAD 上,并在到達(dá)后 16 納秒內(nèi)保持有效。該約束只對(duì)那些進(jìn)入由 clk20 或其衍生(衍生約束)提供時(shí)鐘的寄存器的 PAD 有效。

            OFFSET 要求在 clk20 上有一個(gè)PERIOD 約束,這樣才能理解時(shí)鐘結(jié)構(gòu)。如下這樣也可接受:

            不過(guò),該約束不會(huì)檢查保持時(shí)間,因不清楚數(shù)據(jù)何時(shí)會(huì)從 的引腳結(jié)束。若數(shù)據(jù)在時(shí)鐘脈沖邊沿 2 納秒之后才建立,則使用如下方案:

            OFFSET_IN 適用于進(jìn)入器件的時(shí)鐘與數(shù)據(jù)之間的關(guān)系,另一種常見(jiàn)的OFFSET_OUT 約束定義時(shí)鐘在 輸入處發(fā)生跳變后數(shù)據(jù)離開器件所需的時(shí)間。以下為常見(jiàn)的 OFFSET_OUT 用法:

            該約束告知工具,需確保輸入時(shí)鐘在 輸入跳變后 3 納秒時(shí)長(zhǎng)后,數(shù)據(jù)出現(xiàn)在 FPGA 的輸出引腳上。該約束僅應(yīng)用于由 clk20 或其衍生(衍生約束)提供時(shí)鐘的寄存器驅(qū)動(dòng)的 PAD。OFFSET 要求在 clk20 上有 PERIOD 約束,這樣才能理解時(shí)鐘結(jié)構(gòu)。保持時(shí)間不受 OFFSET_OUT 的約束。

            若需要數(shù)據(jù)在時(shí)鐘脈沖邊沿前 2 納秒到達(dá)FPGA 輸出,則使用:

            分組與分組名稱

            時(shí)間分組是用來(lái)識(shí)別對(duì)于同步元件間的路徑集或連線集的約束的一種方式。向時(shí)序分組添加組件,應(yīng)使用 TNM、TNM_NET 或 TIMEGRP。

            通過(guò)定義分組并給定分組之間的時(shí)序要求,可對(duì)路徑進(jìn)行約束。部分約束不需要時(shí)序分組,如 NET MAXDELAY。這一最大延遲 (MAXDELAY) 屬性定義了一條連線上允許的最大延遲。

            時(shí)序名稱

            向用戶定義的分組添加組件,可這樣處理:

            在此,“TNM”為保留字,用于定義時(shí)序分組的名稱。

            在這種情況下,object_name 為帶分組元件或信號(hào)的名稱,predefined_group 為可選關(guān)鍵詞,標(biāo)示符可以是字母、數(shù)字和下劃線的任意組合。不能使用諸如 FFS、LATCHES 或RAMS 這樣的保留字。該變量對(duì)大小寫敏感。(TNM=abc 不等于 TNM=ABC)。

            可將 TNM 應(yīng)用于任何連線、元件引腳、原語(yǔ)或宏。組件可加入一個(gè)以上的分組。例如,my_ffs_group TNM 中可含有 my_ff組件。同樣,my_ffs_group2 TNM 也可包含 my_ff 組件。要?jiǎng)?chuàng)建分組,請(qǐng)使用:

            為時(shí)序目的,可在分組中包含任何關(guān)鍵詞元件。在本例中,NET CLOCK可追溯到觸發(fā)器 (FFS)。這些觸發(fā)器使用名稱 clk_group 進(jìn)行時(shí)序命名 (TNM)。然后,clk_group 就可以在TIMESPECS中使用了。也可使用實(shí)例創(chuàng)建分組,如:

          fpga相關(guān)文章:fpga是什么




          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();