不管你是一名邏輯設計師、硬件工程師或系統工程師,甚或擁有所有這些頭銜,只要你在任何一種高速和多協議的復雜系統中使用了FPGA,你就很可能需要努力解決好器件配置、電源管理、IP集成、信號完整性和其他的一些關鍵設計問題。不過,你不必獨自面對這些挑戰,因為在當前業內領先的FPGA公司里工作的應用工程師每天都會面對這些問題,而且他們已經提出了一些將令你的設計工作變得更輕松的設計指導原則和解決方案。
I/O信號分配
可提供最多的多功能引腳、I/O標準、端接方案和差分對的FPGA在信號分配方面也具有最復雜的設計指導原則。盡管Altera的FPGA器件沒有設計指導原則(因為它實現起來比較容易),但賽靈思的FPGA設計指導原則卻很復雜。但不管是哪一種情況,在為I/O引腳分配信號時,都有一些需要牢記的共同步驟:
1. 使用一個電子數據表列出所有計劃的信號分配,以及它們的重要屬性,例如I/O標準、電壓、需要的端接方法和相關的時鐘。
2. 檢查制造商的塊/區域兼容性準則。
3. 考慮使用第二個電子數據表制訂FPGA的布局,以確定哪些管腳是通用的、哪些是專用的、哪些支持差分信號對和全局及局部時鐘、哪些需要參考電壓。
4. 利用以上兩個電子數據表的信息和區域兼容性準則,先分配受限制程度最大的信號到引腳上,最后分配受限制最小的。例如,你可能需要先分配串行總線和時鐘信號,因為它們通常只分配到一些特定引腳。
5. 按照受限制程度重新分配信號總線。在這個階段,可能需要仔細權衡同時開關輸出(SSO)和不兼容I/O標準等設計問題,尤其是當你具有很多個高速輸出或使用了好幾個不同的I/O標準時。如果你的設計需要局部/區域時鐘,你將可能需要使用高速總線附近的管腳,最好提前記住這個要求,以免最后無法為其安排最合適的引腳。如果某個特定塊所選擇的I/O標準需要參考電壓信號,記住先不要分配這些引腳。差分信號的分配始終要先于單端信號。如果某個FPGA提供了片內端接,那么它也可能適用于其他兼容性規則。
6. 在合適的地方分配剩余的信號。
在這個階段,考慮寫一個只包含端口分配的HDL文件。然后通過使用供應商提供的工具或使用一個文本編輯器手動創建一個限制文件,為I/O標準和SSO等增加必要的支持信息。準備好這些基本文件后,你可以運行布局布線工具來確認是否忽視了一些準則或者做了一個錯誤的分配。
這將使你在設計的初始階段就和布局工程師一起工作,共同規劃PCB的走線、冗余規劃、散熱問題和信號完整性。FPGA工具可能可以在這些方面提供幫助,并協助你解決這些問題,因此你必須確保了解你的工具包的功能。
|