国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

HDLBits: 在線學習SystemVerilog-Problem

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-10-20 09:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

HDLBits 是一組小型電路設計習題集,使用 Verilog/SystemVerilog 硬件描述語言 (HDL) 練習數字硬件設計~

網址如下:

https://hdlbits.01xz.net/

關于HDLBits的Verilog實現可以查看下面專欄:

https://www.zhihu.com/column/c_1131528588117385216

縮略詞索引

  • SV:SystemVerilog

從今天開始新的一章-Circuits,包括基本邏輯電路、時序電路、組合電路等。

今天更新整個多路選擇器一小節題目,多路選擇器也是組合電路的基本電路。

Problem 60-Mux2to1

題目說明

創建一個一位寬2路選擇器。當 sel=0 時,選擇 a。當 sel=1 時,選擇 b。

模塊端口聲明

moduletop_module(
inputa,b,sel,
outputout);

題目解析

這個題目沒什么難度,看下面參考代碼即可:

moduletop_module(
inputlogica,b,sel,
outputlogicout);

assignout=sel?b:a;


endmodule

f837d93a-5013-11ed-a3b6-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f84fbac8-5013-11ed-a3b6-dac502259ad0.png

注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。

這一題就結束了。

Problem 61-Mux2to1v

題目說明

創建一個100位寬2路選擇器。當 sel=0 時,選擇 a。當 sel=1 時,選擇 b。

模塊端口聲明

moduletop_module(
input[99:0]a,b,
inputsel,
output[99:0]out);

題目解析

這道題難度不大核心代碼只有一行。

簡單解答

moduletop_module(
inputlogic[99:0]a,b,
inputlogicsel,
outputlogic[99:0]out);


assignout=sel?b:a;

endmodule
f887119e-5013-11ed-a3b6-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f8af938a-5013-11ed-a3b6-dac502259ad0.png

注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。

這一題就結束了。

Problem 62-Mux9to1v

題目說明

創建一個 16 位寬的 9 選 1 多路選擇器。sel=0 選擇 a,sel=1 選擇 b,等等。對于未使用的情況(sel=9 到 15),將所有輸出位設置為“1”。

模塊端口聲明

moduletop_module(
input[15:0]a,b,c,d,e,f,g,h,i,
input[3:0]sel,
output[15:0]out);

題目解析

這種多路選擇,用條件運算顯然不合適,所以我們選擇使用case。

moduletop_module(
inputlogic[15:0]a,b,c,d,e,f,g,h,i,
inputlogic[3:0]sel,
outputlogic[15:0]out);

always_combbegin
case(sel)
4'd0:begin
out=a;
end
4'd1:begin
out=b;
end
4'd2:begin
out=c;
end
4'd3:begin
out=d;
end
4'd4:begin
out=e;
end
4'd5:begin
out=f;
end
4'd6:begin
out=g;
end
4'd7:begin
out=h;
end
4'd8:begin
out=i;
end
default:begin
out=16'hffff;
end
endcase
end

endmodule

f8ddef00-5013-11ed-a3b6-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f8ee8d88-5013-11ed-a3b6-dac502259ad0.png

注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。

這一題就結束了。

Problem 63-Mux256to1

題目說明

創建一個 1 位寬、256 選 1 的多路選擇器。256 個輸入打包成一個 256 位輸入向量。sel=0 應該選擇in[0], sel=1 選擇in[1]位, sel=2 選擇in[2]位,等等。

模塊端口聲明

moduletop_module(
input[255:0]in,
input[7:0]sel,
outputout);

題目解析

題目輸入是一個向量,我們在設計的時候不可能按照case或者三元運算去做設計(工作量巨大),所以我們需要觀察這個題目的特點,輸入是256位寬,是不是2^8次方?

根據題目提示:選擇運算符的 index 可以為變量,只要變量的位寬和向量的長度匹配即可。

So?

moduletop_module(
inputlogic[255:0]in,
inputlogic[7:0]sel,
outputlogicout);
assignout=in[sel];
endmodule
f9229506-5013-11ed-a3b6-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f93b6ea0-5013-11ed-a3b6-dac502259ad0.png

注意圖中無波形。

