日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Verilog HDL】第四章 模块的端口连接规则——污水处理模型

發布時間:2023/11/30 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Verilog HDL】第四章 模块的端口连接规则——污水处理模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先放上連接規則的簡圖,再詳細解釋

1. 構建模型——污水處理之流水模型

我們先將上述結構構件一個簡單模型,以幫助我們理解。

  • 污水:輸入數據
  • 凈水:輸出數據
  • 雙向數據暫不討論,取輸入和輸出的交集即可
  • 污水處理廠:模塊(設計塊/激勵塊)

2. 結構——放大模型,展現細節

這里只對input和output進行展現,先暫時不管inout。

在展現之前,先來明確對于幾個重要概念的理解

2.0 深入理解規則才能打破規則!

問題1:net類型和reg類型究竟有什么區別?
問題2:為什么這幾個接口的類型要這樣限定?

2.1 net與reg的區別——水管閥門模型

我們將數據比喻為,數據的處理過程就像水在水管中流動一樣

  • net類型:無閥門的水管,只能讓水流動,不能儲存。

  • reg類型:雙閥門的水管,即可以讓水流動,也能存儲水。

    • reg類型需要接收數據,則打開閥門A,水滿之后關閉閥門A,就實現了存儲數據
    • 需要使用數據的時候,則可以打開閥門B
    • 需要讓數據流入后直接流出,則可以同時打開A和B,這時候就和net類型的功能一樣
  • 需要強調的是:reg和net是一類數據類型的總稱,將這個類型分別類比為兩種水管;這是粗略的模型,具體細分的數據類型再進一步展開即可。

2.2 構建結構——污水處理模型細節化


下面我們來逐一分析一下:

  • ①輸入端口的外部:
    可以是reg或者net,因為外部的污水可以是從別處直接流過來的,也可以是之前被保存起來,然后再開閘流過來的
  • ②輸入端口的外部:
    來者不拒!外面流過來污水,就必須接收!
  • ③輸出端口的內部:
    • 凈水可以直接留到外面去
    • 凈水也可以被保留起來,它可能會被回環用于污水處理過程,這是由其實際需求而被規定的,如果有需求就用,沒有就不用。
  • ④輸出端口的外部:
    輸出的凈水不能被封閉起來,一定要被排出去,否則就堵死了!

接下來,我們繼續優化這個模型,增加結構的細節!

好的我想你是能夠理解這個圖形的,對于輸出端口,內部可能回環再利用,外部可能直接輸出,也可能返回來在進入輸入,這些都可能發生的,具體怎么設定,看實際需求。

另外,對于①和③,也可以是無閥門的管道,這點我再強調一遍。

