精品国产成人一区二区三区-女子十八毛片-欧洲性猛交-无码不卡一区二区三区在线观看-www.四虎在线-伊人网国产-国精产品自偷自偷综合下载-不卡av网站-俄罗斯黄色大片-一本久久知道综合久久-国产精品日韩一区二区-日韩精品色-免费人成网ww555kkk在线-黄色在线观看免费-日韩在线免费-久久久久99人妻一区二区三区-十八禁真人啪啪免费网站

機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
FPGA器件的設計實現(xiàn)、設計優(yōu)化與模塊化設計方法
FPGA器件的設計實現(xiàn)、設計優(yōu)化與模塊化設計方法
 更新時間:2008-8-3 15:48:32  點擊數(shù):9
【字體: 字體顏色


    綜合與可綜合的HDL設計

綜合的定義


綜合就是針對給定的電路實現(xiàn)功能和實現(xiàn)此電路的約束條件,如速度、功耗、成本及電路類型等,通過計算機進行優(yōu)化處理,獲得一個能滿足上述要求的電路設計方案。
被綜合的文件是HDL文件(或相應文件等),綜合的依據(jù)是邏輯設計的描述和各種約束條件,綜合的結果則是一個硬件電路的實現(xiàn)。該方案必須同時滿足預期的功能和約束條件。對于綜合來講,滿足要求的方案可能有多個,綜合器將產(chǎn)生一個最優(yōu)的或接近最優(yōu)的結果。因此,綜合的過程也就是設計目標的優(yōu)化過程,最后獲得的結構與綜合器的工作性能有關。


FPGA/CPLD綜合軟件


FPGA/CPLD綜合軟件包括:Synopsys公司的FPGA Compiler II、Synplicity公司的Synplify/Synplify Pro、Mentor公司的LeonardoSpectrum及FPGA/CPLD廠商集成開發(fā)環(huán)境中自帶的綜合工具,如Altera Quartus II軟件中的綜合軟件等。


綜合的特點


綜合的特點體現(xiàn)在以下幾個方面:綜合是在一定的限制條件下進行的,比如時序、面積或物理約束等;綜合器獨立于具體設計工藝,如果工藝改變,可使用新工藝元件庫重新綜合;綜合器很難得到硬件設計的所有實現(xiàn)方案,不可能得到最優(yōu)的硬件結果;不同的綜合器使用不同的機制和算法,因此對相同的HDL描述可能得到不同的結果;不同的綜合器對HDL語句和語法的支持不同,需要通過察看綜合軟件的相關文檔進行了解。
可綜合的數(shù)據(jù)類型包括枚舉類型、整數(shù)類型、數(shù)組類型(一維數(shù)組、二維數(shù)組)及記錄類型。綜合器不支持的數(shù)據(jù)類型包括:物理類型,如時間類型;浮點類型,如實數(shù)類型;存取類型及文件類型等。


面向綜合的編碼風格


設計描述的編碼風格將直接影響EDA軟件工具的綜合結果。好的描述方式易于被綜合器識別且能夠被綜合出設計者所期望的電路。電路的質(zhì)量取決于設計者使用的描述風格和綜合工具的能力。

形成良好的編碼風格應注意以下幾個方面:


對希望形成組合邏輯的if和case語句,要完整地描述其各個分支,避免形成鎖存器(可行的方法之一是給所有被賦值信號賦初始值);

盡量使用簡單的邏輯及數(shù)字運算符;

進程的敏感清單應列舉完全,否則可能產(chǎn)生綜合前后仿真結果不同的現(xiàn)象;

在循環(huán)中不要放置不隨循環(huán)變化的表達式;

對 于復雜的數(shù)字運算要充分進行資源共享,如采用if塊等;

對于長的組合鏈路應該在代碼編寫階段注意描述成樹狀結構;

時序邏輯盡可能采用同步設計;

對具有不同的時序或面積限制的設計,應盡可能采用不同的代碼描述以達到不同的要求(一般而言,面積與延時是相互沖突的,在FPGA 中面積代表資源的多少);
對于復雜系統(tǒng)設計,應盡量采用已有的算法和模塊來實現(xiàn)。



設計實現(xiàn)


設計實現(xiàn)即利用實現(xiàn)工具把邏輯映射到目標器件結構的資源中,決定邏輯的最佳布局,選擇邏輯與輸入輸出功能連接的布線通道進行連線,并產(chǎn)生相應文件(如,配置文件與相關報告)的過程。通?煞譃槿缦挛鍌步驟:


