《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 用設計約束實現FPGA性能的最優化

用設計約束實現FPGA性能的最優化

2009-06-17
作者:Troy Scott

  摘? 要: 除了硬件描述語言本身的功能之外,設計約束是影響FPGA性能的重要因素。合理的設計約束能幫助設計者在設計流程的各個相應階段通過優化來滿足設計目標。本文以萊迪思公司的FPGA設計工具為例,論述如何用設計約束實現FPGA性能最優化。
  關鍵詞: FPGA;設計約束;綜合約束;后端約束

?

  除了硬件描述語言本身的功能之外,設計約束是影響FPGA性能的第二大因素。許多設計者沒有花費足夠的時間進行約束設計,而是在設計流程中試圖通過各種各樣的布局布線工具選項和手工布局來實現時序要求。這些方法不僅費時,而且在設計的下一個版本中存在不能工作的可能。合理的設計約束能幫助設計者在設計流程的各個相應階段通過優化來滿足設計目標。
  FPGA設計約束表達了超越硬件描述語言的設計意圖。最普通的是目標器件的時序特性,此外還包括針對設計優化的指示、I/O編程,或者物理布局。本文以萊迪思公司的FPGA為例進行說明,所論述的大多數技術同樣適用于其他可編程集成電路設計工具。
數據流程的綜合與實現
  圖1為基于Synplicity公司的Synplify和萊迪思半導體公司的ispLEVER FPGA設計工具的約束數據流程,其中特別強調了約束流程。通過圖形編輯器對SCOPE和 Design Planner進行約束,或者將VHDL屬性和Verilog注釋嵌入到硬件描述語言的源代碼中,還可以將硬件描述語言與約束編輯器組合以指導綜合與布局布線工具。

?


  第一個處理模塊為Synplify編譯器和綜合算法?;谟布枋稣Z言的約束與Synplicity設計約束(SDC)文件直接用于Synplify優化與綜合引擎。時序約束指導嵌入式時序分析、邏輯優化算法,同時映射出控制約束指示在目標網表中所使用的庫類型。
  實現綜合之后,得到后端工具所用的設計約束。ispLEVER Design Planner用來表達時序目標和許多物理實現細節,例如I/O與物理布局。在設計映射階段使用Lattice LPF約束文檔進行I/O編程與時序優化。將硬件描述語言中產生的ispLEVER的約束合并至基于LPF的約束,并寫至PRF文檔。對post-synthesis網表的任何邏輯引用都自動地翻譯成物理單元,如FPGA的Slices、DSP或者EBR塊。物理參考文件用于布局與布線,以及靜態時序分析工具,這些都是FPGA實現工具的一部分。布局與布線之后,通常會將更加精確的時序反注至綜合階段。黑盒IP時序和布線延時改進了綜合時序分析的精確性。
  Synplicity在指示與屬性約束之間做出了區分。指示影響了映射優化,時序約束用來定義時鐘、I/O時序、時鐘或路徑之間的多周期關系及例外的時序。為了使代碼盡可能簡潔,在SDC文件中保留了時序約束。嵌入在硬件描述語言中的時序約束通常為黑盒子的IP核所保留,綜合時序分析器不能得到這些細節。在這些情況下,IP供應商經常會提供用于分析的時序細節。
  圖形約束編輯器SCOPE提供了方便的初始化方法,以瀏覽設計信號、指定時序約束。編輯器輸出以ASCII SDC格式存儲。圖2為Synplify SCOPE約束編輯器的界面。


  時序約束應該覆蓋設計的基本特性,例如clock、I/O延時和異步路徑的點對點延時。如果一個時鐘域傳遞數據到另外一個域,則應該用多周期類型優先選擇定義所需要的周期數。下面以Synplify SCOPE建立的SDC文檔為例說明這一點。
