在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

高質量VerilogHDL描述方法

冬至子 ? 來源:Andy的ICer之路 ? 作者:AndyICer ? 2023-06-05 15:38 ? 次閱讀

剛剛初學VerilogHDL的時候,感覺語言風格很像C語言編程也是完全用軟件的思想去寫,但是使用過FPGA和學習了數集之后,才醒悟出何為“硬件思想”,本節主要介紹一下西交邱志雄老師一門課中的VerilogHDL描述方法。

VerilogHDL可綜合的四大法寶:always、if-else、case、assign ,本文將圍繞這四大法寶來講述。

有可綜合的法寶,那么可綜合風格禁止出現的情況:function、for、fork-join、while等。

** If-else的硬件映射及優化**

01

if-else的映射硬件結構是多路選擇器Multiplexing Hardware(簡稱Mux)。

圖片

我們來看看上面的第一段代碼,我們心中要出現該代碼描述的電路,該電路由兩個加法器和一個Mux組成。

圖片

接下來我們看第二段代碼:

圖片

該段代碼描述的電路應該是兩個Mux和一個加法器組成:

圖片

兩段代碼描述的功能都一樣,但是電路面積卻不一樣,第二段代碼描述的電路少了一個加法器多了一個Mux,在同一個工藝庫下,二輸入Mux的晶體管數量比一位半加器少,因此第二段代碼描述的電路減少了硬件的面積。

從面積的角度看,第二段代碼更優,但是真的可以說第二段代碼比第一段代碼好嗎?很顯然,一般這么問,答案都為否定。

圖片

我們從傳播延遲的角度再來分析一下這兩個電路:

1、左圖的數據通道的延遲是一個加法器和一個Mux,控制通道的延遲是一個Mux。

2、右圖的數據通道的延遲依然是一個加法器和一個Mux,控制通道的延遲卻是一個加法器和一個Mux。

很顯然第二段代碼描述電路(右圖)的控制通道延遲比較大,如果Aflag到來的延遲比較晚的話,那么第二種電路的性能就會比第一種差。

綜上所述,在設計的時候要根據輸入約束,再來選擇兩種不同的設計:是先加后選,還是先選后加。

** If的優先級問題**

02

多if語句具有優先級的判斷結構,即輸入信號是有不平等關系的,最后一級選擇信號具有最高優先級,具有優先級的多選結構會消耗組合邏輯,而且這種寫法比較亂,一般不推薦這種寫法。(case語句是無優先級的)

但是在某些設計中,有些信號要求先到達(如關鍵使能信號、選擇信號等),而有些信號需要后到達(如慢速信號、有效時間較長的信號等),此時則需要用if...if... 或者 if...else if...結構,一般最高優先級給最遲到的關鍵信號。

圖片

圖片

電路之大敵——Latch

03

latch由電平觸發,非同步控制,所以非常 容易產生毛刺(glitch) ,這是很大的危害,這對于下一級電路是極其危險的,而且靜態時序分析會變得極為復雜,因此只要能用D觸發器的地方就不用latch。

易引入latch的途徑:使用不完備的條件判斷語句,如if缺少else,case缺少default。

邏輯復制 均衡負載

04

通過邏輯復制,降低關鍵信號的扇出,進而降低該信號的傳播延遲,提高電路的性能。

圖片

資源共享 減小面積

05

如果電路中存在較多的公共單元,可以通過資源共享,來減小電路的面積,但是一般來說,共享會降低電路性能,所以還是要根據性能和面積而進行取舍。

圖片

邏輯重組 降低延時

06

電路設計中,可以根據信號的延時,對這些資源進行順序的重排,以降低傳播延時。如下圖所示,信號A延遲比較高,可以把它盡可能地放到后面隱藏其延遲。

圖片

邏輯賦值

07

