資源描述:
《Xilinx FPGA編程技巧常用時(shí)序約束介紹.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、XilinxFPGA編程技巧常用時(shí)序約束介紹 1.基本的約束方法 為了保證成功的設(shè)計(jì),所有路徑的時(shí)序要求必須能夠讓執(zhí)行工具獲取。最普遍的三種路徑為: 輸入路徑(InputPath),使用輸入約束 寄存器到寄存器路徑(Register-to-RegisterPath),使用周期約束 輸出路徑(OutputPath),使用輸出約束 具體的異常路徑(Pathspecificexceptions),使用虛假路徑.多周期路徑約束 1.1.輸入約束InputConstraint OFFSETIN約束限定了輸入數(shù)據(jù)和輸入時(shí)鐘邊沿的關(guān)系?!?/p>
2、 1.1.1.系統(tǒng)同步輸入約束SystemSynchronousInput 在系統(tǒng)同步接口中,同一個(gè)系統(tǒng)時(shí)鐘既傳輸數(shù)據(jù)也獲取數(shù)據(jù)。考慮到板子路徑延時(shí)和時(shí)鐘抖動(dòng),接口的操作頻率不能太高?! ?.1簡(jiǎn)化的系統(tǒng)同步輸入SDR接口電路圖 1.2SDR系統(tǒng)同步輸入時(shí)序 上述時(shí)序的約束可寫為: NET“SysClk”TNM_NET=“SysClk”; TIMESPEC“TS_SysClk”=PERIOD“SysClk”5nsHIGH50%; OFFSET=IN5nsVALID5nsBEFORE“SysClk”; 1.1.2.源同步
3、輸入約束SourceSynchronousInput 在源同步接口中,時(shí)鐘是在源設(shè)備中和數(shù)據(jù)一起產(chǎn)生并傳輸?! ?.3簡(jiǎn)化的源同步輸入DDR接口電路 1.4DDR源同步輸入時(shí)序 上圖的時(shí)序約束可寫為: NET“SysClk”TNM_NET=“SysClk”; TIMESPEC“TS_SysClk”=PERIOD“SysClk”5nsHIGH50%; OFFSET=IN1.25nsVALID2.5nsBEFORE“SysClk”RISING; OFFSET=IN1.25nsVALID2.5nsBEFORE“SysClk”
4、FALLING; 1.2.寄存器到寄存器約束Register-to-RegisterConstraint 寄存器到寄存器約束往往指的是周期約束,周期約束的覆蓋范圍包括: 覆蓋了時(shí)鐘域的時(shí)序要求 覆蓋了同步數(shù)據(jù)在內(nèi)部寄存器之間的傳輸 分析一個(gè)單獨(dú)的時(shí)鐘域內(nèi)的路徑 分析相關(guān)時(shí)鐘域間的所有路徑 考慮不同時(shí)鐘域間的所有頻率.相位.不確定性差異 1.2.1.使用DLL,DCM,PLL,andMMCM等時(shí)鐘器件自動(dòng)確定同步關(guān)系 使用這一類時(shí)鐘IPCore,只需指定它們的輸入時(shí)鐘約束,器件將自動(dòng)的根據(jù)用戶生成IPCore時(shí)指定的參數(shù)約束
5、相關(guān)輸出,不需用戶手動(dòng)干預(yù)?! ?.5輸入到DCM的時(shí)鐘約束 上圖的時(shí)序約束可寫為: NET“ClkIn”TNM_NET=“ClkIn”; TIMESPEC“TS_ClkIn”=PERIOD“ClkIn”5nsHIGH50%; 1.2.2.手動(dòng)約束相關(guān)聯(lián)的時(shí)鐘域 在某些情況下,工具并不能自動(dòng)確定同步的時(shí)鐘域之間的時(shí)鐘時(shí)序關(guān)系,這個(gè)時(shí)候需要手動(dòng)約束。例如:有兩個(gè)有相位關(guān)系的時(shí)鐘從不同的引腳進(jìn)入FPGA器件,這個(gè)時(shí)候需要手動(dòng)約束這兩個(gè)時(shí)鐘?! ?.6通過兩個(gè)不同的外部引腳進(jìn)入FPGA的相關(guān)時(shí)鐘 上圖的時(shí)序約束可寫為: NE
6、T“Clk1X“TNM_NET=“Clk1X”; NET“Clk2X180“TNM_NET=“Clk2X180”; TIMESPEC“TS_Clk1X”=PERIOD“Clk1X75ns; TIMESPEC”TS_Clk2X180“=PERIOD”Clk2X180“TS_Clk1X/2PHAS2+1.25ns; 1.2.3.異步時(shí)鐘域 異步時(shí)鐘域的發(fā)送和接收時(shí)鐘不依賴于頻率或相位關(guān)系。因?yàn)闀r(shí)鐘是不相關(guān)的,所以不可能確定出建立時(shí)間.保持時(shí)間和時(shí)鐘的最終關(guān)系。因?yàn)檫@個(gè)原因,Xilinx推薦使用適當(dāng)?shù)漠惒皆O(shè)計(jì)技術(shù)來保證對(duì)數(shù)據(jù)的成功獲取。
7、Xilinx約束系統(tǒng)允許設(shè)計(jì)者在不需考慮源和目的時(shí)鐘頻率.相位的情況下約束數(shù)據(jù)路徑的最大延時(shí)?! ‘惒綍r(shí)鐘域使用的約束方法的流程為: 為源寄存器定義時(shí)序組 為目的寄存器定義時(shí)序組 使用From-to和DATAPATHDELAY關(guān)鍵字定義寄存器組之間的最大延時(shí) 1.3.輸出約束OutputConstraint 輸出時(shí)序約束約束的是從內(nèi)部同步元件或寄存器到器件管腳的數(shù)據(jù)?! ?.3.1.系統(tǒng)同步輸出約束SystemSynchronousOutputConstraint 系統(tǒng)同步輸出的簡(jiǎn)化模型如圖所示,在系統(tǒng)同步輸出接口中,傳輸和獲取
8、數(shù)據(jù)是基于同一個(gè)時(shí)鐘的?! ?.7系統(tǒng)同步輸出 其時(shí)序約束可寫為: NET“ClkIn”TNM_NET=“ClkIn”; OFFSET=OUT5nsAFTER“ClkI