Synplify SDC文檔:
//Clock with specific duty cycle and
period goal
define_clock{CLK1}-period 10.0-clock-
group default_clkgroup
//I/O delays of top-level ports
define_input_delay{porta[7:0]}7.8-ref
clk1:r
define_output_delay{portb[7:0]}10-ref
clk1:r
//Point-to-point delay
define_path_delay-from {i:dmux.alua[5]}-
?to{i:regs.mem_regfile_15[0]}max 0.800
//Multi-clock cycle conditions
define_multicycle_path-from{i:regs.addr
  [4:0]}-to{i:special_regs.w[7:0]}2
  Synplify SDC提供了豐富的詞表來定義并編譯邏輯相關的設計單元,包括I/O端口、時鐘網絡以及同步RTL結構推出的寄存器單元。在編譯期間,Synplify進行靜態時序分析,包括針對所有時鐘、時鐘關系以及接口時序的性能報告。雖然結果沒有后布局布線結果那么精確,但是作為性能的重要指示,它提供了針對時序逼近的重要檢測點,是滿足最終速度目標的一個好的指示器。Synplify報告文件如圖3所示。


  對于Synplify,可通過數個編譯器進行優化約束。流行的控制類型有狀態機編碼、分層保持以及存儲器工藝目標。這里以狀態機編碼為例說明編譯器約束。Synplify FSM編譯器特性根據狀態機的數目設定編碼類型:如果狀態機狀態多達4個,針對非常緊湊的實現,可采用時序編碼;如果狀態機狀態多達5~40個,將產生高性能的獨熱編碼(OHE);超過40個狀態將產生格雷碼。如果有特殊的設計要求,則根據不同的情況來控制有限狀態機編碼,以狀態寄存器聲明中的syn_encoding為指示。
VHDL實例:
library synplify;
use synplify.attributes.all;
package my_states is
type state_type is(Xstate,st0,st1,st2,
st3,st4,st5,st6,st7,st8,st9,st10,st11,
st12,st13,st14,st15);
signal state:state_type;
attribute syn_encoding of state:signal is ″gray″;
end my_states;
  該包聲明了自定義的數據類型“state_type”、state_type類型的信號,syn_encoding屬性設置促成狀態寄存器的格雷碼。
  在輸出的log文件中,Synplify給出了每個編碼狀態機FSM的報告:
Finished RTL optimizations(Time elapsed
0h:00m:00s;Memory used current:50MB
peak:51MB)
Encoding state machine work.fsm(rtl)-_work_my_states_state_1[0:16]
original code -> new code
?00000000000000001 -> 00000
?00000000000000010 -> 00001
?00000000000000100 -> 00011
?00000000000001000 -> 00010
?00000000000010000 -> 00110
?00000000000100000 -> 00111
?00000000001000000 -> 00101
?00000000010000000 -> 00100
?00000000100000000 -> 01100
?00000001000000000 -> 01101
?00000010000000000 -> 01111
?00000100000000000 -> 01110
?00001000000000000 -> 01010
?00010000000000000 -> 01011
?00100000000000000 -> 01001
?01000000000000000 -> 01000
?10000000000000000 -> 11000
  輸出報告證實,基于SDC與HDL的約束改進了綜合的結果。

FPGA布局布線后端約束
  ispLEVER實現工具的約束覆蓋了時序性能與設計實現的許多方面。首先約束寫到寄存器傳輸級,或者門、端口以及從RTL推出的網表;然后約束寫到FPGA的物理單元,例如可編程功能單元、針對存儲器的嵌入式ASIC塊,或者DSP與可編程I/O單元。后端約束通常用來定義I/O編程、I/O布局與時序目標。它們可以定義可編程塊的參數,如存儲器或PLL/DLL電路。約束可以指導邏輯布局、器件布局,以及針對模塊設計流進行設計分割。與綜合約束相同,后端約束基于硬件描述語言或者ASCII文本文件。
  ispLEVER的Design Planner提供圖形接口以瀏覽post-synthesis網表的內容,寫約束根據端口、網表、寄存器和ASIC塊設定。
  時序約束應該覆蓋基本的約束特性,包括時鐘、I/O延時以及點對點延時。約束時序目標通常作為一種手段來提高綜合與布局布線的等級。實際上可以保留約束文件的多個版本,在約束文件中應該針對邏輯優化,其余的完全用于靜態時序分析,使用“real”結束時序。下面以Design Planner建立的LPF文檔為例說明普通的時序情況。ispLEVER報告文件如圖4所示。

?

ispLEVER LPF 文檔:
# Clock with specific duty cycle and
period goal PERIOD PORT “CLK1”
10.0 ns;
# I/O delays of top-level ports
INPUT_SETUP“porta[7:0]”7.8 ns CLKPORT“clk1”;
CLOCK_TO_OUT“portb[7:0]”10 ns CLKPORT“clk1”;
# Point-to-point delay
MAXDELAY FROM CELL“dmux”TO CELL“regs”0.800 ns;
# Multi-clock cycle conditions
MULTICYCLE“M1”FROM CELL“regs”TO CELL special_regs 2X;
# Ignore during timing analysis,lower
priority BLOCK NET FROM CELL“myInst1_reg”TO CELL “myInst3_reg”;
  硬件描述語言中的一些屬性可用于指導FPGA實現。常用的控制類型有I/O位置、邏輯“don′t touch”類型指示與邏輯組合。為了說明基于硬件描述語言的后端約束,考慮邏輯組合屬性-分層組合(HGROUP)指導布局算法,將組的成員在器件中接近放置,這種類型的屬性有助于改進時序,使得并行運行的結果更加一致。