在時序電路中必須使用非阻塞賦值(<=), 組合邏輯電路必須使用阻塞賦值(=)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 晶體管
    +關注

    關注

    77

    文章

    9701

    瀏覽量

    138334
  • 時序電路
    +關注

    關注

    1

    文章

    114

    瀏覽量

    21712
  • 加法器
    +關注

    關注

    6

    文章

    183

    瀏覽量

    30141
  • VerilogHDL語言

    關注

    0

    文章

    2

    瀏覽量

    5800
  • 多路選擇器
    +關注

    關注

    1

    文章

    22

    瀏覽量

    6536
收藏 人收藏

    評論

    相關推薦

    protel輸出高質量gerber

    圖文并茂一步一步手把手教你輸出高質量的gerber傻瓜式教學。。。。[hide] [/hide]
    發表于 12-12 15:43

    高質量C編程指南—林銳

    高質量C編程指南—林銳
    發表于 08-03 08:44

    高質量C++、C編程指南

    高質量C++、C編程指南
    發表于 08-06 11:58

    高質量C&amp;C++

    高質量C&C++
    發表于 08-16 19:45

    高質量C++&C 編程指南

    高質量C++&C 編程指南
    發表于 08-19 23:37

    原版PIC實戰項目-C(高質量PDF版本)

    英文原版,高質量保證。
    發表于 07-10 21:42

    高質量C語言編程

    高質量c語言,精,精,精,精華
    發表于 07-22 13:48

    編寫高質量C語言代碼

    編寫高質量C語言代碼 編寫高質量C語言代碼 編寫高質量C語言代碼
    發表于 07-31 17:47

    林銳《高質量C語言編程》

    林銳《高質量C語言編程》
    發表于 08-17 12:10

    高質量C++與C編程指南

    高質量C++與C編程指南
    發表于 03-09 10:54

    高質量編程

    干貨,《495個C語言問題》、《華為內部程序設計編碼規范》、《C語言:陷阱和缺陷》、《高質量C編程[林銳]》
    發表于 02-27 19:39

    圖書推薦:高質量C++編程指南

    高質量C++編程指南
    發表于 06-12 13:49

    【下載】高質量干貨-22本高質量EMC電磁兼容性設計資料

    22本高質量EMC電磁兼容性設計資料請君自取總體太大壓縮成兩個壓縮包。希望這些內容能對大家在設計上有所幫助!
    發表于 03-20 00:02

    請問怎么才能設計出高質量的印制線路板?

    怎么才能設計出高質量的印制線路板?
    發表于 04-23 06:57

    如何用B&R寫出高質量的程序

    B&R的特征包括哪些?B&R的命名規則是什么?如何用B&R寫出高質量的程序?
    發表于 09-29 09:17
    主站蜘蛛池模板: 最近2018中文字幕2019高清 | 一级毛片不卡 | 色又色 | 日本毛片在线观看 | 成人av在线播放 | 综合爱| 高清激情小视频在线观看 | 男女交性视频播放 视频 视频 | 国产午夜精品久久理论片小说 | 国产一区二区三区 韩国女主播 | 天天鲁天天爽精品视频 | 国产一级大片在线观看 | 国产三级在线免费观看 | 欧美激情二区三区 | 亚洲精品一线二线三线 | 久久国模 | 手机看片国产免费 | 午夜影院美女 | 久久久久国产精品免费网站 | 欧美网站在线 | 天天操天天搞 | 天天爱天天操 | 免费人成在线观看网站品爱网日本 | videosxxoo18在线| 免费人成网址在线观看国内 | 成人理伦 | 国产精品欧美一区二区三区不卡 | 成人国产一区二区 | 四虎影库网址 | 永久黄网站色视频免费观看99 | 国产欧美亚洲精品第二区首页 | 婷婷综合久久中文字幕蜜桃三 | 中文一级黄色片 | 天天色资料 | 国内精品一区二区在线观看 | 欧美午夜视频一区二区三区 | 亚洲国产精品久久精品怡红院 | 中文字幕导航 | 午夜一级免费视频 | 亚洲天堂bt | 成片一卡三卡四卡免费网站 |