在ISE軟件中為源同步接口增加了datasheet報告的新功能,目的是幫助設計者在FPGA實現(xiàn)之后明白時鐘和數(shù)據(jù)的關系,并且把時鐘調(diào)整到數(shù)據(jù)中間。圖1所示范例描述了一個實際的應用,數(shù)據(jù)和時鐘路徑中都有延時和相位調(diào)整電路。表格中"Source Offset To Cente"(灰色顯示)部分表示數(shù)據(jù)源相對中間位置的偏移量,即如果數(shù)據(jù)延時可以調(diào)整,那么需要調(diào)整多大延時才可以讓時鐘位于數(shù)據(jù)中間,時序圖中標出了這個偏移量的含義。在這個例子中都是負值,它表示需要減小數(shù)據(jù)延時才可以讓時鐘處在數(shù)據(jù)中間。
圖1 ISE工具輸出的源同步報告示意
圖中所示表格的另一個特點是其會考慮整個數(shù)據(jù)總線的每一位來決定需要調(diào)整多大的延時才能讓時鐘處在最理想的數(shù)據(jù)窗口中間。圖2 所示的時序為一個4位總線的例子,在內(nèi)部寄存器的輸入端口上每一位(bit)的數(shù)據(jù)與時鐘的關系都不同。我們來分析報告中指出的理想偏移值1.901ns(理想的時鐘采樣位置與實際的時鐘位置的偏差)是如何計算得來的。為了尋找到整個`總線的最佳采樣位置,必須用最差情況的Setup Slack和Hold Slack來計算。從圖中看出4位中最小的建立時間(Setup Slack)為0.276ns,最小的保持時間(Hold Slack)為4.078ns。結合上述的分析,整個總線的數(shù)據(jù)有效窗口就應該是0.276ns+4.078ns=4.354ns。那么數(shù)據(jù)有效窗口的中間位置就是最佳的時鐘采樣位置,這個位置就是4.354ns/2=2.177ns。既然當前的建立時間是0.276ns,那么距離最佳的時鐘采樣位置就還差了2.177ns-0.276ns=1.901ns,如圖4-33中的“Ideal Clock Offest To Actual Clock”所提示的信息。這是一個非常重要而有用的信息,它告訴了用戶還需要把時鐘延時增加1.901ns才能讓輸入寄存器的時鐘處在最佳的采樣位置。需要解釋的是,表格中的最后一列“Source Offset To Center”顯示都是負值,這實際上是從數(shù)據(jù)的角度來看問題。這些負值實際上告訴用戶,也可以不改變時鐘延時,而把數(shù)據(jù)延時減小,這樣也能讓輸入寄存器的時鐘處在最佳的采樣位置。在這種情況下,需要根據(jù)表中給出的每位信息分別減小各路數(shù)據(jù)的延時;反之,如果是正值,則表示需要增大數(shù)據(jù)延時或減小時鐘延時。
圖2 4位數(shù)據(jù)流的DDR時序分析報告
我們在時序報告中可以看到更具體的路徑分析,如圖3所示上升沿數(shù)據(jù)組和下降沿數(shù)據(jù)組會分別被分析,這是因為分別為其做了不同的約束。
ISE的語言模板中同樣也有源同步接口約束的UCF例子,并有詳細的解釋如圖4所示。
圖3 上升沿數(shù)據(jù)組和下降沿數(shù)據(jù)組會分別被分析
圖4 ISE模板中的UCF例子
來源:ks990次