新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 牛人業(yè)話 > ISE時(shí)序約束筆記7——Path-Specific Timing Constraints

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

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

          時(shí)鐘上升沿和下降沿之間的

        本文引用地址:http://www.104case.com/article/271120.htm

          周期約束可以自動(dòng)計(jì)算兩個(gè)沿的的約束——包括調(diào)整非50%占空比的時(shí)鐘。

          例:一個(gè)CLK時(shí)鐘周期約束為10ns,能夠應(yīng)用5ns的約束到兩個(gè)寄存器之間。

          不需要特定路徑應(yīng)用到這個(gè)例子中。

          

        點(diǎn)擊看大圖

         

          相關(guān)時(shí)鐘域的約束

          為一個(gè)時(shí)鐘進(jìn)行周期約束——以這個(gè)周期約束確定相關(guān)的時(shí)鐘。

          執(zhí)行工具將根據(jù)它們的關(guān)系來(lái)決定如何處理跨時(shí)鐘域。

          DCM有多個(gè)輸出:

          ——確定DCM輸入時(shí)鐘的周期約束

          ——執(zhí)行工具將會(huì)從這個(gè)周期約束推導(dǎo)出其輸出的約束

          ——所有的約束將會(huì)和原始的周期約束相關(guān)

          不相關(guān)時(shí)鐘域的約束

          在這個(gè)例子中,周期約束不覆蓋到處于兩個(gè)時(shí)鐘域之間的任何延時(shí)路徑。——這是默認(rèn)的處理方式。

          你必須添加一個(gè)約束覆蓋到相關(guān)時(shí)鐘域之間的路徑中。——例如,頻率相同,但是CLK_B有一些相位偏移。

          在兩個(gè)不相關(guān)的時(shí)鐘域你就必須添加一些同步電路。

          

        點(diǎn)擊看大圖

         

          約束兩個(gè)時(shí)鐘域之間的路徑。

          ——使用Groups by NETs選項(xiàng)為CLK_A和CLK_B定義groups,如果你為每個(gè)時(shí)鐘添加完周期約束,這個(gè)步驟將自動(dòng)完成。

          ——在這個(gè)寄存器的groups之間指定快速/慢速例外約束。

          

        點(diǎn)擊看大圖

         

          多周期路徑約束

          多周期約束應(yīng)用在連續(xù)幾個(gè)時(shí)鐘周期內(nèi)寄存器不需要更新的情況。

          ——總是至少需要一個(gè)時(shí)鐘周期才更新。

          ——通常的,這樣的寄存器由時(shí)鐘使能信號(hào)控制。

          一個(gè)分段計(jì)數(shù)器就是這樣的一個(gè)例子。

          ——COUT14每隔4個(gè)時(shí)鐘周期才更新一次。

          ——這些寄存器間的路徑就算是多周期路徑。

          

         

          False 路徑

          False路徑選項(xiàng)將用于防止約束覆蓋到特定路徑

          優(yōu)先級(jí)

          從高到低為:

          1. False路徑——將會(huì)覆蓋任何其它的約束路徑

          2. FROM THRU TO

          3. FROM TO

          4. 管腳指定OFFSETs

          5. Groups OFFSETs(由寄存器或者PADS生產(chǎn)的groups)

          6. 全局PERIOD和OFFSETs——最低優(yōu)先級(jí)約束

          這里特權(quán)同學(xué)提醒大家注意的是,通常類似下面這樣的計(jì)數(shù)器絕對(duì)不可以歸為多周期約束:

          reg[15:0] counter;

          always @ (posedge clk or negedge rst_n)

          begin

          if(!rst_n) counter <= 16’d0;

          else counter <= counter+1’b1;

          end

          雖然我們想想似乎counter[1]也是2個(gè)clk變化一次,counter[2]也是4個(gè)clk變化一次……但是,我們想想看,如果從counter=1到counter=2沒(méi)有在一個(gè)clk完成,那么肯定就會(huì)影響到counter=2到counter=3的變化,對(duì)吧?所以,這樣的計(jì)數(shù)器不能算做多周期約束例外。

          提綱里描述的多周期例外的計(jì)數(shù)器應(yīng)該是這樣一個(gè)模型:

          reg[15:0] counter;

          always @ (posedge clk or negedge rst_n)

          begin

          if(!rst_n) counter[1:0] <= 2’d0;

          else counter[1:0] <= counter[1:0]+1’b1;

          end

          always @ (posedge clk or negedge rst_n)

          begin

          if(!rst_n) counter[15:2] <= 14’d0;

          else if(counter[1:0] == 2’b11) counter[15:2] <= counter[15:2]+1’b1;

          end

          上面兩個(gè)always塊里的數(shù)據(jù)互不干擾,并且都正常工作,只有下一個(gè)always塊檢測(cè)到前一個(gè)always塊里的counter[1:0]==2’b11時(shí)才進(jìn)位加1。

          寫到這里,特權(quán)發(fā)現(xiàn)單從功能上來(lái)說(shuō),這兩個(gè)例子是沒(méi)有差別的,說(shuō)白了,任何一個(gè)計(jì)數(shù)器都可以建模成后面的形式。或者說(shuō),我的問(wèn)題其實(shí)沒(méi)有說(shuō)明白,反而被自己的例子給駁倒了。

          呵呵,換個(gè)角度思考這個(gè)問(wèn)題,到底什么時(shí)候是多周期例外,什么時(shí)候不是?這個(gè)其實(shí)還是要看情況的,如果你的系統(tǒng)實(shí)時(shí)性較高,可能會(huì)在某一特定的時(shí)鐘周期用到16位計(jì)數(shù)器的計(jì)數(shù)值(如a = (counter == 16’hffff)?1b’1:1’b0; ),那么這個(gè)計(jì)數(shù)器的高位就不能算作多周期例外。而如果比如在我的一個(gè)工程里,有這樣的計(jì)數(shù)器用法:cuonter[2:0]沒(méi)16個(gè)clk的后8個(gè)clk需要自增加(從0到15),而高位counter[18:3]當(dāng)然只有在16個(gè)clk變化一次,因?yàn)檫@里counter是用于作為一個(gè)地址產(chǎn)生器,也就是說(shuō),我的地址是每16個(gè)clk的后8個(gè)clk用到,那么這里的counter[18:3]就是一個(gè)8clk的多周期例外實(shí)例。

          說(shuō)白了,還是要具體問(wèn)題具體分析。

        塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
        電容屏相關(guān)文章:電容屏原理


        關(guān)鍵詞: ISE 時(shí)序約束

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 江口县| 北川| 大石桥市| 保德县| 梅河口市| 玉山县| 博野县| 巴林右旗| 平昌县| 牙克石市| 台山市| 尼木县| 丰台区| 东至县| 兴宁市| 巧家县| 明星| 久治县| 武邑县| 吕梁市| 鄱阳县| 梨树县| 方山县| 赤水市| 遂宁市| 龙泉市| 中宁县| 日土县| 怀远县| 泽库县| 龙山县| 闻喜县| 凤冈县| 社会| 德兴市| 乌苏市| 奉新县| 岑溪市| 于田县| 怀来县| 梅州市|