亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Verilog HDL編碼的綜合與優(yōu)化

        2019-01-07 06:18:38張玉峰徐華結(jié)
        關(guān)鍵詞:設(shè)計

        王 鵬,張玉峰,徐華結(jié)

        (池州學(xué)院 集成電路設(shè)計與嵌入式應(yīng)用研究中心,安徽 池州 247000)

        1 引言

        隨著微電子技術(shù)的發(fā)展,專用集成電路(ASIC)和用戶現(xiàn)場可編程門陣列(FPGA)的設(shè)計復(fù)雜程度的增加,邏輯電路系統(tǒng)的設(shè)計時間要求卻越來越短,傳統(tǒng)的原理圖設(shè)計方法已經(jīng)不能滿足用戶的設(shè)計需要,而硬件描述語言形式化的方法不僅能夠準(zhǔn)確、直觀的對電路進(jìn)行建模仿真,而且極大的提高了復(fù)雜電路的設(shè)計效率.在設(shè)計過程中設(shè)計者使用verilog HDL作為對數(shù)字電路進(jìn)行描述的輸入,綜合工具將verilog HDL所描述的RTL級電路在附加的約束條件下映射到目標(biāo)工藝庫,輸出由工藝庫中的標(biāo)準(zhǔn)單元和互聯(lián)組成的門級網(wǎng)表.在設(shè)計過程中正確的理解運(yùn)用verilog HDL代碼,不僅會影響綜合所得到的準(zhǔn)確性,同時對電路的性能、面積功耗也起著至關(guān)重要的作用.

        2 Verilog編碼與綜合網(wǎng)表的生成

        2.1 Verilog HDL是一種用于描述數(shù)字邏輯電路的硬件描述語言,它可以從邏輯功能上對電路模型進(jìn)行行為級的描述,也可以通過元器件之間的相互連接關(guān)系在結(jié)構(gòu)上對電路模型進(jìn)行描述.根據(jù)對電路模型描述的不同抽象級,verilog HDL可用于系統(tǒng)級(System)、算法級(Alogrithem)、寄存器傳輸級(RTL)、邏輯級(Logic)、門級(Gate)和開光級(Switch)設(shè)計.在設(shè)計的過程中硬件描述語言verilog HDL的風(fēng)格與C語言等其他語言有相似之處,如if語句、case語句等與C語言十分相似,但實(shí)際上verilog HDL代碼所描述的對應(yīng)的是實(shí)際的電路模型,同時一些非阻塞賦值等語句也是C語言沒有的,所以對Verilog HDL語句特殊方面的著重理解,將有益于生成希望得到的電路網(wǎng)表.

        2.2 賦值語句

        Verilog語言中阻塞賦值和非阻塞賦值的語言結(jié)構(gòu)是需要重點(diǎn)掌握的方法之一,能夠完全正確的理解可綜合風(fēng)格的賦值語句才能設(shè)計出符合要求的電路,清楚的理解阻塞賦值語句和非阻塞賦值語句含義的差別可以避免代碼綜合生成的電路中現(xiàn)競爭冒險現(xiàn)象.

        表1 阻塞賦值與非阻塞賦值的比較

        在綜合的過程中綜合工具對阻塞賦值和非阻塞賦值的處理方法不同,阻塞賦值在賦值過程中順序執(zhí)行,在執(zhí)行下一條賦值語句時就已經(jīng)完成對右端對象的賦值,而對于非阻塞賦值是在執(zhí)行過程中并不會立即賦值,需要在整個過程塊結(jié)束后才對所有變量完成賦值操作.如表1所示:

        表1中有三條賦值語句,其綜合出的網(wǎng)表如圖1所示,always語句塊中三條賦值語句受下降沿時鐘clock控制,綜合生成三個下降沿觸發(fā)的觸發(fā)器,第一條賦值語句是阻塞賦值,將右邊data1&result1計算的值賦給左邊的result1,完成賦值語句后result1獲得新值,第二條賦值語句是非阻塞賦值將右邊的result1|data2值非給左邊的result2,第二條賦值語引用result1新值,所以result2觸發(fā)器的輸入端通過邏輯門連接到result1觸發(fā)器的數(shù)據(jù)輸入端,第三條賦值語句是非阻塞賦值,將右邊result2|data3的值給左邊的result3,因?yàn)榈诙l賦值語句是阻塞賦值,其result2值會在語句塊結(jié)束時才完成賦值,所以賦值語句三中使用的仍然是其原值,所以在綜合過程中result3觸發(fā)器的數(shù)據(jù)輸入端通過邏輯門連接在result2的數(shù)據(jù)輸出端.

        圖1 賦值語句綜合出的網(wǎng)表

        對三條賦值語句對比可以看出,阻塞賦值和非阻塞賦值所綜合出的網(wǎng)表有所區(qū)別,在verilog的代碼編寫過程中充分的理解賦值語句將有效的避免生成錯的電路網(wǎng)表,同時在運(yùn)用賦值語句中一些注意要點(diǎn)可以有效的解決在綜合后出現(xiàn)的冒險競爭問題,如表1中出現(xiàn)的一個always語句塊中同時出現(xiàn)阻塞和非阻塞語句在代碼編寫中應(yīng)盡量避免,可以將它分別寫在兩個always語句塊中.

        2.3 if、case語句

        在verilog HDL中的條件選擇語句有if語句和case語句,if語句是用來判斷所給的條件是否滿足,根據(jù)判斷結(jié)果進(jìn)行二選一的操作,而case語句是多分支選擇語句,在實(shí)際問題中遇到多種選擇時,可以使用case語句進(jìn)行選擇.不過這兩種語句在編寫代碼時應(yīng)注意對其中的每條分支進(jìn)行賦值,不當(dāng)?shù)木幋a其綜合過程中可能會推導(dǎo)出不希望生成的鎖存器.

        表2中的第一個編碼的if語句中只當(dāng)a=1時,對 q進(jìn)行了賦值將d的值賦給q,而a=0時編碼中沒有寫出q該取什么樣的值,這時候會默認(rèn)變量保持原值生成一個鎖存器,如第一個代碼右邊生成的電路圖所示.如果設(shè)計者希望當(dāng)a=0時將0的值賦給q,在第二代碼中加上一個else語句,其生成的電路圖如第二個代碼右邊電路所示,這時電路就不會生成鎖存器.

        表2 if語句生成鎖存器

        verilog HDL中case語句是多分支的選擇語句,在編碼時與if語句類似,表3中的第一個case語句當(dāng)sel取00和01時,分別將a和b的值賦給q,當(dāng)sel取00和01以外的值10和11時,并未告訴q應(yīng)該賦予何值,這時會默認(rèn)保持原值生成一個鎖存器,如果不希望生成多余的鎖存器,可以在case語句中加入default項(xiàng)避免在電路中生成不必要的鎖存器,如表3中第兩個代碼所生成的電路所示.

        表3 case語句生成鎖存器

        3 verilog編碼與網(wǎng)表性能的優(yōu)化

        Verilog HDL的編碼的準(zhǔn)確性影響著綜合所生成網(wǎng)表的功能的正確描述,同時不同的編碼方式和結(jié)構(gòu)所綜合出來的網(wǎng)表的性能也不盡相同,通過對verilog HDL代碼的優(yōu)化可以實(shí)現(xiàn)優(yōu)化綜合所生成的網(wǎng)表,根據(jù)不同的電路需求在面積、功耗、性能間進(jìn)行平衡,以完成最終的設(shè)計需求.

        下面以流水線設(shè)計(pipe-line)為例,通過pipe-line的設(shè)計方法對電路的性能和所使用邏輯資源進(jìn)行優(yōu)化和權(quán)衡.在verilog HDL對復(fù)雜的組合邏輯電路和時序電路描述過程中,工具能自動的綜合生成電路并對電路的進(jìn)行全面驗(yàn)證,但對于一些對時鐘速度要求很高的電路和一些特殊的電路,如CPU的指令讀取、執(zhí)行和高性能的DSP系統(tǒng)設(shè)計其結(jié)構(gòu)還是需要設(shè)計者來定奪,而pipe-line技術(shù)被廣泛的采用在這些電路的設(shè)計中.pipe-line設(shè)計是將規(guī)模和層次較多延時較長的組合邏輯電路分成幾個部分,在每個部分之間插入寄存器暫存兩個寄存器中間組合邏輯電路產(chǎn)生的數(shù)據(jù),而k級流水線就是在組合邏輯電路的起始端到輸出端之間插入K個寄存器.

        圖2在電路中可以達(dá)到的時鐘最快周期與建立時間(tsu)、組合邏輯電路延遲(tcomb)和寄存器輸出響應(yīng)時間(tc-q)有關(guān),不考慮時鐘抖動(skew)等因數(shù)的情況下,時鐘周期可以達(dá)到的時間T的表達(dá)式如下:

        建立時間(tsu)、寄存器的延遲(tc-q)相對與組合邏輯電路的延遲時間(tcomb)較小,若設(shè):t1comb為20t,tsu和tc-q分別為5t和3t,則圖2時鐘可以達(dá)到的最快周期為T>20t+5t+3t=28t.

        圖2 正常結(jié)構(gòu)的電路圖

        采用pipe-line結(jié)構(gòu)在圖3的組合邏輯電路t1comb中插入一個寄存器,將組合邏輯電路t1comb分成t2comb和t3comb時延分別為8t和12t如圖3所示,此時電路中時鐘可以達(dá)到的最快周期為 max{tc-q+tsu+t2comb,tc-q+tsu+t3comb},T>max{16t,20t}.

        圖3 采用pipe-line結(jié)構(gòu)設(shè)計圖

        通過對比采用pipe-line結(jié)構(gòu)的設(shè)計在電路的性能上得到了提升,付出的代價是增加了一個寄存器,在高性能的電路系統(tǒng)面積相對寬裕的情況下,對一些時序緊張的路徑采用pipe-line結(jié)構(gòu)設(shè)計是一種重要的方法.

        4 結(jié)語

        通過對verilog HDL的編碼和綜合過程的研究和理解,能夠有助于設(shè)計者設(shè)計出正確的邏輯功能的電路,避免在設(shè)計過程中綜合出與設(shè)計意圖不相符的電路網(wǎng)表,同時通過對verilog HDL編碼結(jié)構(gòu)的調(diào)整能夠?qū)ι傻木W(wǎng)表進(jìn)行優(yōu)化達(dá)到電路系統(tǒng)設(shè)計要求,縮短設(shè)計周期提升設(shè)計效率.

        猜你喜歡
        設(shè)計
        二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
        河北畫報(2020年8期)2020-10-27 02:54:06
        何為設(shè)計的守護(hù)之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設(shè)計
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設(shè)計
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設(shè)計
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過?!律O(shè)計萌到家
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設(shè)計到“設(shè)計健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        国产精品一品二区三区| 波多野吉衣av无码| 日本手机在线| 久久最黄性生活又爽又黄特级片| 国产精品自线一区二区三区| 特级毛片爽www免费版| 国产精品露脸张开双腿| 新久久久高清黄色国产| 国产精品成人自拍在线观看| 吃奶呻吟打开双腿做受视频| 久久国产36精品色熟妇| 国产精品美女久久久久浪潮AVⅤ| 成人性生交大片免费5| 国产免费一区二区三区免费视频| 激情内射亚洲一区二区三区爱妻| 久久亚洲一级av一片| 开心久久综合婷婷九月| 色拍自拍亚洲综合图区| 国产无线乱码一区二三区| 在线一区二区三区免费视频观看| 婷婷色婷婷开心五月四| 久久不见久久见免费影院www| 国产美女一级做a爱视频| 中文字幕手机在线精品| 日本一道综合久久aⅴ免费| 久久久久久久无码高潮| 国产一区二区亚洲av| 人妻熟女翘屁股中文字幕| 西西大胆午夜人体视频| 欧洲亚洲第一区久久久| 国产一区二区三区小向美奈子 | 亚欧中文字幕久久精品无码| 激情另类小说区图片区视频区| 中文字幕一区二区三区.| 中文乱码字幕精品高清国产 | 美女视频很黄很a免费国产| 久久亚洲网站中文字幕| 国产免费内射又粗又爽密桃视频| 欧美伊人网| 亚洲av日韩av天堂久久不卡 | 日本免费精品一区二区|