新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > EDA技術與FPGA設計應用

        EDA技術與FPGA設計應用

        作者: 時間:2012-09-20 來源:網絡 收藏

        3.基于VHDL的系統行為級設計

        具體包括以下重要環節:設計輸入(Design Entry)、設計綜合(Design Synthesis)、設計約束(Design Constraints)、設計實現(Design Implement)、設計仿真(Design Simulation)和器件編程(Device Programming)。

        設計輸入主要采用HDL(硬件描述語言)、ECS(Engineering Schematic Capture,原理圖編輯器)和FSM(Finite State Machine,有限狀態機);

        設計綜合就是依據邏輯設計描述和約束條件,利用開發工具進行優化處理,將HDL文件轉變為硬件電路實現方案,其實質就是優化設計目標的過程;

        設計約束主要包括設計規則約束、時間約束、面積約束三種,通常時間約束的優先級高于面積約束;

        設計實現對于分為編譯規劃、布局布線(PAR,Place And Route)、程序比特流文件產生;對于CPLD則是編譯、配置、比特流文件產生;

        設計仿真分為功能仿真和時序時延仿真。功能仿真在設計輸入之后、綜合之前進行,只進行功能驗證,又稱為前仿真。時序時延仿真在綜合和布局布線之后進行,能夠得到目標器件的詳細時序時延信息,又稱為后仿真;

        器件編程是指在功能仿真與時序時延仿真正確的前提下,將綜合后形成的位流編程下載到具體的/CPLD芯片中,又稱芯片配置。FPGA/CPLD編程下載通常可使用JTAG編程器、PROM文件格式器和硬件調試器三種方式,其中JTAG(Joint Test Action Group,聯合測試行動組)是工業標準的IEEE 1149.1邊界掃描測試的訪問接口,用作編程功能可省去專用的編程接口,減少系統引出線,有利于各可編程邏輯器件編程接口的統一,因此應用廣泛。

        4.FPGA設計優化及方案改進

        在FPGA設計中,必須首先明確HDL源代碼編寫非常重要;不同綜合工具包含的綜合子集不同致使有些HDL語句在某些綜合工具中不能綜合;同一邏輯功能可用不同HDL語句進行描述,但占用資源卻可能差別很大。同時應當深刻理解并發性是硬件描述語言與普通高級語言的根本區別,因而設計硬件電路不能受傳統順序執行思維的束縛。

        此外,我們應當清楚速度優化與面積優化在FPGA設計中占有重要地位。對于大多數數字系統設計而言,速度常常是第一要求,但FPGA結構特性、綜合工具性能、系統電路構成、PCB制版情況及HDL代碼表述都會對工作速度產生重要影響。我們通過在電路結構設計中采用流水線設計、寄存器配平、關鍵路徑法可以進行速度優化。

        (1)流水線設計

        流水線(Pipelining)技術在速度優化中相當流行,它能顯著提高系統設計的運行速度上限,在現代微處理器、數字信號處理器、MCU單片機、高速數字系統設計中都離不開流水線技術。圖4與圖5是流水線設計的典型圖示,其中圖4未使用流水線設計,圖5采用了2級流水線設計,在設計中將延時較大的組合邏輯塊切割成兩塊延時大致相等的組合邏輯塊,并在這兩個邏輯塊中插入了觸發器,即滿足以下關系式:Ta=T1+T2,T1≈T2。通過分析可知,圖4中Fmax≈1/Ta;圖5中流水線第1級最高工作頻率Fmax1≈1/T1,流水線第2級最高工作頻率Fmax2≈1/T2≈1/T1,總設計最高頻率為Fmax≈Fmax1≈Fmax2≈1/T1,因此圖5設計速度較圖4提升了近一倍。

        (2)寄存器配平(Register Balancing)

        寄存器配平是通過配平寄存器之間的組合延時邏輯塊來實現速度優化,兩個組合邏輯塊延時差別過大,導致設計總體工作頻率Fmax取決于T1,即最大的延時模塊,從而使設計整體性能受限。通過對圖7設計進行改進,將延時較大的組合邏輯1的部分邏輯轉移到組合邏輯2中,成為圖8結構,以減小延時T1,使t1≈t2,且滿足T1+T2=t1+t2。寄存器配平后的圖8結構中Fmax≈1/t1>1/T1,從而提高了設計速度。

        (3)關鍵路徑法

        關鍵路徑是指設計中從輸入到輸出經過的延時最長的邏輯路徑,優化關鍵路徑是提高設計工作速度的有效方法。圖9中Td1>Td2,Td1>Td3,關鍵路徑為延時Td1的模塊,由于從輸入到輸出的延時取決于延時最長路徑,而與其他延時較小的路徑無關,因此減少Td1則能改善輸入到輸出的總延時。

        在優化設計過程中關鍵路徑法可反復使用,直到不可能減少關鍵路徑延時為止。許多開發工具都提供時序分析器可以幫助找到延時最長的關鍵路徑,以便設計者改進設計。對于結構固定的設計,關鍵路徑法是進行速度優化的首選方法,可與其他方法配合使用。

        在FPGA設計中,面積優化實質上就是資源利用優化,面積優化有多種實現方法,諸如資源共享、邏輯優化、串行化,其中資源共享使用較多,下面舉例說明。

        在利用FPGA設計數字系統時經常遇到同一模塊需要反復被調用,例如多位乘法器、快速進位加法器等算術模塊,它們占用芯片資源很多,使系統成本及器件功耗大幅上升,因而使用資源共享技術能夠顯著優化資源。圖10和圖11是資源共享的一個典型實例,由圖可見使用資源共享技術節省了一個多位乘法器,從而達到減少資源消耗、優化面積的目的。



        關鍵詞: FPGA EDA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大丰市| 高邮市| 廉江市| 富裕县| 清水河县| 承德县| 温宿县| 通化市| 舟曲县| 句容市| 咸丰县| 九龙县| 广安市| 石狮市| 永登县| 东城区| 满洲里市| 闵行区| 韶山市| 九江县| 岳西县| 乌鲁木齐县| 定日县| 拜城县| 新丰县| 如皋市| 石柱| 永德县| 大余县| 陵川县| 炉霍县| 石台县| 昌宁县| 洱源县| 尖扎县| 嫩江县| 碌曲县| 荔波县| 高尔夫| 梨树县| 绍兴市|