在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 增量式編譯QIC大幅縮短FPGA編譯時(shí)間

            增量式編譯QIC大幅縮短FPGA編譯時(shí)間

            作者: 時(shí)間:2013-03-05 來源:網(wǎng)絡(luò) 收藏

            實(shí)踐

            的效果評估

            在討論具體如何使用之前,先考慮一個(gè)問題:如果讀者在您的工作中使用了QIC,怎么評估它的效能呢?

            您需要至少做3輪實(shí)驗(yàn),才能看到QIC節(jié)約時(shí)間的效果。首先,需要把您的設(shè)計(jì)用傳統(tǒng)流程Flat Compilation進(jìn)行編譯,記錄下各階段所花費(fèi)的時(shí)間。然后,創(chuàng)建合理的設(shè)計(jì)分區(qū),指定分區(qū)網(wǎng)表性質(zhì),進(jìn)行第二次編譯,得到QIC各個(gè)分區(qū)的初始網(wǎng)表,并請記錄下操作時(shí)間。第三次編譯,您可以選擇修改設(shè)計(jì)中的某一個(gè)分區(qū),然后再編譯一次,記錄下操作花費(fèi)的時(shí)間。將第三次的編譯時(shí)間和第一次相比,正常的話應(yīng)當(dāng)看到非常明顯的時(shí)間節(jié)約,這才是QIC編譯在編譯時(shí)間節(jié)約方面的體現(xiàn)。

            值得注意的是,第二次編譯中已經(jīng)使用了QIC,但往往花費(fèi)時(shí)間和第一次編譯差不多,有時(shí)還有增長。許多人為此懷疑QIC的性能,認(rèn)為QIC沒有效果甚至惡化了編譯時(shí)間。這其實(shí)是一種誤解!為什么呢?回到圖2,我們可以看到,QIC流程在AnalysisSynthesis和fitter之間增加了一個(gè)新的處理階段——分區(qū)合并,它是需要額外花費(fèi)在第一次Flat Compilation中不存在的時(shí)間。而且,由于這是創(chuàng)建分區(qū)后的第一次編譯,所有分區(qū)的網(wǎng)表都是空白的,也就是說整個(gè)設(shè)計(jì)都需要被編譯、分析、綜合、布局布線等的工作量和第一次編譯是類似的,因此這部分花費(fèi)的時(shí)間也是差不多。把這兩部分時(shí)間加起來,自然第2次編譯時(shí)間有可能會(huì)比第一次長了。只有當(dāng)進(jìn)行第3次編譯的時(shí)候,各個(gè)分區(qū)都有可重用的網(wǎng)表了,才有可能將那些沒有設(shè)計(jì)改變的分區(qū)的網(wǎng)表重用,從而節(jié)約綜合和布局布線階段的時(shí)間,達(dá)到整體編譯時(shí)間的節(jié)約。

            圖3是筆者支持的一個(gè)客戶所進(jìn)行的QIC編譯性能評估的結(jié)果總結(jié)??蛻舻脑O(shè)計(jì)是高端路由器中的包處理應(yīng)用,使用了ALTERA公司的Stratix4GX530器件,邏輯利用率大約是60%??蛻舻木幾g硬件是一臺(tái)高性能服務(wù)器:

            增量式編譯QIC大幅縮短FPGA編譯時(shí)間

            圖3 Z客戶增量式編譯評估實(shí)驗(yàn)效果

            CPU:16core Intel(R) Xeon(R) CPU E7420 @2.13GHz

            Memory:64GB

            即使是如此,在不使用QIC的情況下,客戶的每次編譯都需要12到13個(gè)小時(shí)。而在使用QIC并根據(jù)QIC指導(dǎo)原則進(jìn)行了必要的設(shè)計(jì)優(yōu)化后,最好的實(shí)驗(yàn)結(jié)果是可以在6個(gè)小時(shí)左右(大約350分鐘)完成一次編譯,節(jié)約了接近55%的總編譯時(shí)間!從圖3中很容易看出前面文字描述的幾個(gè)特點(diǎn):

            第一次編譯和第二次編譯的總時(shí)間差不多(750 VS 730)

            第三次編譯中,AnalysisSynthesis操作的時(shí)間,fitter操作得時(shí)間都比第一次編譯有非常明顯的降低;

            從原理上看,QIC的網(wǎng)表重用對Assembly和時(shí)序分析沒有直接影響。因此三次編譯中,Assembler和時(shí)序分析所花費(fèi)的時(shí)間是差不多的。

            QIC指導(dǎo)原則

            合理創(chuàng)建分區(qū)

            Quartus中的“分區(qū)”是和設(shè)計(jì)層次緊密關(guān)聯(lián)的。任何設(shè)計(jì),無論簡單還是復(fù)雜,都會(huì)有一個(gè)頂層模塊(top-level module),Quartus自動(dòng)將它設(shè)置為一個(gè)默認(rèn)分區(qū)(命名為top),不需要用戶設(shè)定。而別的分區(qū),需要用戶手動(dòng)創(chuàng)建。創(chuàng)建分區(qū)的方法很簡單,在Quartus GUI界面左上角的Hierarchy窗口,選擇想創(chuàng)建分區(qū)的實(shí)體,右鍵喚出的菜單中選擇“Design Partition”,然后在下一級菜單中選擇”Setting as Design Partition”,分區(qū)就創(chuàng)建成功了。

            從圖2可以看出,分區(qū)(Partition)是增量式編譯中的一個(gè)關(guān)鍵概念。Altera規(guī)定:只要是有完整設(shè)計(jì)邊界的設(shè)計(jì)實(shí)體,無論它在設(shè)計(jì)的哪一層次,都可以用它來創(chuàng)建設(shè)計(jì)分區(qū)。也就是說,Quartus II中,設(shè)計(jì)中任何層次中的任何一個(gè)設(shè)計(jì)模塊,可以作為一個(gè)設(shè)計(jì)分區(qū);一個(gè)設(shè)計(jì)中也可以包含不止一個(gè)設(shè)計(jì)分區(qū);即使是在設(shè)計(jì)的同一層次,也可有多個(gè)分區(qū)。同時(shí),請注意:分區(qū)之間沒有層次關(guān)系,任何邏輯只能歸屬于某一個(gè)分區(qū)。以圖5為例,A模塊由A1、B1、C1三個(gè)子模塊組成。如果A模塊被設(shè)置為分區(qū),Quartus會(huì)用模塊名來為此分區(qū)命名:A分區(qū)。那么,A分區(qū)中就會(huì)包含A1、B1、C1三個(gè)子模塊的所有邏輯。但如果把B1子模塊也創(chuàng)建為分區(qū),那么,A分區(qū)中就只包含A1、C1兩個(gè)子模塊的邏輯,B1子模塊的邏輯只屬于新的B1分區(qū)了。

            6.jpg

            圖4 在Quartus GUI中創(chuàng)建分區(qū)示意

            5.jpg

            圖5 分區(qū)與邏輯歸屬變化

            4.jpg

            圖6 分區(qū)合并報(bào)告

            3.jpg

            圖7 分區(qū)綜合后資源使用統(tǒng)計(jì)

            2.jpg

            圖8 Design partition window

            1.jpg

            圖9 Design partition window



            關(guān)鍵詞: FPGA QIC 增量式 編譯

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