• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      RTL 設(shè)計(jì)中的Verilog 代碼風(fēng)格

      2013-07-20 09:40:36馮海濤
      微處理機(jī) 2013年2期
      關(guān)鍵詞:功耗語句時(shí)鐘

      馮海濤,王 爽,周 剛

      (中國電子科技集團(tuán)公司第四十七研究所,沈陽 110032)

      1 引言

      每個(gè)代碼編寫者都有自己的編寫習(xí)慣,而且都喜歡按照自己的習(xí)慣去編寫代碼。代碼風(fēng)格對(duì)綜合后的硬件結(jié)構(gòu)起至關(guān)重要的作用,相同功能不同風(fēng)格的代碼在綜合后可能會(huì)產(chǎn)生不同的結(jié)構(gòu),具有不同的timing 和area。這就是RTL 設(shè)計(jì)工程師重視代碼風(fēng)格的原因所在。在這里主要講述一下組合電路和時(shí)序電路中比較常用并需要特別注意的語句。

      2 設(shè)計(jì)組合電路的代碼風(fēng)格

      2.1 if 語句

      (1)if 語句的比較條件不可以用“x”,仿真時(shí)“x”被看做unkown 而產(chǎn)生錯(cuò)誤的仿真結(jié)果;綜合時(shí)“x”被看做false,產(chǎn)生與仿真相同的錯(cuò)誤。例如:

      if(In_A[7:0]==8'b00xx11xx)D_Out=1'b1;

      else D_Out=1'b0;

      解決方法:

      If((In _ A[7:6]==2'b00)&& (In _A[3:2]==2'b11))D_Out=1'b1;else D_Out=1'b0;

      (2)if 語句優(yōu)先級(jí)由下向上,越靠近下面的輸入在綜合時(shí)越靠近輸出,如下例和圖1 所示。

      圖1 if 語句優(yōu)先級(jí)由下向上

      (3)if…else…if 語句優(yōu)先級(jí)由上向下,越靠近上面的輸入在綜合時(shí)越靠近輸出,如下例和圖2 所示。

      圖2 if…else…if 語句優(yōu)先級(jí)由上向下

      2.2 case 語句

      無優(yōu)先級(jí),case的條件必須列全(full case),如果不能列全就寫default 值,否則同樣會(huì)產(chǎn)生latch。

      2.3 for 循環(huán)語句

      for 循環(huán)語句可能被中止,而綜合不會(huì),綜合會(huì)把for 循環(huán)全部條件下的電路翻譯出來。同時(shí)for 循環(huán)語句不能被時(shí)鐘沿觸發(fā),而RTL 設(shè)計(jì)中多數(shù)要時(shí)鐘沿觸發(fā),這樣的設(shè)計(jì)多用有限狀態(tài)機(jī)來完成。故不建議在RTL 設(shè)計(jì)中使用for 循環(huán),但是在testbench 中可以使用。For 循環(huán)語句示例如下:

      由于每次循環(huán)k 都被看做一個(gè)常數(shù),所以不會(huì)綜合出減法器。綜合時(shí)循環(huán)鏈會(huì)被打開。上面的循環(huán)相當(dāng)于下面的程序:

      3 設(shè)計(jì)時(shí)序電路時(shí)的代碼風(fēng)格

      3.1 非阻塞賦值在時(shí)鐘沿觸發(fā)電路中

      由時(shí)鐘沿觸發(fā)的電路分為時(shí)鐘上升沿觸發(fā)(posedge CLK)和時(shí)鐘下降沿觸發(fā)(negedge CLK);同時(shí)在時(shí)鐘沿觸發(fā)的電路中,賦值語句應(yīng)該使用非阻塞型。如下例所示:

      3.2 時(shí)鐘沿觸發(fā)中的同步復(fù)位

      3.3 時(shí)鐘沿觸發(fā)中的異步復(fù)位

      3.4 門控時(shí)鐘

      功耗的產(chǎn)生大部分在時(shí)鐘狀態(tài)轉(zhuǎn)換時(shí),通過門控時(shí)鐘關(guān)閉空閑電路的時(shí)鐘是減小功耗的有效方法。減小flip-flop時(shí)鐘端的transitions,能夠全面減小電路的功耗。如下例和圖3 所示。

      圖3 門控時(shí)鐘

      4 結(jié)束語

      RTL 設(shè)計(jì)中的Verilog 代碼風(fēng)格更偏重的是,某一個(gè)電路,用那一種形式的語言描述,才能將電路描述得更準(zhǔn)確,綜合以后產(chǎn)生的電路更合理。以上列出的代碼編寫實(shí)例無法覆蓋代碼編寫的方方面面,還有很多細(xì)節(jié)問題,需要在實(shí)際編寫過程中加以考慮。并且有些規(guī)定也不是絕對(duì)的,需要靈活處理。但其實(shí)代碼風(fēng)格還包括遵循代碼編寫規(guī)范書寫的代碼,以及容易閱讀、理解、維護(hù)、修改、跟蹤調(diào)試、整理文檔等方面??偟姆较蚴?,努力寫整潔、可讀性好并且在綜合后電路也很合理的代碼。

      [1]袁俊泉,孫敏琪,曹瑞,編著.Verilog HDL 數(shù)字系統(tǒng)設(shè)計(jì)及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2002.11.

      [2]夏宇聞,編著.Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2003.7.

      猜你喜歡
      功耗語句時(shí)鐘
      別樣的“時(shí)鐘”
      古代的時(shí)鐘
      重點(diǎn):語句銜接
      精彩語句
      揭開GPU功耗的面紗
      有趣的時(shí)鐘
      數(shù)字電路功耗的分析及優(yōu)化
      電子制作(2016年19期)2016-08-24 07:49:54
      時(shí)鐘會(huì)開“花”
      “功耗”說了算 MCU Cortex-M系列占優(yōu)
      電子世界(2015年22期)2015-12-29 02:49:44
      IGBT模型優(yōu)化及其在Buck變換器中的功耗分析
      成都市| 绵竹市| 运城市| 北宁市| 南澳县| 夹江县| 克拉玛依市| 潞城市| 浦城县| 高碑店市| 乌审旗| 敦化市| 乌拉特后旗| 商水县| 商洛市| 巴塘县| 开江县| 湘阴县| 屏山县| 武鸣县| 白朗县| 东阿县| 商水县| 黄大仙区| 喜德县| 淳安县| 新绛县| 当阳市| 黔江区| 仙游县| 高雄县| 固镇县| 台东县| 高唐县| 垣曲县| 舞阳县| 金湖县| 大关县| 衡水市| 桐柏县| 扎兰屯市|