ISE時(shí)序約束筆記7——Path-Specific Timing Constraints

發(fā)布時(shí)間:2016-2-18 14:11    發(fā)布者:designapp
關(guān)鍵詞: ISE , 時(shí)序約束
  時(shí)鐘上升沿和下降沿之間的時(shí)序約束
  周期約束可以自動(dòng)計算兩個(gè)沿的的約束——包括調整非50%占空比的時(shí)鐘。
  例:一個(gè)CLK時(shí)鐘周期約束為10ns,能夠應用5ns的約束到兩個(gè)寄存器之間。
  不需要特定路徑應用到這個(gè)例子中。
  


  相關(guān)時(shí)鐘域的約束
  為一個(gè)時(shí)鐘進(jìn)行周期約束——以這個(gè)周期約束確定相關(guān)的時(shí)鐘。
  執行工具將根據它們的關(guān)系來(lái)決定如何處理跨時(shí)鐘域。
  DCM有多個(gè)輸出:
  ——確定DCM輸入時(shí)鐘的周期約束
  ——執行工具將會(huì )從這個(gè)周期約束推導出其輸出的約束
  ——所有的約束將會(huì )和原始的周期約束相關(guān)
  不相關(guān)時(shí)鐘域的約束
  在這個(gè)例子中,周期約束不覆蓋到處于兩個(gè)時(shí)鐘域之間的任何延時(shí)路徑!@是默認的處理方式。
  你必須添加一個(gè)約束覆蓋到相關(guān)時(shí)鐘域之間的路徑中!,頻率相同,但是CLK_B有一些相位偏移。
  在兩個(gè)不相關(guān)的時(shí)鐘域你就必須添加一些同步電路。
  


  約束兩個(gè)時(shí)鐘域之間的路徑。
  ——使用Groups by NETs選項為CLK_A和CLK_B定義groups,如果你為每個(gè)時(shí)鐘添加完周期約束,這個(gè)步驟將自動(dòng)完成。
  ——在這個(gè)寄存器的groups之間指定快速/慢速例外約束。
  


  多周期路徑約束
  多周期約束應用在連續幾個(gè)時(shí)鐘周期內寄存器不需要更新的情況。
  ——總是至少需要一個(gè)時(shí)鐘周期才更新。
  ——通常的,這樣的寄存器由時(shí)鐘使能信號控制。
  一個(gè)分段計數器就是這樣的一個(gè)例子。
  ——COUT14每隔4個(gè)時(shí)鐘周期才更新一次。
  ——這些寄存器間的路徑就算是多周期路徑。
  


  False 路徑
  False路徑選項將用于防止約束覆蓋到特定路徑
  時(shí)序約束優(yōu)先級
  從高到低為:
  1. False路徑——將會(huì )覆蓋任何其它的約束路徑
  2. FROM THRU TO
  3. FROM TO
  4. 管腳指定OFFSETs
  5. Groups OFFSETs(由寄存器或者PADS生產(chǎn)的groups)
  6. 全局PERIOD和OFFSETs——最低優(yōu)先級約束
  這里特權同學(xué)提醒大家注意的是,通常類(lèi)似下面這樣的計數器絕對不可以歸為多周期約束:
  reg[15:0] counter;
  always @ (posedge clk or negedge rst_n)
  begin
  if(!rst_n) counter
  else counter
  end
  雖然我們想想似乎counter[1]也是2個(gè)clk變化一次,counter[2]也是4個(gè)clk變化一次……但是,我們想想看,如果從counter=1到counter=2沒(méi)有在一個(gè)clk完成,那么肯定就會(huì )影響到counter=2到counter=3的變化,對吧?所以,這樣的計數器不能算做多周期約束例外。
  提綱里描述的多周期例外的計數器應該是這樣一個(gè)模型:
  reg[15:0] counter;
  always @ (posedge clk or negedge rst_n)
  begin
  if(!rst_n) counter[1:0]
  else counter[1:0]
  end
  always @ (posedge clk or negedge rst_n)
  begin
  if(!rst_n) counter[15:2]
  else if(counter[1:0] == 2’b11) counter[15:2]
  end
  上面兩個(gè)always塊里的數據互不干擾,并且都正常工作,只有下一個(gè)always塊檢測到前一個(gè)always塊里的counter[1:0]==2’b11時(shí)才進(jìn)位加1。
  寫(xiě)到這里,特權發(fā)現單從功能上來(lái)說(shuō),這兩個(gè)例子是沒(méi)有差別的,說(shuō)白了,任何一個(gè)計數器都可以建模成后面的形式;蛘哒f(shuō),我的問(wèn)題其實(shí)沒(méi)有說(shuō)明白,反而被自己的例子給駁倒了。
  呵呵,換個(gè)角度思考這個(gè)問(wèn)題,到底什么時(shí)候是多周期例外,什么時(shí)候不是?這個(gè)其實(shí)還是要看情況的,如果你的系統實(shí)時(shí)性較高,可能會(huì )在某一特定的時(shí)鐘周期用到16位計數器的計數值(如a = (counter == 16’hffff)?1b’1:1’b0; ),那么這個(gè)計數器的高位就不能算作多周期例外。而如果比如在我的一個(gè)工程里,有這樣的計數器用法:cuonter[2:0]沒(méi)16個(gè)clk的后8個(gè)clk需要自增加(從0到15),而高位counter[18:3]當然只有在16個(gè)clk變化一次,因為這里counter是用于作為一個(gè)地址產(chǎn)生器,也就是說(shuō),我的地址是每16個(gè)clk的后8個(gè)clk用到,那么這里的counter[18:3]就是一個(gè)8clk的多周期例外實(shí)例。
  說(shuō)白了,還是要具體問(wèn)題具體分析。
                               
               
本文地址:http://selenalain.com/thread-160858-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页