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

主站蜘蛛池模板: 国产精品制服| 午夜高清国产拍精品| 欧美日韩国产在线观看一区二区三区 | 精品无码一区二区三区在线视频| 2022国产无码在线| 精品人妻无码中字系列| 香蕉色综合| 精品少妇人妻无码久久| 国产精品人莉莉成在线播放| 成人在线综合| 97超爽成人免费视频在线播放| 国产自无码视频在线观看| 91精品国产情侣高潮露脸| 97超爽成人免费视频在线播放| 熟女日韩精品2区| 亚洲伦理一区二区| 欧美成人怡春院在线激情| 欧美成人国产| 性激烈欧美三级在线播放| 97人妻精品专区久久久久| 亚洲av综合网| 日本尹人综合香蕉在线观看| 国产成人福利在线| 成人免费视频一区| 免费av一区二区三区在线| 日韩av高清无码一区二区三区| 国产av一码二码三码无码| 国产欧美成人不卡视频| 99re视频在线| 一本久道热中字伊人| 91久久青青草原精品国产| 亚洲伊人天堂| 一级成人a做片免费| 91原创视频在线| 综合人妻久久一区二区精品| 孕妇高潮太爽了在线观看免费| 亚洲bt欧美bt精品| 久久a毛片| 欧洲一区二区三区无码| 天天操天天噜| 色综合网址| 夜夜操国产| 一区二区理伦视频| 国产在线欧美| 一本色道久久88综合日韩精品| 99久久精品国产综合婷婷| 久久精品这里只有精99品| 亚洲国产中文综合专区在| 天堂亚洲网| 久久国产精品77777| 亚洲精品片911| 毛片免费在线视频| 亚洲精品国产自在现线最新| 91福利一区二区三区| 亚洲大尺码专区影院| 亚洲精品国产综合99久久夜夜嗨| 亚洲国产亚综合在线区| 午夜老司机永久免费看片| 国产91特黄特色A级毛片| 国产H片无码不卡在线视频| 亚洲国产精品人久久电影| 色网在线视频| 五月天丁香婷婷综合久久| jizz国产在线| 国产爽爽视频| 亚洲综合狠狠| 精品视频第一页| 福利国产微拍广场一区视频在线| 2021国产精品自产拍在线| 久久99久久无码毛片一区二区| 欧美国产日本高清不卡| 日韩黄色在线| 国产精品入口麻豆| 人妻一本久道久久综合久久鬼色| 国产好痛疼轻点好爽的视频| 五月天在线网站| 伊人成人在线| 成人永久免费A∨一级在线播放| 国产精品手机在线播放| 欧洲亚洲一区| 精品人妻无码中字系列| 制服丝袜一区|