1)轉(zhuǎn)換:將多個設計文件進行轉(zhuǎn)換并合并到一個設計庫文件中。

2)映射:將網(wǎng)表中的邏輯門映射成物理單元或元素,即把邏輯設計分割到構成可編程邏輯陣列內(nèi)的可配置邏輯塊與輸入輸出塊及其他資源中的過程。

3)布局布線:布局是指從映射中取出定義的邏輯和輸入輸出塊,并把它們分配到 FPGA 內(nèi)部的物理位置。通;谀撤N先進的算法,如最小分割、模擬退火和一般的受力方向張弛等來完成;布線是指利用自動布線軟件使用布線資源選擇路徑,試著完成所有的邏輯連接。在布局布線過程中,可同時提取時序信息形成時序分析報告。

4)時序提取:產(chǎn)生反標文件,供后續(xù)的時序仿真使用。

5)配置:產(chǎn)生FPGA配置時所需的位流文件。



增量設計


傳統(tǒng)方法vs增量設計


傳統(tǒng)的FPGA設計過程中,每次修改都將導致整個設計的重新編譯,如此,時序也將產(chǎn)生變化,針對這一現(xiàn)象,引入了增量設計的概念。

增 量設計主要是指增量編譯:根據(jù)設計者的分割設置,對不同的層次和模塊分別編譯。在對設計進行重新編譯時,可以保持未修改部分的編譯結果,從而節(jié)省編譯時間。
增量設計可將設計中無需修改的部分鎖定并保持其性能,僅對設計中變化的部分重新處理。使用增量設計,設計人員可在驗證過程中加速設計變化的調(diào)試,將更多時間用于調(diào)整設計中的關鍵元件,甚至在后期設計規(guī)范發(fā)生改變時,也不會影響整個設計的主要進度。

對于設計中未改變的部分,由于它們布局布線都保持不變,性能也不會變化,因此無需進行重新驗證,從而可以節(jié)省大量的設計時間。增量設計有助于模塊化設計和基于團隊的設計流程。

圖1 傳統(tǒng)方法vs增量設計(略)


設計分割


設計分割指用戶定義的邏輯分割,它與物理區(qū)域不同。邏輯分割應與設計的層次邊界相符合,其中,每個設計實體并不自動成為一個分割。設計分割具有不同的設計文件,如果使用第三方綜合軟件,要為每個分割生成各自的EDIF或VQM文件。最優(yōu)化過程不能跨越分割的邊界,每個分割部分獨立的進行綜合和適配。


圖2給出了設計分割示意,頂層劃為一個分割,其他層次結構的子模塊根據(jù)具體情況進行分割。不一定每個設計實體即為一個分割,也可以是幾個設計模塊的組合。

圖2 設計分割(略)

對于不同的設計流程,Altera提供了不同的軟件支持。自頂向下(Top-Down)的設計流程,整個設計在頂層編譯,可由一個設計者或項目管理者完成編譯設計,Altera Quartus II 5.0 和5.1中完全支持。自底向上(Bottom-Up)的設計流程,整個設計是在底層編譯,在各個設計者分別優(yōu)化后進行集成。目前Altera Quartus II 5.0和5.1中尚無導入和導出功能,因此并不支持自底向上(Bottom-Up)的設計流程,而借助LogicLock可實現(xiàn)該設計流程。


圖3 增量編譯流程(略)

增量編譯流程


增量編譯流程如圖3所示,首先,準備利用增量編譯的項目。包括:詳細的設計分析,識別設計的層次;生成設計分割;使能“完全增量編譯”或者“只進行增量綜合”;用LogicLock生成設計版圖等。

[1] [2] [3]  下一頁
  • 上一篇: 快速創(chuàng)建存儲器接口的設計
  • 下一篇: 基于Motorola單片機的機器人追跑控制系統(tǒng)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1
    同心县| 乌兰浩特市| 莆田市| 西安市| 罗城| 吉木乃县| 青河县| 长乐市| 博白县| 广昌县| 汶川县| 乃东县| 永新县| 保山市| 阿坝| 乐平市| 新龙县| 枣强县| 芜湖市| 瑞金市| 新竹市| 鄂托克前旗| 马关县| 威信县| 银川市| 旬阳县| 龙南县| 湖北省| 巴中市| 张家口市| 牡丹江市| 清丰县| 从江县| 锡林郭勒盟| 湘潭县| 博爱县| 泰宁县| 双辽市| 隆尧县| 墨玉县| 红原县|