国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Verilog刷題篇】硬件工程師從0到入門(mén)3|組合邏輯復(fù)習(xí)+時(shí)序邏輯入門(mén)

這篇具有很好參考價(jià)值的文章主要介紹了【Verilog刷題篇】硬件工程師從0到入門(mén)3|組合邏輯復(fù)習(xí)+時(shí)序邏輯入門(mén)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

  • 硬件工程師近年來(lái)也開(kāi)始慢慢吃香,校招進(jìn)大廠年薪總包不下30-40w的人數(shù)一大把!而且大廠人數(shù)并沒(méi)有飽和!
    - 本期是【Verilog刷題篇】硬件工程師從0到入門(mén)3|組合邏輯復(fù)習(xí)+時(shí)序邏輯入門(mén),有不懂的地方可以評(píng)論進(jìn)行討論!
  • 推薦給大家一款刷題、面試的神器,我也是用這一款神器進(jìn)行學(xué)習(xí)Verilog硬件代碼的!
  • ~鏈接如下:刷題面試神器跳轉(zhuǎn)鏈接
  • 也歡迎大家去??筒榭从布こ處熣衅嘎毼坏母黝愘Y料,并進(jìn)行提前批投遞面試!
  • 小白新手可以通過(guò)該神器進(jìn)行日常的刷題、看大廠面經(jīng)、學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)知識(shí)、與大牛面對(duì)面溝通~ 刷題的圖片已經(jīng)放在下面了~

verilog 刷題,算法小記,fpga開(kāi)發(fā),面試,javascript

Q1:數(shù)據(jù)選擇器實(shí)現(xiàn)邏輯電路

問(wèn)題描述:請(qǐng)使用此4選1數(shù)據(jù)選擇器和必要的邏輯門(mén)實(shí)現(xiàn)下列表達(dá)式。
L=A?B+A?~C+B?C 數(shù)據(jù)選擇器的邏輯符號(hào)如下圖:
verilog 刷題,算法小記,fpga開(kāi)發(fā),面試,javascript
數(shù)據(jù)選擇器代碼如下,可在本題答案中添加并例化此數(shù)據(jù)選擇器。

module data_sel(
   input             S0     ,
   input             S1     ,
   input             D0     ,
   input             D1     ,
   input             D2     ,
   input             D3     ,
   
   output wire        Y    
);

assign Y = ~S1 & (~S0&D0 | S0&D1) | S1&(~S0&D2 | S0&D3);
     
endmodule

示例輸入:
input A ,
input B ,
input C

示例輸出:
output wire L

參考代碼:

`timescale 1ns/1ns

module data_sel(
   input             S0     ,
   input             S1     ,
   input             D0     ,
   input             D1     ,
   input             D2     ,
   input             D3     ,
   
   output wire        Y    
);
assign Y = ~S1 & (~S0&D0 | S0&D1) | S1&(~S0&D2 | S0&D3);
     
endmodule

module sel_exp(
   input             A     ,
   input             B     ,
   input             C     ,
   
   output wire       L            
);
    data_sel m1(C,1'b0,A,B,1'b0,1'b0,L);
endmodule

Q2:根據(jù)狀態(tài)轉(zhuǎn)移表實(shí)現(xiàn)時(shí)序電路

問(wèn)題描述:某同步時(shí)序電路轉(zhuǎn)換表如下,請(qǐng)使用D觸發(fā)器和必要的邏輯門(mén)實(shí)現(xiàn)此同步時(shí)序電路,用Verilog語(yǔ)言描述。
verilog 刷題,算法小記,fpga開(kāi)發(fā),面試,javascript
電路的接口如下圖所示。
verilog 刷題,算法小記,fpga開(kāi)發(fā),面試,javascript

示例輸入:
input A ,
input clk ,
input rst_n

示例輸出:
output wire Y

參考代碼:

`timescale 1ns/1ns

