999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA和BWDSP100 Link口的源同步時序約束

2015-11-04 07:54:48朱鵬夏際金
山東工業技術 2015年21期

朱鵬+夏際金

摘 要:FPGA與BWDSP100高速鏈路口數據傳輸,在300MB/s的速率下,FPGA則需要進行SDC時序約束,來確保時序準確無誤, FPGA與BWDSP100的Link口屬于源同步接口,本文利用TimeQuest時序分析工具對FPGA的LINK口邏輯進行約束,工程應用中6路LINK口能穩定工作在300MB/s的傳輸速率下。

關鍵詞:Link口;時序約束;BWDSP100;FPGA

DOI:10.16640/j.cnki.37-1222/t.2015.21.215

0 引言

BWDSP100處理器是一款32位高性能數字信號處理器,是38所自主設計和研發,面向雷達信號處理、精確制導武器、電子對抗、通信等領域。在于FPGA實現點對點通信時,采用LINK口實現高速數傳。LINK口是一種雙速率,源同步接口。在FPGA高速傳輸的LINK口邏輯設計過程中, SDC約束環節必不可少[1]。FPGA使用的是Altera公司器件,該公司的靜態時序分析工具Time Quest功能強大,支持業界標準的SDC約束,能夠提供復雜的時序約束和詳盡的分析報告。本文所做的約束是在該工具下完成的。

1 時序約束方法

FPGA設計平臺中的靜態時序分析工具(STA)可以獲得映射或布局布線后的時序分析報告,通過報告可以明確系統運行的頻率。當系統設計簡單且頻率較低時,可以不加任何時序約束。當設計不能滿足運行頻率的要求時,根據STA的結果更改設計,添加必要的時序約束條件或者選用更高速度的器件,從而提高運行的最高頻率。通過必要的時序約束可以控制邏輯的綜合、映射、布局和布線,以減少邏輯和布線延時,實現工作頻率的提高。時序約束SDC文件是標準的約束文件,添加約束主要有時鐘約束、I/O約束、偏移約束、時序例外約束、多周期約束等[2] 。

2 BWDSP100 LINK 口時序約束[3][4]

BWDSP100有8個鏈路口,分為4個發送和4個接收鏈路口,每個鏈路口由8對LVDS(8bits)數據線和3對LVDS控制線構成。鏈路口在傳輸數據時,DMA啟動信號發出,當正確配置LINK口接收端DMA控制器時,LxACKOUT拉低,通過LxIRQOUT發送“110011”的DMA請求信號,接收端收到來自LxDATOUT[0]32bit控制字,隨后LxACKOUT拉高,接收數據。當緩存填滿,乒緩存切到乓緩存時,LxIRQOUT信號拉低,兵緩存數據進行并串轉換,并發送數據。所有的并串/串并轉換、發送與接收工作都嚴格按照LxIRQOUT/LxIRQIN信號的下降沿同步。在一次接收完成時,LxACKOUT為高則繼續接收數據,為低則暫停接收。