這一題就結束了。

Problem 64-Mux256to1v

題目說明

本題中需要實現一個 256 選 1 選擇器,sel 信號作為選擇信號,當 sel = 0 時選擇 in[3:0],sel = 1 時選擇 in[7:4],以此類推。同上一題的區別在于,位寬從 1 位變到了 4 位。

模塊端口聲明

moduletop_module(
input[1023:0]in,
input[7:0]sel,
output[3:0]out);

題目解析

將上一題答案稍加改造即可,選擇的位跨4位并且+4。

moduletop_module(
inputlogic[1023:0]in,
inputlogic[7:0]sel,
outputlogic[3:0]out);
assignout=in[sel*4+:4];
endmodule
f945828c-5013-11ed-a3b6-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f95fab4e-5013-11ed-a3b6-dac502259ad0.png

注意圖中無波形。

這一題就結束了。

總結

今天的幾道題就結束了,整體比較簡單,沒有復雜的代碼,沒有復雜的設計思路。

最后我這邊做題的代碼也是個人理解使用,有錯誤歡迎大家批評指正,祝大家學習愉快~

代碼鏈接:

https://github.com/suisuisi/SystemVerilog/tree/main/SystemVerilogHDLBits


審核編輯 :李倩


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

    關注

    13

    文章

    503

    瀏覽量

    44080
  • Verilog
    +關注

    關注

    30

    文章

    1374

    瀏覽量

    114520
  • 選擇器
    +關注

    關注

    0

    文章

    111

    瀏覽量

    15130

原文標題:HDLBits: 在線學習 SystemVerilog(十一)-Problem 60-64

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    KM在線監測實現設備高效管理#在線監測

    在線監測
    KM預測性維護專家
    發布于 :2026年02月27日 14:24:25

    人工智能與機器學習在這些行業的深度應用

    自人工智能和機器學習問世以來,多個在線領域的數字化格局迎來了翻天覆地的變化。這些技術從誕生之初就為企業賦予了競爭優勢,而在線行業正是受其影響最為顯著的領域。人工智能(AI)與機器學習
    的頭像 發表于 02-04 14:44 ?464次閱讀

    KM工業運維在線監測源頭廠家#振動監測

    在線監測
    KM預測性維護專家
    發布于 :2026年02月03日 16:15:17

    KM設備在線監測方案 靈活部署 減少80%維修成本#在線監測

    在線監測
    KM預測性維護專家
    發布于 :2026年01月29日 14:49:16

    激光雪深監測站—實時在線監測積雪厚度

    在線監測
    pingao141378
    發布于 :2025年11月29日 11:55:09

    KM在線監測方案保障水泵安全生產#在線監測

    在線監測
    KM預測性維護專家
    發布于 :2025年11月28日 09:18:13

    破解平壓平模切機監測難題!KMPHM在線監測方案大揭秘 #在線監測

    在線監測
    KM預測性維護專家
    發布于 :2025年09月16日 16:26:25

    KM告訴你 人工監測VS在線監測 誰才是效率王者?#在線監測

    在線監測
    KM預測性維護專家
    發布于 :2025年08月15日 10:06:36

    KM在線監測標桿計劃招募中#在線監測

    在線監測
    KM預測性維護專家
    發布于 :2025年07月25日 13:41:08

    KM亮相石油化工展#在線監測

    在線監測
    KM預測性維護專家
    發布于 :2025年06月20日 15:41:55

    KM告訴你什么是在線監測?#

    在線監測
    KM預測性維護專家
    發布于 :2025年06月19日 14:07:22

    KMPHM在線監測系統 讓設備故障無處遁形#在線監測#振動在線監測

    在線監測
    KM預測性維護專家
    發布于 :2025年05月22日 16:30:08

    #諧波在線監測裝置操作界面

    在線監測
    aozhuogeng
    發布于 :2025年05月01日 09:23:46

    #諧波在線監測裝置核心作用

    在線監測
    aozhuogeng
    發布于 :2025年04月22日 09:06:09

    KMPHM在線監測平臺賦能設備管理升級#在線監測#振動監測

    在線監測
    KM預測性維護專家
    發布于 :2025年03月06日 14:51:51