module seq_circuit(
      input                A   ,
      input                clk ,
      input                rst_n,
 
      output  wire       Y   
);
    reg[1:0]Q;
    initial Q=2'b00;
    always @(posedge clk or negedge rst_n)
        begin
            if(~rst_n)
            begin
                Q<=2'b00;
            end
            else 
            begin
                Q[0]<=~Q[0];
                Q[1]<=(~A)&(Q[1]^Q[0])|A&(~Q[1]^Q[0]);
            end
        end
    assign Y=Q[1]&Q[0]; 
endmodule

Q3:根據(jù)狀態(tài)轉(zhuǎn)移圖實(shí)現(xiàn)時(shí)序電路

問(wèn)題描述:某同步時(shí)序電路的狀態(tài)轉(zhuǎn)換圖如下,→上表示“C/Y”,圓圈內(nèi)為現(xiàn)態(tài),→指向次態(tài)。
請(qǐng)使用D觸發(fā)器和必要的邏輯門(mén)實(shí)現(xiàn)此同步時(shí)序電路,用Verilog語(yǔ)言描述。
verilog 刷題,算法小記,fpga開(kāi)發(fā),面試,javascript
電路的接口如下圖所示,C是單bit數(shù)據(jù)輸入端。
verilog 刷題,算法小記,fpga開(kāi)發(fā),面試,javascript

示例輸入:
input C ,
input clk ,
input rst_n

示例輸出:
output wire Y

參考代碼:

`timescale 1ns/1ns

module seq_circuit(
   input                C   ,
   input                clk ,
   input                rst_n,
 
   output   reg        Y   
);
    parameter [1:0] st0 = 2'b00,
                    st1 = 2'b01,
                    st2 = 2'b10,
                    st3 = 2'b11;
    
    reg [1:0] cst,nst;
    always@(posedge clk or negedge rst_n) begin
        if(!rst_n)begin
            cst <= 2'b00;
            nst <= 2'b00;
        end
        else
            cst <= nst;
    end
    always@(*) begin
            case(cst)
                st0:begin
                    nst = (C==1) ? st1 : st0; 
                end
                st1:begin
                    nst = (C==1) ? st1 : st3; 
                end
                st2:begin
                    nst = (C==1) ? st2 : st0; 
                end
                st3:begin
                    nst = (C == 1) ? st2 : st3; 
                end
                default:
                    nst = st0;
            endcase
    end
    always @(*) begin
        if(((cst == st2) && C) || (cst == st3) )
            Y = 1'b1;
        else
            Y = 1'b0;
    end
endmodule

Q4:ROM的簡(jiǎn)單實(shí)現(xiàn)

問(wèn)題描述:實(shí)現(xiàn)一個(gè)深度為8,位寬為4bit的ROM,數(shù)據(jù)初始化為0,2,4,6,8,10,12,14??梢酝ㄟ^(guò)輸入地址addr,輸出相應(yīng)的數(shù)據(jù)data。

接口信號(hào)圖如下:
verilog 刷題,算法小記,fpga開(kāi)發(fā),面試,javascript

輸入描述:
clk:系統(tǒng)時(shí)鐘
rst_n:異步復(fù)位信號(hào),低電平有效
addr:8bit位寬的無(wú)符號(hào)數(shù),輸入到ROM的地址

輸出描述:
data:4bit位寬的無(wú)符號(hào)數(shù),從ROM中讀出的數(shù)據(jù)

參考代碼:

`timescale 1ns/1ns
module rom(
	input clk,
	input rst_n,
	input [7:0]addr,
	
	output [3:0]data
);
 
    reg [3:0] romreg[7:0];
    integer i;
    always @ (posedge clk or negedge rst_n)
        begin
            if (~rst_n) begin
                romreg[0]<=4'd0;
                romreg[1]<=4'd2;
                romreg[2]<=4'd4;
                romreg[3]<=4'd6;
                romreg[4]<=4'd8;
                romreg[5]<=4'd10;
                romreg[6]<=4'd12;
                romreg[7]<=4'd14;
            end
            else begin
                for (i=0 ; i<8 ; i=i+1) begin : rom_i
                    romreg[i]<=romreg[i];    //保持不變
                end
            end
        end
                
    assign data = romreg[addr];  //異步輸出