(1)發送端邏輯功能及時序約束。在進行約束時,首先對基礎時鐘進行約束,進入FPGA內部的是150M的DSPCLK隨路時鐘,LINK口數據率300MHz,時鐘周期是6.666ns。約束如下:create_clcok period 6.666–name{DSPCLK}[get_ports {DSPCLK}].DSPCLK經PLL產生150M的L0CLKOUT和TXCLK時鐘,分別作為隨路時鐘和發送端模塊主時鐘。由于發送數據是中心對齊,所以L0CLKOUT頻移90度。其約束為:create_generated_clock –name TXCLK -source[get_pins pll|inclk[0]] [get_pins pll|clk[0]

create_generated_clock -name shifted -phase 90 –source [get_pins pll|inclk[0]] [get_pinspll|clk[1]]

create_generated_clock –name L0CLKOUT-source [get_pins pll|clk[1]] [get_ports L0CLKOUT]

當然也可以使用derive_pll_clocks自動識別并約束時鐘。對時鐘抖動不確定進行約束:set_clock_uncertainty -from {DSP1L0CLKIN} -setup 1.2。也可以使用deriver_clock_uncertainty對時鐘不確定進行約束。但是set_clock_uncertainty優先級高,并且同時使用時鐘不確定值將疊加。之后對IO延遲進行約束,有兩種方式,一種是以FPGA為中心(FPGA Centric),一種是以系統為中心(System Centric)。當FPGA為中心進行約束時需要知道FPGA在數據輸入或輸出的Skew,而以系統為中心時則需要知道器件的Tsu、Th和板級延遲等信息。本文以FPGA為中心進行討論約束,在對IO延遲約束前,Altera時序分析工具TimeQuest對FPGA的Tco進行分析,在Slow mode下和Fast mode下Tco分別為1.507和0.938ns。所以取skew取兩值平均值為1.2ns。所以對數據端口約束為:set_output_delay -max[expr 3.3 - 1.2] -clock [get_clocks L0CLKOUT] [get_ports L0CLKOUT*]

set_output_delay -min[expr -3.3 + 1.2] -clock [get_clocks L0CLKOUT][get_ports L0CLKOUT*]\-add delay

其中,對同一個端口進行約束時,要添加-add_delay,約束才生效。對下降沿同時進行相同約束,需要添加-clock_fall進行約束。

set_output_delay -max [expr 3.3-1.2] -clock [get_clocks L0CLKOUT] -clock_fall [get_ports.L0DATOUT*] -add_delayendprint

set_output_delay -min [expr-3.3-1.2] -clock [get_clocks L0CLKOUT] -clock_fall [get_ports L0CLKOUT*] -add delay

輸入數據是雙沿觸發,在進行建立時間和保持時間分析時也是對雙沿進行分析,但是雙沿觸發的數據使用的不同寄存器,相互之間不需要進行建立和保持時間的分析,所以對時鐘的上升沿和下降沿做例外約束。告訴工具放寬該路徑的約束。

set_false_path -setup -rise_from [get_clocks data_clock] -fall_to [get_clocks output_clock]

set_false_path -setup -fall_from [get_clocks data_clock] -rise_to [get_clocks output_clock]

set_false_path -hold -rise_from [get_clocks data_clock] -fall_to [get_clocks output_clock]

set_false_path -hold -fall_from [get_clocks data_clock] -rise_to[get_clocks output_clock]

(2)接收端邏輯功能及時序約束。接收端的時鐘約束,可以采用輸入時鐘作為參考,也可以創建虛擬時鐘進行約束,前者約束方法直觀,但是需要考慮板級延遲信息。后者虛擬時鐘是跟設計沒有直接關系的一個時鐘,可以準確的給出數據信號和時鐘的相對關系。Altera公司也推薦對源同步約束采用虛擬時鐘。本文創建一個頻率為150M的虛擬時鐘create_clock -name virt_clk -period 6.666。創建150M的輸入時鐘,時鐘相位與虛擬時鐘相比延遲90度。

create_clock -name L0CLKIN -period 6.666 -waveform { 1.666 5.000 }[get_ports DSP1L0CLKIN ]

對輸入數據的輸入延遲做約束,以虛擬時鐘的上升沿作為參考沿,因為虛擬時鐘與數據沿同相位,所以約束如下:set_input_delay -clock [get_clocks virt_clk] -max 0.05 [get_ports data_in*] -add_delay

set_input_delay -clock [get_clocks virt_clk] -min -0.05 [get_ports data_in*] -add_delay

其中0.05ns是設計中的skew。由于LINK口是雙沿傳輸,所以對虛

(下轉第153頁) ? ? ? ? ? ? (上接第242頁)

擬時鐘的下降沿做參考時鐘,對輸入數據進行約束。添加-clock_fall指令。

set_input_delay -clock [get_clocks virt_clk] -max 0.05[get_ports data_in*] -clock_fall -add_delay

set_input_delay -clock [get_clocks virt_clk] -min -0.05[get_ports data_in*] -clock_fall -add_delay

3 結果分析

對于高速口數據傳輸,時序分析是個反復修改和迭代過程,最終才能達到要求,圖1是Timequest對約束后LINK口端輸入延遲的分析,可以看到關鍵路徑的余量為0.778ns,時序報告滿足要求。實際工程中,FPGA使用的是altera公司EP4SE530F43I3,與兩片BWDSP100的LINK口連接,共有6路300MB/s的LINK口收發,為了驗證時序約束的的效果和正確性,兩片BWDSP100分別向FPGA發送相同數據,數據為AA55AA55,AA550000,AA550001……,LINK1是按照本文約束的方法進行約束,而第二個LINK口邏輯則是簡單的進行了時鐘的約束,而未添加相關的其它約束,采用SignalTap抓取兩路數據,結果如圖2所示,可以看到LINK1口收到正確數據,而LINK2口則會出現錯誤數據,無法正常接收數據。

4 結論

本文詳細介紹了BWDSP100的LINK口的約束方法,以FPGA為中心進行約束,約束包括輸入輸出延遲,例外約束等,并在工程中實現6路全雙工、傳輸速度300MB/s的link口傳輸。

參考文獻:

[1]BWDSP100高速鏈路口模塊的設計[J].中國集成電路,2012,03(154):60-64.

[2]Altera Corparation.AN433:constraining and analyzing source-synchronous interface.[EB/OL].www.altera.com/literature/an/an433.pdf,2007.

[3]BWDSP100 軟件用戶手冊[S].中電38所,2011.

[4]BWDSP100 硬件用戶手冊[S].中電38 所,2011.

作者簡介:朱鵬(1987-),男,河南商丘人,碩士,助理工程師,研究方向:為FPGA軟件設計。endprint

主站蜘蛛池模板: 一级看片免费视频| 国产麻豆精品久久一二三| 亚洲欧美自拍一区| 456亚洲人成高清在线| 精品无码一区二区三区电影| 亚洲性一区| 午夜精品影院| 中国一级特黄视频| 直接黄91麻豆网站| 国内毛片视频| 国产福利在线免费| 精品综合久久久久久97超人该 | 欧美a在线| 日韩精品一区二区三区视频免费看| 国产午夜一级毛片| 中国精品自拍| 国产精品美人久久久久久AV| 亚洲精品第一页不卡| 99视频在线免费观看| 亚洲日本中文字幕乱码中文| 日韩在线观看网站| 精品91自产拍在线| 亚洲日韩久久综合中文字幕| 精品少妇人妻无码久久| 国内丰满少妇猛烈精品播| 国产日本欧美亚洲精品视| 久99久热只有精品国产15| 久草热视频在线| 免费观看欧美性一级| 97人人模人人爽人人喊小说| 国产对白刺激真实精品91| 在线亚洲精品自拍| 在线无码私拍| 伊人查蕉在线观看国产精品| 色噜噜综合网| 精品亚洲欧美中文字幕在线看 | 日韩天堂视频| www.国产福利| jizz在线免费播放| 欧美综合区自拍亚洲综合绿色| 国产精品成人啪精品视频| 精品国产一二三区| 欧美中文字幕在线二区| 女人av社区男人的天堂| 国产美女精品一区二区| 日韩精品一区二区三区大桥未久 | 国产大片喷水在线在线视频| www精品久久| 女人18毛片一级毛片在线| 国产精品亚洲综合久久小说| 亚洲第一网站男人都懂| 久久中文无码精品| 久久免费视频播放| 国产成人无码久久久久毛片| 成人亚洲国产| 久久久国产精品免费视频| 一区二区日韩国产精久久| 欧美在线导航| AV不卡无码免费一区二区三区| 国产大片黄在线观看| 中文字幕免费播放| 欧美在线天堂| 久久国产成人精品国产成人亚洲| 欧美高清三区| 99久久精彩视频| 区国产精品搜索视频| 99在线视频精品| 亚洲人在线| 亚洲三级网站| 亚洲人在线| 操美女免费网站| 黄色网址免费在线| 欧美午夜在线观看| 手机在线国产精品| 亚洲最大综合网| 国外欧美一区另类中文字幕| 91福利国产成人精品导航| 国外欧美一区另类中文字幕| 色噜噜在线观看| 国产精品久久久精品三级| 国产xxxxx免费视频| 97久久超碰极品视觉盛宴|