VHDL實例:
attribute HGROUP:? string;
attribute BBOX:??? string;
attribute HGROUP of struct: architecture
is ″pgroup1″;
attribute BBOX?? of struct: architecture
is ″5,15″;
  這個屬性定義了一個與結構相關的標志“pgroup1”。結構體的所有邏輯約束行高為5,列寬為15的邊界框,此區域用目標器件的行和列單元表示。
  進一步考慮LPF中的布局。例如:
  # Anchor pgroup1
  LOCATE HGROUP″pgroup1″
  SITE R11C2D;
  這個優選指示放置器錨定以5×15邊界的NW角,位于目標器件的第11行、第2列。如何組合硬件描述語言與基于LPF的后端約束是指導布局的非常有效的辦法。確保組的內容,根據源代碼的內容自動地更新,使硬件描述語言更加簡捷。
用設計約束起步
  為了在設計之初定義可實現的參數,綜合與實現后端產生的分析報告顯得尤為重要。下面的報告將幫助加速關鍵的后端約束定義。
時序約束
  根據Synplify綜合報告,針對時鐘與I/O時序的約束取決于布線擁堵情況。從綜合估計中可以發現變化的程度,期望目標速度為綜合報告的±20%。
I/O Plan
  初始狀態下,為I/O定義信號標準,并盡可能對包作浮動指定??紤]信號標準支持,根據器件組的變化,采用自動布局法尋找合適的布局。引腳接口穩定時,反注指定LPF優選文件。
  圖5展示了在Design Planner Floorplan View中如何實現時序和I/O約束。

Floor Plan
  用基于初始、low-effort的“flat”布局來指導floor plan。突出層次分支以決定使用的分支?;跀祿鞔_定PIO的位置和區域的相對位置。圖6展示了Design Planner Floorplan View中突出層次分支的情況。