2.3 三種模式——端口與外部信號的連接模式

  • 進去之后全部出去(與門)
  • 進去后部分出去,部分回來(T觸發器)
  • 多門路互相影響(SR鎖存器)
  • 2.4 reg與net 的使用原則

    • 對于內部接口的設置
      • 不寫就默認wire
      • 特殊需求:輸出顯式使用reg
    • 對于外部接口的設置
      看實際需求和使用習慣!

    這一部分簡單看看就可以,不用深入了解,這些原則的使用方法,應該由大量實踐得出。

    3. 回歸Verilog——結構的實現

    我想,你通過污水處理結構,已經能夠對Verilog端口連接規則有了理解,并且,事實上你非常輕松地理解了它!

    下面讓我們上升一個抽象層次,看一看具體在Verilog中是如何使用端口連接規則的。

    以下采用

    • EDA工具:Vivado 2017.4
    • 代碼風格:ANSI C風格
    • 端口連接:命名端口連接

    3.1 內部模塊的端口設計

    module show(input a,input [3:0] b,output c,output reg d); ……<模塊內容> …… endmodule

    注:也可以使用 input a,b 的形式,對于代碼風格,也需要參考EDA工具的支持情況,不同工具的使用規則可能不一樣。

    3.2 模塊與外部信號的連接

    對于外部信號而言,不是reg就是net類型,怎么著都應該能夠輸入進如其他的模塊實例,因此,也就能夠進一步理解,為什么輸入端口的外部允許reg和net類型的數據了

    這里只講解命名端口連接規則,先給出實例,模塊show為底層模塊,而模塊show_up為其上一級模塊。

    module show_up(input aa,input [3:0] bb,output cc,output reg dd;);show s1( //調用模塊實例并且進行端口連接.a(aa),.b(bb),.c(cc),// .d(dd) 非法連接!reg類型的外部信號,不能連到輸出端口上// 可以選擇不連接,或者修改為net類型); …… <模塊內容> …… endmodule

    需要注意的幾個問題:

    • 警惕輸出端口非法連接
      外部信號與模塊端口連接的時候,reg類型的輸出信號不能與輸出信號連接,可以有以下修改方式(由需求決定):
      • 將reg類型變為net類型
      • 增加一個wire類型的輸出與之相連,reg類型的輸出不進行端口連接
    • 模塊實例的端口可以不連接
    • 模塊內外兩部分的位寬要匹配,否則可能出現問題

    4. 實戰經驗

    對于一整個設計模型而言,如果子模塊的輸出端口均與它的上級模塊連接,那么,整個設計系統中,只有葉單元的(內部)輸出端口可以是reg類型,其余是上層單元只能是net類型

    這個不做過多解釋,我相信你能夠想明白,只需要你在設計模塊端口的時候注意這個問題!

    一般情況下,輸出端口默認wire即可,除非特殊情況采用reg!

    總結

    以上是生活随笔為你收集整理的【Verilog HDL】第四章 模块的端口连接规则——污水处理模型的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 香蕉黄视频 | 少妇色欲网 | 久久免费国产视频 | 91大神网址 | 欧美小视频在线观看 | 伊人精品一区二区三区 | 刘亦菲毛片一区二区三区 | 你懂的网址在线 | 黄色av网站在线 | 国产三级播放 | 亚洲一区二区自拍偷拍 | 亚洲婷婷丁香 | 国产盗摄视频在线观看 | 国产成人精品一区二区三区在线 | 在线观看精品一区 | 国产精品毛片久久久久久 | 国产免费中文字幕 | 亚洲精品一区二区三区在线 | 日韩逼| 操丝袜美女视频 | 色多多污污 | 国产传媒在线 | 午夜小视频免费 | 国产精品一区二区小说 | 亚洲在线视频免费观看 | 九九热在线免费视频 | 亚洲欧美日韩色 | 伊人久久爱 | 亚洲av无码一区二区三区网站 | 1级片在线观看 | 在线毛片观看 | 亚洲伊人精品 | 国产欧美亚洲一区二区 | 亚洲国产婷婷香蕉久久久久久99 | 国产成人亚洲欧洲在线 | 免费一区二区视频 | 中文字幕欧美激情 | 一区二区视频观看 | 禁断介护av一区二区 | 男操女视频在线观看 | 国产精品伦子伦免费视频 | 中文字幕乱码人妻无码久久 | av免费入口 | 婷婷伊人网 | 狠狠干影院 | 国产一区二区在 | 污视频在线网站 | 天天操天天爽天天干 | 日本bbwbbw| 性猛交ⅹxxx富婆video | 女人一区二区 | 五月婷av| 亚洲日本欧美精品 | 午夜日韩电影 | 精品一区李梓熙捆绑 | 色女综合 | 国产一区视频在线免费观看 | 亚洲大尺度视频 | 最新久久久 | 成人av片在线观看 | 中文字幕av一区二区三区 | 波多野结衣一二区 | 国产成人99久久亚洲综合精品 | 欧美乱妇狂野欧美视频 | 一本在线免费视频 | 香港三级日本三级韩国三级 | 成人免费看片98 | 亚洲av无码日韩精品影片 | 福利视频91 | 91精品视频一区 | 精品国产系列 | 成人免费视频一区 | 国产av无码专区亚洲av麻豆 | 在线观看黄色免费网站 | 日本在线精品视频 | 天天艹夜夜艹 | 亚色图 | 91av一区| 自拍偷拍亚洲欧洲 | 久久av综合网 | 亚洲天堂av一区二区 | 99久久免费看精品国产一区 | 在线观看亚洲欧美 | 亚洲第一色网站 | 免费看一级一片 | 国产三级小视频 | 国产精品无码一区二区三区在线看 | 免费观看日韩毛片 | 久久com | 欧美日韩123 | 黄色网页入口 | 国产成人精品a视频 | 99久久人妻精品免费二区 | 一级理论片| 色妞综合网 | 热热av | 欧美日韩1区2区3区 亚洲日本精品视频 | 狠狠精品干练久久久无码中文字幕 | 欧美一区二区三区久久成人精品 |