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

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

HDLBits (31) — 條件判斷語句

2022-02-06 12:31 作者:僚機(jī)Wingplane  | 我要投稿

本題鏈接:

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

一個(gè)條件判斷語句通常會(huì)創(chuàng)建一個(gè)2對(duì)1的多路復(fù)用器,如果條件為真,則選擇一個(gè)輸入;如果條件為假,則選擇另一個(gè)輸入。

這相當(dāng)于使用帶條件運(yùn)算符的連續(xù)賦值:

assign out = (condition)?? x?: y;

然而,過程性?if 語句會(huì)導(dǎo)致一種犯錯(cuò)誤的新方法。只有當(dāng)out始終被賦值時(shí),電路才是組合的。

題目

構(gòu)建一個(gè)2比1的多路復(fù)用器,在 a 和 b 之間進(jìn)行選擇。如果 sel _ b1和 sel _ b2都為真,則選擇 b。否則,選擇 a。執(zhí)行兩次相同的操作,一次使用 assign 語句,一次使用過程性 if 語句。

答案

輸出波形

條件(if)語句用于控制執(zhí)行語句要根據(jù)條件判斷來確定是否執(zhí)行。

條件語句用關(guān)鍵字 if 和 else 來聲明,條件表達(dá)式必須在圓括號(hào)中。

條件語句使用結(jié)構(gòu)說明如下:

  • if 語句執(zhí)行時(shí),如果 condition1 為真,則執(zhí)行 true_statement1 ;如果 condition1 為假,condition2 為真,則執(zhí)行 true_statement2;依次類推。

  • else if 與 else 結(jié)構(gòu)可以省略,即可以只有一個(gè) if 條件判斷和一組執(zhí)行語句 ture_statement1 就可以構(gòu)成一個(gè)執(zhí)行過程。

  • else if 可以疊加多個(gè),不僅限于 1 或 2 個(gè)。

  • ture_statement1 等執(zhí)行語句可以是一條語句,也可以是多條。如果是多條執(zhí)行語句,則需要用 begin 與 end 關(guān)鍵字進(jìn)行說明。

如果是 if-if-else 的形式,即便執(zhí)行語句只有一條,不使用 begin 與 end 關(guān)鍵字也會(huì)引起歧義。

當(dāng)然,編譯器一般按照就近原則,使 else 與最近的一個(gè) if(例子中第二個(gè) if)相對(duì)應(yīng)。

但顯然這樣的寫法是不規(guī)范且不安全的。

所以條件語句中加入 begin 與 and 關(guān)鍵字就是一個(gè)很好的習(xí)慣。

參考資料:

4.5 Verilog 條件語句 | 菜鳥教程:

https://www.runoob.com/w3cnote/verilog-condition-statement.html


HDLBits (31) — 條件判斷語句的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
蓬安县| 乐业县| 林口县| 镇安县| 阿克陶县| 左贡县| 昌图县| 尉氏县| 铜陵市| 南昌县| 怀仁县| 毕节市| 芦山县| 镇江市| 庆阳市| 根河市| 疏附县| 永定县| 台江县| 方城县| 泸州市| 永和县| 大埔县| 淮安市| 临桂县| 长春市| 章丘市| 达尔| 阿鲁科尔沁旗| 莱阳市| 黑龙江省| 辽宁省| 茂名市| 邵阳县| 丽水市| 衡南县| 南皮县| 招远市| 平顶山市| 察雅县| 麟游县|