在FPGA設(shè)計(jì)中,我們經(jīng)常會(huì)碰到這樣的情形:從快時(shí)鐘域到慢時(shí)鐘域完成位寬轉(zhuǎn)換,這時(shí),這兩個(gè)時(shí)鐘是同步的。例如:源時(shí)鐘是400MHz,數(shù)據(jù)位寬為4;目的時(shí)鐘為200MHz,數(shù)據(jù)位寬為8,這樣源時(shí)鐘域和目的時(shí)鐘域的吞吐率是一致的。這種位寬轉(zhuǎn)換可直接通過(guò)寄存器采樣實(shí)現(xiàn),時(shí)序關(guān)系如下圖所示。
圖中Source為源時(shí)鐘域(400MHz)4位數(shù)據(jù),L0代碼0號(hào)數(shù)據(jù)的低4位,H0代表0號(hào)數(shù)據(jù)的高4位,L1代表1號(hào)數(shù)據(jù)的低4位,H1代表1號(hào)數(shù)據(jù)的高4位,依此類推。Delay1為源時(shí)鐘域經(jīng)一級(jí)流水寄存器的輸出結(jié)果。Destination為目的時(shí)鐘域(200MHz)8位數(shù)據(jù)。
我們很容易搭建此電路,如下圖所示。圖中綠色計(jì)數(shù)器為400MHz時(shí)鐘域計(jì)數(shù)器,產(chǎn)生源端4位數(shù)據(jù),藍(lán)色模塊為源端流水寄存器,紅色模塊為目的端采樣寄存器。
在這種情況下,能否使用多周期路徑約束呢?這里我們看一下數(shù)據(jù)的發(fā)起沿和捕獲沿的位置,如下圖所示。圖中紅色方框?yàn)閿?shù)據(jù)發(fā)起沿(400MHz),綠色方框(黃色標(biāo)記線所在位置)為捕獲沿,兩者相差一個(gè)400MHz時(shí)鐘對(duì)應(yīng)的時(shí)鐘周期。因此,并不滿足多周期規(guī)則。這時(shí),我們只用做常規(guī)的時(shí)鐘周期約束即可,工具會(huì)自動(dòng)將這里的跨時(shí)鐘域按400MHz進(jìn)行約束。
那么快時(shí)鐘域到慢時(shí)鐘域在什么情況下可以用多周期路徑進(jìn)行約束呢?本質(zhì)上,多周期路徑是指數(shù)據(jù)的采樣率(SampleRate)是按慢時(shí)鐘域的速率進(jìn)行變化,其變化周期在慢時(shí)鐘域是單周期(一個(gè)時(shí)鐘周期變化一次),而在快時(shí)鐘域是多周期(多個(gè)時(shí)鐘周期變化一次)。滿足這種情形就可以判斷為多周期路徑。
有時(shí)在設(shè)計(jì)中會(huì)有測(cè)試模塊,或者出現(xiàn)這樣的狀況:模塊1和模塊2都工作在相同的時(shí)鐘下,該時(shí)鐘會(huì)根據(jù)設(shè)計(jì)的需要頻率會(huì)發(fā)生變化,但無(wú)論怎么變化模塊2只要滿足最低時(shí)鐘頻率的要求即可。因此,這時(shí)可對(duì)模塊2放松時(shí)序要求。只按照最低時(shí)鐘頻率約束即可。問(wèn)題是只要定義了全局時(shí)鐘(通過(guò)create_clock創(chuàng)建),該時(shí)鐘就會(huì)在模塊2中發(fā)生作用。如何覆蓋這個(gè)約束呢?如果仍通過(guò)create_clock創(chuàng)建時(shí)鐘,選項(xiàng)-period的值為時(shí)鐘周期最大值(對(duì)應(yīng)最低頻率),但以模塊2作為頂層,指定該約束針對(duì)的對(duì)象為模塊2是否可行呢?答案是否定的,因?yàn)檫@時(shí)時(shí)序分析工具會(huì)把BUFG作為時(shí)鐘的起點(diǎn),而不是把全局時(shí)鐘管腳作為起點(diǎn)。
一種可行的方法是用set_max_delay,其對(duì)象是模塊2內(nèi)的所有時(shí)序單元(模塊2內(nèi)只有一個(gè)時(shí)鐘),采用如下方式約束。第一條Tcl命令用于獲取模塊2內(nèi)所有的時(shí)序單元。
這時(shí)就可以看到時(shí)鐘的起點(diǎn)是期望的位置了。這里可以看到set_max_delay的一個(gè)用法就是覆蓋create_clock創(chuàng)建的約束。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1626文章
21667瀏覽量
601853 -
FPGA設(shè)計(jì)
+關(guān)注
關(guān)注
9文章
428瀏覽量
26484 -
寄存器
+關(guān)注
關(guān)注
31文章
5317瀏覽量
120008 -
時(shí)鐘
+關(guān)注
關(guān)注
10文章
1720瀏覽量
131364
原文標(biāo)題:這兩種情形該怎么約束
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論