<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 互連技術 > 正文

    FPGA研發之道——靈活性的陷阱

    發布時間:2014-09-03 責任編輯:echolady

    【導讀】如果說用一個詞來描述FPGA的特性,靈活性肯定名列前茅。通常我們采用以下三點來體現FPGA的靈活性:1、通過其I/O的組成各種接口與各種器件相連,支持不同的電氣特性。2、通過IP生成工具生成各種深度和寬度的內部存儲器。3、內部邏輯可生成各種類型的IP。

    FPGA研發之道——靈活性的陷阱

    圖解:FPGA 


    對于I/O接口來說,FPGA的I/O可以支持不同類型的電平和驅動能力,各I/O未定義之前其地位平等,例如一個數據信號可將其約束在任意引腳,只要其電平符合連接的規范。因此硬件工程師基于這種認識,在PCB布線時,基于布線需要,便調整其布線的順序,例如互換兩個信號的位置。通常情況上,這種調整是沒有任何問題的。但是隨著FPGA的接口IP核硬核化的趨勢,逐漸由很多的接口IP不能支持這種調整。例如對于較早的SDRAM或者DDRSDRAM來說,在xilinx和ALTERA的FPGA上,其數據、地址信號等都是可調的。但是隨著DDR2,DDR3接口的出現,其IP接口,只能支持在某個BANK并且例化結束后直接生成相應的約束文件,而這些的改動將會導致布局布線的錯誤。

    另一些例子則是一些高速SERDES的組合。例如對于XAUI接口來說,其硬核IP(ALTERA)上就不支持4組SERDES的順序互換,這將會影響其硬核FCS的編碼。如果板級連接上與PHY的順序與FPGA例化IP的約束不一致,則其硬核PCS就不能布局布線通過(軟核FCS可以支持調整)。這種靈活性認識導致硬件板級互聯的問題可謂屢見不鮮,特別是系統復雜度的上升,板級連線的增加,將會導致設計人員疏忽從而掉入“靈活性的陷阱”。

    解決此類問題的方法包括:

    (1)預評估,在設計之前就在FPGA上評估所需的接口的邏輯占用、約束位置、時鐘需求等等,預先評估給系統設計提供相應的數據支撐和設計參考。
    (2)溝通,對于設計的變更,要進行有效溝通,不能使鐵路警察,各管一段。
    (3)設計評審,雖然老套,但每個環節上的評審能有效減少掉入類似陷阱的幾率。

    對于內部存儲資源,大多數FPGA工程師就是拿來就用的狀態。而缺少整體內部memory規劃,一般來說,對于單端口、雙端口、假雙端口,各型芯片手冊中都有明確的定義,例如xilinx的SPATAN3系列中最小RAM單元為18K。一個RAM例化最小單位就是18K。而新的器件中最小單位一般為9K。也就是說雖然工程師例化的較小的RAM,例如256*16.只有4K,但是其也占用一個最小單元,根據器件的不同而不同。而亂用雙端口導致RAM資源的過分占用則是更常見的設計問題。

    FPGA內部對于單個RAM能夠支持的真雙端口是有限制的。舉例說明,對于ALTERA的9K的存儲單元一般支持512*18的雙端口RAM。但如果是一個256*32的雙端口則需要占用2個9K的存儲RAM。也就是說,RAM器件的能力是有限的,這取決于RAM的外部互聯線是有限的,以剛才說的256*32的雙端口RAM來說,其需要數據線就是64根(雙端口),對于單個RAM的連線資源來說,這是FPGA內部邏輯資源難以承受的。所以根據器件特定,合理規劃內部memory資源,才能在最大限度的達到高效的利用。

    FPGA內部可以例化各型IP,基于IP的復用的可以大大增加研發的進度。但是各種IP的互聯之間則需對IP的特性了解清楚,明確IP是否為業務所需的IP。有的IP和工程所需可能只是名稱一致,但其功能卻不是你想要的。例如網口IP在MII連接方式下,是用于FPGA連接PHY的操作。如果FPGA與CPU通過MII連接,現有的IP則難以滿足需求。這是因為MII連接PHY其所有的時鐘都是PHY提供的。CPU的設計也是與PHY連接,其時鐘也有PHY提供。而如果二者連接,就變成都等著對方提供時鐘,則就變成沒有時鐘。這種調試問題相對來說容易解決,不過在系統規劃是,就需要對整個IP是否能夠滿足系統的設計要求,有著明確的判斷。

    靈活性是FPGA最大的特性,在設計中避開那些靈活性的陷阱,才能從FPGA整體上提升設計能力,而不是做只會寫Verilog的碼農。畢竟FPGA設計不是軟件設計,其最終要成為變成硬件承載的,每一行語句都要考慮其綜合后的電路,才能真正領會FPGA設計精髓。

    相關閱讀:

    實用技術:利用FPGA技術設計步進電機系統
    設計低功耗、高性能FPGA的技術
    設計必備:不得不知的FPGA設計經驗

    要采購工具么,點這里了解一下價格!
    特別推薦
    技術文章更多>>
    技術白皮書下載更多>>
    熱門搜索
    ?

    關閉

    ?

    關閉

    久久人妻少妇嫩草AV无码蜜桃| 狠狠精品久久久无码中文字幕| 欧美激情中文字幕| 亚洲动漫精品无码av天堂| 精品久久久久久无码国产 | 中文字幕精品一区影音先锋| 国产成人无码av| 日本妇人成熟免费中文字幕| 欧美日韩毛片熟妇有码无码| 精品久久久久久无码中文字幕| 久久久久亚洲精品中文字幕| 精品久久久久久无码专区不卡 | 区三区激情福利综合中文字幕在线一区 | 中文字幕无码久久精品青草| 国产成人无码区免费内射一片色欲 | 久久亚洲av无码精品浪潮| 最好看的最新高清中文视频| AA区一区二区三无码精片| 最近免费字幕中文大全| 亚洲AV无码之日韩精品| 亚洲av无码一区二区乱子伦as| 熟妇人妻中文av无码| 日韩免费无码视频一区二区三区| 一本大道香蕉中文日本不卡高清二区| 久久久久亚洲AV无码专区体验 | 亚洲一本大道无码av天堂| 亚洲AV永久无码区成人网站| 精品人妻中文字幕有码在线 | 一本色道无码道在线观看| 中文字幕热久久久久久久| 精品无码人妻一区二区免费蜜桃 | 久久人妻少妇嫩草AV无码专区| 亚洲AV中文无码乱人伦在线视色| 中文无码喷潮在线播放| 黑人无码精品又粗又大又长| 免费a级毛片无码免费视频| 中文字幕一区二区三区5566 | 中文字幕人妻无码专区| 中文字幕精品亚洲无线码一区应用| 最近高清中文在线国语字幕5| 亚洲ⅴ国产v天堂a无码二区|