endmodule

Q5:邊沿檢測(cè)

問(wèn)題描述:有一個(gè)緩慢變化的1bit信號(hào)a,編寫(xiě)一個(gè)程序檢測(cè)a信號(hào)的上升沿給出指示信號(hào)rise,當(dāng)a信號(hào)出現(xiàn)下降沿時(shí)給出指示信號(hào)down。
注:rise,down應(yīng)為單脈沖信號(hào),在相應(yīng)邊沿出現(xiàn)時(shí)的下一個(gè)時(shí)鐘為高,之后恢復(fù)到0,一直到再一次出現(xiàn)相應(yīng)的邊沿。
verilog 刷題,算法小記,fpga開(kāi)發(fā),面試,javascript

示例輸入:
clk:系統(tǒng)時(shí)鐘信號(hào)
rst_n:異步復(fù)位信號(hào),低電平有效
a:?jiǎn)伪忍匦盘?hào),作為待檢測(cè)的信號(hào)

示例輸出:
rise:?jiǎn)伪忍匦盘?hào),當(dāng)輸入信號(hào)a出現(xiàn)上升沿時(shí)為1,其余時(shí)刻為0
down:?jiǎn)伪忍匦盘?hào),當(dāng)輸入信號(hào)a出現(xiàn)下降沿時(shí)為1,其余時(shí)刻為0

參考代碼:

