精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HDLBits: 在線學(xué)習(xí)SystemVerilog-Problem

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-10-20 09:21 ? 次閱讀

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

網(wǎng)址如下:

https://hdlbits.01xz.net/

關(guān)于HDLBits的Verilog實現(xiàn)可以查看下面專欄:

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

縮略詞索引

  • SV:SystemVerilog

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

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

Problem 60-Mux2to1

題目說明

創(chuàng)建一個一位寬2路選擇器。當(dāng) sel=0 時,選擇 a。當(dāng) 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,等待一會就能看到下圖結(jié)果:

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

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

這一題就結(jié)束了。

Problem 61-Mux2to1v

題目說明

創(chuàng)建一個100位寬2路選擇器。當(dāng) sel=0 時,選擇 a。當(dāng) 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,等待一會就能看到下圖結(jié)果:

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

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

這一題就結(jié)束了。

Problem 62-Mux9to1v

題目說明

創(chuàng)建一個 16 位寬的 9 選 1 多路選擇器。sel=0 選擇 a,sel=1 選擇 b,等等。對于未使用的情況(sel=9 到 15),將所有輸出位設(shè)置為“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,等待一會就能看到下圖結(jié)果:

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

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

這一題就結(jié)束了。

Problem 63-Mux256to1

題目說明

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

模塊端口聲明

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

題目解析

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

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

So?

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

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

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

注意圖中無波形。

這一題就結(jié)束了。

Problem 64-Mux256to1v

題目說明

本題中需要實現(xiàn)一個 256 選 1 選擇器,sel 信號作為選擇信號,當(dāng) sel = 0 時選擇 in[3:0],sel = 1 時選擇 in[7:4],以此類推。同上一題的區(qū)別在于,位寬從 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,等待一會就能看到下圖結(jié)果:

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

注意圖中無波形。

這一題就結(jié)束了。

總結(jié)

今天的幾道題就結(jié)束了,整體比較簡單,沒有復(fù)雜的代碼,沒有復(fù)雜的設(shè)計思路。

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

代碼鏈接:

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


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 邏輯電路
    +關(guān)注

    關(guān)注

    13

    文章

    494

    瀏覽量

    42581
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1345

    瀏覽量

    109995
  • 選擇器
    +關(guān)注

    關(guān)注

    0

    文章

    106

    瀏覽量

    14523

原文標(biāo)題:HDLBits: 在線學(xué)習(xí) SystemVerilog(十一)-Problem 60-64

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    緊鑼密鼓地準(zhǔn)備打包發(fā)貨模擬導(dǎo)線覆冰線路在線監(jiān)測裝置

    在線監(jiān)測
    jf_96960730
    發(fā)布于 :2024年11月11日 10:53:44

    KM振動在線監(jiān)測系統(tǒng)助力設(shè)備煥新升級#振動在線監(jiān)測#振動監(jiān)測#在線監(jiān)測

    在線監(jiān)測
    KM預(yù)測性維護專家
    發(fā)布于 :2024年10月23日 14:59:48

    如何學(xué)習(xí)ARM?

    如何學(xué)習(xí)ARM? 在開始學(xué)習(xí) ARM 處理器之前,先對計算機體系結(jié)構(gòu)有一個基本的了解是很重要的。學(xué)習(xí)計算機的工作原理、CPU、內(nèi)存等基礎(chǔ)概念,可以通過閱讀相關(guān)的書籍或在線教程來
    發(fā)表于 10-11 10:42

    賽盛EMC在線學(xué)習(xí)平臺:揭秘學(xué)習(xí)寶典&工具秘籍!

    《賽盛在線學(xué)習(xí)及工具應(yīng)用》線上發(fā)布會SESOnline【經(jīng)驗結(jié)晶,智啟未來之路】在電磁兼容浩瀚海洋中,我們深耕近二十年,積累了豐富的EMC(電磁兼容)技術(shù)經(jīng)驗及培訓(xùn)經(jīng)驗。此刻,這份深厚積累匯成知識
    的頭像 發(fā)表于 10-11 08:03 ?544次閱讀
    賽盛EMC<b class='flag-5'>在線</b><b class='flag-5'>學(xué)習(xí)</b>平臺:揭秘<b class='flag-5'>學(xué)習(xí)</b>寶典&amp;amp;工具秘籍!

    KMPHM振動在線監(jiān)測助力企業(yè)輕裝上陣#振動在線監(jiān)測 #在線監(jiān)測 #振動監(jiān)測

    在線監(jiān)測
    KM預(yù)測性維護專家
    發(fā)布于 :2024年09月29日 15:17:03

    Vivado 2024.1版本的新特性(2)

    從綜合角度看,Vivado 2024.1對SystemVerilog和VHDL-2019的一些特性開始支持。先看SystemVerilog
    的頭像 發(fā)表于 09-18 10:34 ?676次閱讀
    Vivado 2024.1版本的新特性(2)

    Verilog testbench問題求助

    這是我在HDLbits網(wǎng)站上做到的一道題,是testbench,請問這個代碼為什么input都是低電平0?我設(shè)置的時鐘就是周期10ns,占空比50%的時鐘信號啊?怎么會出現(xiàn)這種情況......
    發(fā)表于 07-21 11:14

    桿塔傾斜在線監(jiān)測

    在線監(jiān)測
    jf_96960730
    發(fā)布于 :2024年07月02日 14:38:06

    #物聯(lián)網(wǎng) 斯塔克積水在線監(jiān)測

    物聯(lián)網(wǎng)在線監(jiān)測
    斯塔克物聯(lián)科技
    發(fā)布于 :2024年05月29日 15:44:20

    #物聯(lián)網(wǎng) 窨井在線監(jiān)測系統(tǒng)

    物聯(lián)網(wǎng)在線監(jiān)測
    斯塔克物聯(lián)科技
    發(fā)布于 :2024年05月24日 09:55:14

    IEEE 1800-2023 SystemVerilog新版本正式發(fā)布了!

    2024年3月初,在美國硅谷舉辦的DVCon2024上,IEEE-SA和Accellera聯(lián)合宣布通過IEEE Get Program可以免費獲取IEEE 1800-2023 SystemVerilog語言參考手冊。
    的頭像 發(fā)表于 03-20 13:52 ?1633次閱讀

    在Vivado Synthesis中怎么使用SystemVerilog接口連接邏輯呢?

    SystemVerilog 接口的開發(fā)旨在讓設(shè)計中層級之間的連接變得更加輕松容易。 您可以把這類接口看作是多個模塊共有的引腳集合。
    的頭像 發(fā)表于 03-04 15:25 ?888次閱讀
    在Vivado Synthesis中怎么使用<b class='flag-5'>SystemVerilog</b>接口連接邏輯呢?

    高壓導(dǎo)線弧垂如何在線監(jiān)測?FH-9006北斗導(dǎo)線弧垂在線監(jiān)測裝置幫助您!

    導(dǎo)線在線監(jiān)測
    jf_96960730
    發(fā)布于 :2024年02月20日 15:51:15