最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

HDLBits (20) — 模塊

2022-01-27 22:30 作者:僚機(jī)Wingplane  | 我要投稿

本題鏈接:

https://hdlbits.01xz.net/wiki/Module

到目前為止,您已經(jīng)熟悉了 module,它是一個(gè)通過輸入和輸出端口與其外部交互的電路。 更大、更復(fù)雜的電路是通過將更小的模塊和一些連接在一起的其他部分(例如 assign 語句和 always 塊)組成構(gòu)建的更大的模塊。因?yàn)槟K可以包含其他模塊的實(shí)例,所以形成了一個(gè)層次結(jié)構(gòu)。

下圖顯示了一個(gè)帶有子模塊的非常簡單的電路。 在本練習(xí)中,創(chuàng)建模塊 mod_a 的一個(gè)實(shí)例,然后將模塊的三個(gè)引腳(in1、in2 和 out)連接到頂層模塊的三個(gè)端口(線網(wǎng)?a、b 和 out)。 模塊 mod_a 是我們?yōu)槟峁┑摹枰獙?shí)它例化。

在連接模塊時(shí),對您而言只有模塊上的端口是重要的。 您不需要知道模塊內(nèi)的代碼。 模塊 mod_a 的代碼如下所示:

只要使用的所有模塊在屬于同一個(gè)項(xiàng)目中(編譯器憑借這個(gè)知道在哪里可以找到該模塊),那么模塊的層次結(jié)構(gòu)就可以通過在另一個(gè)模塊中實(shí)例化一個(gè)模塊創(chuàng)建。 一個(gè)模塊的代碼沒有寫在另一個(gè)模塊的主體中(不同模塊的代碼沒有嵌套)。

您可以通過端口名稱或端口位置將信號連接到模塊。 如需額外練習(xí),請嘗試使用兩種方法。

題目

將信號連接到模塊端口

有兩種常用的方法將電線連接到端口:分別是按位置和按名稱。

按位置

按位置將電線連接到端口的語法我們應(yīng)該很熟悉,因?yàn)樗褂妙愃?C 的語法。實(shí)例化模塊時(shí),端口根據(jù)模塊的聲明從左到右連接。例如:

mod_a instance1 ( wa, wb, wc );

這會(huì)實(shí)例化一個(gè) mod_a 類型的模塊,并給它一個(gè)實(shí)例名稱“instance1”,然后將信號 wa(在新模塊外部)連接到新模塊的第一個(gè)端口(in1),將 wb 連接到第二個(gè)端口(in2),然后wc 到第三個(gè)端口(出)。這種語法的一個(gè)缺點(diǎn)是,如果模塊的端口列表發(fā)生更改,那么就還需要找到并更改模塊的所有實(shí)例以匹配新模塊。

按名稱

按名稱將信號連接到模塊的端口可以使電線保持正確連接,即使端口列表發(fā)生更改。然而,這種語法更加冗長。

mod_a instance2 ( .out(wc), .in1(wa), .in2(wb) );

上面的行實(shí)例化了一個(gè)名為“instance2”的 mod_a 類型的模塊,然后將信號 wa(模塊外部)連接到名為 in1 的端口,將 wb 連接到名為 in2 的端口,將 wc 連接到名為 out 的端口。請注意這里的端口順序是無所謂的,因?yàn)闊o論其在子模塊端口列表中的位置如何,都將使用正確的名稱進(jìn)行連接。此外還要注意此語法中端口名稱之前的點(diǎn)。

預(yù)期的解決方案長度:大約 1 行。


答案

輸出波形

模塊是 Verilog 中基本單元的定義形式,是與外界交互的接口。

模塊格式定義如下:

模塊定義必須以關(guān)鍵字 module 開始,以關(guān)鍵字 endmodule 結(jié)束。

模塊名,端口信號,端口聲明和可選的參數(shù)聲明等,出現(xiàn)在設(shè)計(jì)使用的 Verilog 語句(圖中 Declarations_and_Statements)之前。

模塊內(nèi)部有可選的 5 部分組成,分別是變量聲明,數(shù)據(jù)流語句,行為級語句,低層模塊例化及任務(wù)和函數(shù),如下圖表示。這 5 部分出現(xiàn)順序、出現(xiàn)位置都是任意的。但是,各種變量都應(yīng)在使用之前聲明。變量具體聲明的位置不要求,但必須保證在使用之前的位置。

參考內(nèi)容:

5.1 Verilog 模塊與端口?| 菜鳥教程:

https://www.runoob.com/w3cnote/verilog-module-port.html



HDLBits (20) — 模塊的評論 (共 條)

分享到微博請遵守國家法律
理塘县| 吴旗县| 商城县| 会东县| 岢岚县| 平舆县| 邢台县| 曲靖市| 永靖县| 三门峡市| 清远市| 大同县| 涿州市| 禹州市| 瑞安市| 思茅市| 休宁县| 中牟县| 周口市| 宁阳县| 贵州省| 济源市| 万年县| 莎车县| 石景山区| 拉萨市| 茶陵县| 增城市| 翁源县| 视频| 苏尼特左旗| 九龙坡区| 福泉市| 北海市| 正宁县| 临夏市| 延寿县| 鹤岗市| 赫章县| 桂林市| 兰考县|