?


  FPGA設計約束表達了超越硬件描述語言的設計目的,對優化器件的性能發揮了主要作用。約束規劃應覆蓋針對時鐘與I/O的關鍵時序目標,以及多周期關系與設計的時序期望。約束可以以設計單元表示,通過提取改變級數,從RTL到post-synthesis塊以及網表,使用混合的基于HDL與SDC、或者LPF的約束是最有效的約束設計方法。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲欧美影音先锋| 国产精品美女一区二区| 欧美黑人国产人伦爽爽爽| 亚洲国产天堂网精品网站| 国产欧美一区二区三区沐欲| 国产亚洲欧洲| 国产精品久久久久久久午夜| 狠狠色伊人亚洲综合网站色| 欧美—级在线免费片| 午夜亚洲福利| 亚洲欧美日韩精品久久亚洲区| 欧美高清在线一区| 亚洲欧美日韩一区在线观看| 在线综合+亚洲+欧美中文字幕| 一本大道久久a久久精二百| 久久狠狠婷婷| 影音先锋久久| 久久综合久久综合九色| 日韩午夜一区| 日韩五码在线| 一区二区三区精品久久久| 欧美视频一区在线| 欧美日韩一区不卡| 亚洲精品日产精品乱码不卡| 韩国女主播一区二区三区| 好吊色欧美一区二区三区四区| 欧美一区二区三区另类| 亚洲欧美国产精品va在线观看| 欧美国产三级| 欧美日韩综合在线免费观看| 亚洲一区二区三区涩| 日韩视频免费在线观看| av成人免费观看| 在线观看的日韩av| 国产一区在线观看视频| 亚洲免费视频观看| 亚洲砖区区免费| 欧美日韩成人综合| 国语精品一区| 欧美日韩国产综合新一区| 性欧美video另类hd性玩具| 国产精品久久久久9999高清| 亚洲欧美福利一区二区| 国产精品视频免费一区| 亚洲国产精品视频| 欧美日韩国产综合在线| 欧美日韩在线一区二区三区| 亚洲欧美视频在线观看视频| 欧美国产精品一区| 国产伦精品一区二区三区高清版| 欧美在线1区| 在线观看91精品国产入口| 亚洲女人小视频在线观看| 最新国产乱人伦偷精品免费网站| 最新精品在线| 日韩视频免费观看| 国产精品xxxav免费视频| 国产精品欧美日韩久久| 久久精品女人天堂| 亚洲精品在线二区| 久久久久久久久综合| 日韩视频在线观看免费| 欧美韩日亚洲| 欧美四级伦理在线| 国产欧美一二三区| 99在线热播精品免费| 欧美激情久久久久久| 久久aⅴ乱码一区二区三区| 国产精品美女久久久久aⅴ国产馆| 一区二区三区波多野结衣在线观看| 国产精品男gay被猛男狂揉视频| 亚洲一区二区三区四区五区黄| 伊人久久噜噜噜躁狠狠躁| 性做久久久久久久免费看| 亚洲精品少妇网址| 国产精品高清在线| 亚洲欧洲综合另类| 亚洲精品乱码久久久久久日本蜜臀| 亚洲每日更新| 欧美极品一区二区三区| 一区二区高清在线| 国产精品一二一区| 欧美精品激情在线观看| 亚洲欧美变态国产另类| 欧美日韩大片一区二区三区| 欧美精品一区二区蜜臀亚洲| 午夜精品久久99蜜桃的功能介绍| 欧美高清视频免费观看| 国产精品99久久久久久人| 久久av一区二区| 国产一区二区三区av电影| 久久视频这里只有精品| 亚洲午夜av在线| 久久精品国产亚洲一区二区三区| 黄色成人在线免费| 在线免费日韩片| 极品少妇一区二区三区精品视频| 欧美日韩国产欧| 欧美美女日韩| 国产精品日韩欧美大师| 久久只有精品| 黄色成人在线网站| 韩国一区二区三区美女美女秀| 国产精品乱码一区二三区小蝌蚪| 欧美色综合天天久久综合精品| 久久国产精品久久久| 欧美在线www| 国产精品亚洲综合天堂夜夜| 裸体歌舞表演一区二区| 国产精品v欧美精品∨日韩| 欧美精品日韩精品| 欧美日韩国产高清视频| 亚洲人成毛片在线播放| 国产精品99久久久久久www| 欧美激情黄色片| 免费视频一区二区三区在线观看| 久久精品夜色噜噜亚洲aⅴ| 最新国产乱人伦偷精品免费网站| 久久国产免费看| 午夜日韩电影| 亚洲国产精品第一区二区三区| 亚洲先锋成人| 久久米奇亚洲| 欧美一区二区在线免费播放| 欧美日韩另类一区| 午夜精品一区二区三区电影天堂| 狼人社综合社区| 国产精品美女久久| 娇妻被交换粗又大又硬视频欧美| 欧美另类极品videosbest最新版本| 性欧美videos另类喷潮| 国产伦理精品不卡| 亚洲图片在线| 国产亚洲精品久久飘花| 国产精品久久久久久久app| 亚洲制服少妇| 欧美精彩视频一区二区三区| 久久久久九九视频| 欧美伊人精品成人久久综合97| 麻豆九一精品爱看视频在线观看免费| 一区二区三区日韩欧美| 亚洲人成艺术| 欧美激情精品久久久久久大尺度| 黄网站色欧美视频| 亚洲精品免费在线观看| 欧美高清成人| 欧美一区二区在线观看| 亚洲欧美日韩天堂一区二区| 国产日韩欧美不卡| 亚洲一区精品电影| 亚洲在线观看免费视频| 欧美一区二区三区播放老司机| 欧美在线一区二区三区| 国产精品福利久久久| 欧美视频在线观看| 欧美日韩精品一区二区天天拍小说| 在线 亚洲欧美在线综合一区| 亚洲激情视频在线播放| 一区免费在线| 国外视频精品毛片| 久久国内精品自在自线400部| 欧美一区二区黄色| 国产精品国产福利国产秒拍| 国产精品v日韩精品v欧美精品网站| 欧美调教视频| 国产精品日韩| 欧美日韩国产亚洲一区| 欧美成人一区二区三区在线观看| 日韩视频专区| 亚洲一区二区三区国产| 亚洲精品乱码久久久久久日本蜜臀| 亚洲天堂免费在线观看视频| 亚洲午夜在线| 狠狠色狠狠色综合日日tαg| 99v久久综合狠狠综合久久| 性欧美精品高清| 狠久久av成人天堂| 欧美中文字幕不卡| 免费成人av| 欧美日韩国产综合视频在线| 欧美精品一线| 欧美成人一区二区三区片免费| 亚洲视频观看| 国产精自产拍久久久久久| 快she精品国产999| 久久精品一区二区| 裸体一区二区| 久久在线免费| 国产一区二三区| 亚洲男人的天堂在线aⅴ视频| 欧美人与禽性xxxxx杂性| 麻豆精品在线观看| 免费短视频成人日韩| 欧美一级淫片aaaaaaa视频| 欧美日韩亚洲网| 亚洲人成人一区二区在线观看| 亚洲国产精品v| 蜜月aⅴ免费一区二区三区| 久久国产一区| 欧美一区日本一区韩国一区| 久久精品亚洲精品国产欧美kt∨| 香蕉尹人综合在线观看| 久久视频一区二区| 另类欧美日韩国产在线| 亚洲午夜免费福利视频| 欧美在线视频a| 国产日韩欧美制服另类| 亚洲精品中文字幕有码专区| 欧美精品在线免费观看| 久久超碰97人人做人人爱| 午夜精品久久久久久| 欧美精品一二三| 亚洲福利视频一区| 亚洲福利视频免费观看| 国产精品国产自产拍高清av王其| 亚洲一区二区精品视频| 欧美激情第三页| 久久大香伊蕉在人线观看热2| 国产精品亚洲а∨天堂免在线| 国产一区二区三区在线免费观看| 在线播放日韩欧美| 亚洲成人在线免费| 亚洲欧美日本在线| 亚洲精品日韩欧美| 午夜精品久久久久久久99热浪潮| 国产日产精品一区二区三区四区的观看方式| 欧美区一区二区三区| 午夜视频久久久久久| 亚洲高清中文字幕| 欧美午夜剧场| 国产欧美一区二区精品性色| 99国产精品视频免费观看一公开| 伊人久久男人天堂| 亚洲黄色毛片| 日韩视频在线观看国产| 国产精品乱码| 亚洲自拍啪啪| 国产视频久久网| 亚洲免费在线视频| 久久久999精品| 欧美在线影院在线视频| 亚洲国产一区二区精品专区| 亚洲精品国久久99热| 欧美国产日韩精品| 亚洲电影免费| 久久国产精品第一页| 久久久无码精品亚洲日韩按摩| **性色生活片久久毛片| 国产精品久久久一区麻豆最新章节| 亚洲免费一区二区| 久久这里只有精品视频首页| 国产精品视频一区二区高潮| 黄色成人在线| 欧美日韩1080p| 亚洲视频一区在线| 午夜国产欧美理论在线播放| 亚洲综合久久久久| 久久免费精品视频| 亚洲一区二区久久| 欧美大成色www永久网站婷| 国产精品婷婷午夜在线观看| 一区二区三区波多野结衣在线观看| 欧美精品久久久久久久久老牛影院| 久久se精品一区二区| 久久夜色精品国产亚洲aⅴ| 亚洲欧美第一页| 国产欧美日韩一区二区三区在线| 国产午夜精品一区理论片飘花| 国产综合一区二区| 亚洲伦理自拍| 久久久久久精| 欧美日韩免费观看一区二区三区| 日韩视频在线永久播放| 夜夜嗨av一区二区三区| 久久精品91| 欧美日韩国产在线一区| 国产精品区一区二区三区| 一本一本大道香蕉久在线精品| 久久久噜噜噜久久久| 国产伦精品一区二区三区免费| 欧美日韩xxxxx| 久久久青草青青国产亚洲免观| 99视频热这里只有精品免费| 国产精品久久久久一区二区三区| 亚洲国产专区| 国产一区在线免费观看| 国产精品theporn| 狂野欧美激情性xxxx欧美| 久久精品亚洲精品国产欧美kt∨| 国产一区日韩二区欧美三区| 在线成人国产| 欧美日韩国产精品一区二区亚洲| 欧美一区二区三区婷婷月色| 狠狠色综合一区二区| 激情欧美亚洲| 国产视频一区在线| 国产精品日产欧美久久久久| 国产欧美日韩麻豆91| 欧美激情性爽国产精品17p| 亚欧美中日韩视频| 亚洲一区久久| 在线免费精品视频| 国内精品久久久久影院薰衣草| 亚洲美女福利视频网站| 国产农村妇女毛片精品久久莱园子| 99精品免费视频| 免费看黄裸体一级大秀欧美| 99亚洲一区二区| 欧美日韩亚洲免费| 篠田优中文在线播放第一区| 伊人精品成人久久综合软件| 韩国成人理伦片免费播放| 国产精品久久久久影院亚瑟| 亚洲高清av| 一区二区久久久久久| 亚洲第一狼人社区| 亚洲精品免费在线播放| 久久国产精品久久w女人spa| 欧美成人免费va影院高清| 免费亚洲婷婷| 国产一区二区三区自拍| 欧美久久成人| 亚洲桃花岛网站| 亚洲欧洲一二三| 欧美sm视频| 午夜激情亚洲| 欧美有码在线观看视频| 亚洲综合精品自拍|