`timescale 1ns/1ns
module edge_detect(
	input clk,
	input rst_n,
	input a,
	
	output wire rise,
	output wire down
);
    reg a1,a2;
    always@(posedge clk or negedge rst_n)
        begin
            if(!rst_n)
                begin
                    a1<='b0;
                    a2<='b0;
                end
            else 
                begin
                    a1<=a;
                    a2<=a1;
                end
        end
    assign rise = ((a1 & !a2)===1);
    assign down = ((!a1 & a2)===1);

endmodule

總結(jié):小白跟大牛都在用的平臺(tái)

  • 硬件工程師近年來(lái)也開(kāi)始慢慢吃香,校招進(jìn)大廠年薪總包不下30-40w的人數(shù)一大把!而且大廠人數(shù)并沒(méi)有飽和!
    - 本期是【Verilog刷題篇】硬件工程師從0到入門(mén)3|組合邏輯復(fù)習(xí)+時(shí)序邏輯入門(mén),有不懂的地方可以評(píng)論進(jìn)行討論!

快來(lái)點(diǎn)擊鏈接進(jìn)行跳轉(zhuǎn)注冊(cè),開(kāi)始你的保姆級(jí)刷題之路吧!刷題打怪碼神之路

另外這里不僅僅可以刷題,你想要的這里都會(huì)有,十分適合小白和初學(xué)者入門(mén)學(xué)習(xí)~
1、算法篇(398題):面試必刷100題、算法入門(mén)、面試高頻榜單
2、數(shù)據(jù)結(jié)構(gòu)篇(300題):都是非常經(jīng)典的鏈表、樹(shù)、堆、棧、隊(duì)列、動(dòng)態(tài)規(guī)劃等
3、語(yǔ)言篇(500題):C/C++、java、python入門(mén)算法練習(xí)
4、SQL篇(82題):快速入門(mén)、SQL必知必會(huì)、SQL進(jìn)階挑戰(zhàn)、面試真題
5、大廠筆試真題:字節(jié)跳動(dòng)、美團(tuán)、百度、騰訊…掌握經(jīng)驗(yàn)不在懼怕面試!

verilog 刷題,算法小記,fpga開(kāi)發(fā),面試,javascript文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-777984.html

到了這里,關(guān)于【Verilog刷題篇】硬件工程師從0到入門(mén)3|組合邏輯復(fù)習(xí)+時(shí)序邏輯入門(mén)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 從零學(xué)verilog系列(4)組合邏輯電路設(shè)計(jì)方法

    從零學(xué)verilog系列(4)組合邏輯電路設(shè)計(jì)方法

    ? 目錄 1.組合電路設(shè)計(jì)方法 1.1真值表方式(本質(zhì)是最小項(xiàng)表達(dá)式) 1.2邏輯表達(dá)式方式 1.3結(jié)構(gòu)描述方式 1.4抽象描述方式(從電路功能出發(fā)) 2組合電路設(shè)計(jì)項(xiàng)目 2.1數(shù)字加法器 半加器(1位加法器) 全加器 串行進(jìn)位加法器(行波進(jìn)位加法器) 超前進(jìn)位加法器 2.2數(shù)據(jù)比較器 2.3數(shù)據(jù)選

    2024年02月04日
    瀏覽(20)
  • 【FPGA】組合邏輯電路三種建模方式(Verilog HDL 門(mén)級(jí)建模、Verilog HDL 數(shù)據(jù)流建模、組合電路行為級(jí)建模)

    【FPGA】組合邏輯電路三種建模方式(Verilog HDL 門(mén)級(jí)建模、Verilog HDL 數(shù)據(jù)流建模、組合電路行為級(jí)建模)

    目錄 ? Verilog HDL 門(mén)級(jí)建模 各種邏輯門(mén)的表示和使用 門(mén)級(jí)建模書(shū)寫(xiě)實(shí)例 Verilog HDL 數(shù)據(jù)流建模 數(shù)據(jù)流建模 數(shù)據(jù)流建模書(shū)寫(xiě)實(shí)例 組合電路行為級(jí)建模 always語(yǔ)句 條件語(yǔ)句 多路分支語(yǔ)句 循環(huán)語(yǔ)句 for while repeat forever 行為級(jí)建模示例 ? 可以理解為對(duì)邏輯電路中各個(gè)門(mén)依次進(jìn)行描述

    2024年04月13日
    瀏覽(52)
  • 【FPGA】Verilog:組合邏輯電路應(yīng)用 | 數(shù)碼管 | 8421BCD編碼 | 轉(zhuǎn)換七段數(shù)碼管段碼

    【FPGA】Verilog:組合邏輯電路應(yīng)用 | 數(shù)碼管 | 8421BCD編碼 | 轉(zhuǎn)換七段數(shù)碼管段碼

    前言: 本章內(nèi)容主要是演示Vivado下利用Verilog語(yǔ)言進(jìn)行電路設(shè)計(jì)、仿真、綜合和下載 示例:數(shù)碼管的使用 功能特性:?采用?Xilinx Artix-7 XC7A35T芯片? 配置方式:USB-JTAG/SPI Flash 高達(dá)100MHz 的內(nèi)部時(shí)鐘速度? 存儲(chǔ)器:2Mbit SRAM ??N25Q064A SPI Flash(樣圖舊款為N25Q032A) 通用IO:Switch :

    2024年02月03日
    瀏覽(30)
  • 【FPGA】Verilog:模塊化組合邏輯電路設(shè)計(jì) | 半加器 | 全加器 | 串行加法器 | 子模塊 | 主模塊

    【FPGA】Verilog:模塊化組合邏輯電路設(shè)計(jì) | 半加器 | 全加器 | 串行加法器 | 子模塊 | 主模塊

    前言: 本章內(nèi)容主要是演示Vivado下利用Verilog語(yǔ)言進(jìn)行電路設(shè)計(jì)、仿真、綜合和下載 示例:加法器 ? ? 功能特性:?采用?Xilinx Artix-7 XC7A35T芯片? 配置方式:USB-JTAG/SPI Flash 高達(dá)100MHz 的內(nèi)部時(shí)鐘速度? 存儲(chǔ)器:2Mbit SRAM ??N25Q064A SPI Flash(樣圖舊款為N25Q032A) 通用IO:Switch :

    2024年02月15日
    瀏覽(24)
  • FPGA硬件工程師Verilog面試題(基礎(chǔ)篇一)

    FPGA硬件工程師Verilog面試題(基礎(chǔ)篇一)

    ?作者簡(jiǎn)介:大家好我是:嵌入式基地,是一名嵌入式工程師,希望一起努力,一起進(jìn)步! ??個(gè)人主頁(yè):嵌入式基地 ??系列專欄:FPGA Verilog 習(xí)題專欄 微信公眾號(hào):嵌入式基地 點(diǎn)擊進(jìn)行在線練習(xí) 描述 制作一個(gè)四選一的多路選擇器,要求輸出定義上為線網(wǎng)類型 狀態(tài)轉(zhuǎn)換:

    2023年04月26日
    瀏覽(22)
  • 硬件系統(tǒng)工程師寶典(36)-----盤(pán)點(diǎn)常用的總線和常見(jiàn)的邏輯電平

    硬件系統(tǒng)工程師寶典(36)-----盤(pán)點(diǎn)常用的總線和常見(jiàn)的邏輯電平

    各位同學(xué)大家好,歡迎繼續(xù)做客電子工程學(xué)習(xí)圈,今天我們繼續(xù)來(lái)講這本書(shū),硬件系統(tǒng)工程師寶典。 上篇我們了解了SDRAM的存儲(chǔ)技術(shù)以及SDRAM的發(fā)展歷程,技術(shù)的進(jìn)步推動(dòng)著產(chǎn)品的升級(jí),也加速了整個(gè)電子行業(yè)的發(fā)展。今天我們來(lái)講一講一些常用的總線及邏輯電平。 I2C總線是

    2024年02月13日
    瀏覽(22)
  • 【刷題篇】鏈表(上)

    【刷題篇】鏈表(上)

    前段時(shí)間我們學(xué)習(xí)了單向鏈表和雙向鏈表,本期將帶來(lái)3道與鏈表相關(guān)的OJ題來(lái)鞏固對(duì)鏈表的理解。話不多說(shuō),讓我們進(jìn)入今天的題目吧! ??本期的題目有: 反轉(zhuǎn)單鏈表 、 鏈表的中間結(jié)點(diǎn) 、 合并兩個(gè)有序鏈表 a.題目 b.題解分析(迭代) ?? 三指針?lè)? 我們可以直接在原鏈表的

    2024年02月02日
    瀏覽(29)
  • 【刷題篇】棧和隊(duì)列

    【刷題篇】棧和隊(duì)列

    目錄 一.前言?? 二.有效的括號(hào)? a.題目 b.題解分析 c.AC代碼? 三. 用隊(duì)列實(shí)現(xiàn)棧?? a.題目 b.題解分析(輔助隊(duì)列法) c.AC代碼(輔助隊(duì)列法) d.題解分析(就地存儲(chǔ)法) c.AC代碼(就地存儲(chǔ)法) 四. 用棧實(shí)現(xiàn)隊(duì)列?? a.題目 b.題解分析 c.AC代碼 ? ? ? ? 各位小友們好久不見(jiàn),甚

    2024年02月02日
    瀏覽(18)
  • 【刷題篇】貪心算法(一)

    【刷題篇】貪心算法(一)

    假設(shè)1元、2元、5元、10元、20元、50元、100元的紙幣分別由c0,c1,c2,c3,c4,c5,c6張?,F(xiàn)在要用這些錢(qián)來(lái)支付K元,至少要用多少?gòu)埣垘牛?/p>

    2024年02月09日
    瀏覽(22)
  • 【刷題篇】貪心算法

    【刷題篇】貪心算法

    假設(shè)1元、2元、5元、10元、20元、50元、100元的紙幣分別由c0,c1,c2,c3,c4,c5,c6張?,F(xiàn)在要用這些錢(qián)來(lái)支付K元,至少要用多少?gòu)埣垘牛?/p>

    2024年02月09日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包