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

北郵數(shù)電實(shí)驗(yàn)作業(yè)參考 #利用74LS138實(shí)現(xiàn)全加器

這篇具有很好參考價值的文章主要介紹了北郵數(shù)電實(shí)驗(yàn)作業(yè)參考 #利用74LS138實(shí)現(xiàn)全加器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

各位好我是Toporanger? 本人只會寫代碼 不會教人 畢竟自己的代碼也是改來改去最終成功的 如果有不夠精簡的地方還請見諒?

我會先貼下代碼 然后貼上管腳的綁定圖? 無論是拿來救急還是作為參考都希望幫助到你們

題目:

1.?Verilog HDL設(shè)計(jì)一個3-8譯碼器74LS138,并用該譯碼器實(shí)現(xiàn)全加器。要求:調(diào)試通過,直接貼代碼也可。

2.?Verilog HDL設(shè)計(jì)一個七段顯示譯碼器,該譯碼器輸入為BCD碼,輸出驅(qū)動七段數(shù)碼管。要求:將七段顯示譯碼器封裝為模塊,然后在頂層模塊調(diào)用該譯碼器驅(qū)動七段數(shù)碼管,并在開發(fā)板上驗(yàn)證通過,直接貼代碼也可。

頂層模塊:

// 模塊 hw_7: 根據(jù)輸入按鍵控制LED燈的亮滅,并通過加法器和7段顯示模塊展示計(jì)算結(jié)果
module hw_7(
    input clk, rst,            // 輸入信號:時鐘(clk)和復(fù)位(rst)
    input key1, key2, key3, key4, // 輸入按鍵,用于控制操作
    output reg si_led, ci_led, // 輸出信號:單個LED指示燈(si_led, ci_led)用于顯示加法器的結(jié)果
    output [8:0] seg_led,      // 7段顯示的輸出
    output reg [2:0] led       // LED燈組,通過按鍵控制亮滅
);

    wire siled; // 加法器的和輸出信號
    wire ciled; // 加法器的進(jìn)位輸出信號

    // 時鐘上升沿觸發(fā)的always塊
    always @(posedge clk) begin
        if (!rst) begin
            // 如果復(fù)位信號激活,則將所有LED設(shè)置為預(yù)定初始狀態(tài)
            led[0] <= 1'b1; // 初始狀態(tài),所有LED燈亮
            led[1] <= 1'b1;
            led[2] <= 1'b1;
            si_led <= 1'b1; // 加法結(jié)果和進(jìn)位結(jié)果LED初始化為亮
            ci_led <= 1'b1;
        end else begin
            // 根據(jù)按鍵狀態(tài)更新LED燈
            led[2] <= key1; // key1控制led[2]
            led[1] <= key2; // key2控制led[1]
            led[0] <= key3; // key3控制led[0]
            si_led <= ~siled; // 反轉(zhuǎn)加法器的和輸出,用于控制si_led
            ci_led <= ~ciled; // 反轉(zhuǎn)加法器的進(jìn)位輸出,用于控制ci_led
        end
    end

    // 加法器模塊實(shí)例化
    adder_ m1(
        .a(led), // 將led作為加法器的輸入
        .g1(1'b1), .g2(1'b0), .g3(1'b0), // 控制信號
        .si(siled), // 和輸出連接到siled
        .ci(ciled)  // 進(jìn)位輸出連接到ciled
    );

    // 7段顯示模塊實(shí)例化
    segment m2(
        .bcd({key1, key2, key3, key4}), // 將按鍵狀態(tài)作為輸入
        .seg_led(seg_led) // 連接到7段顯示的輸出
    );
endmodule

74LS138譯碼器:

module sl138(
    input g1, g2, g3, // 地址選通端口,控制譯碼器是否激活
    input [2:0] a,    // 3位輸入地址,決定哪一位輸出應(yīng)該被激活
    output reg [7:0] y // 8位輸出,每一位對應(yīng)一個輸出線
);

    // 初始化輸出為全高電平
    reg [7:0] y = 0; 

    // 監(jiān)聽選通端口和地址輸入的變化
    always @(g1 or g2 or g3 or a) begin
        // 當(dāng)選通條件滿足時(g1高,g2和g3低)
        if (g1 && ~g2 && ~g3) begin
            case (a) // 根據(jù)輸入地址a選擇輸出
                // 每種情況下激活對應(yīng)的輸出線,使其變?yōu)榈碗娖?                7: y = 8'b01111111; // 激活第7位
                6: y = 8'b10111111; // 激活第6位
                5: y = 8'b11011111; // 激活第5位
                4: y = 8'b11101111; // 激活第4位
                3: y = 8'b11110111; // 激活第3位
                2: y = 8'b11111011; // 激活第2位
                1: y = 8'b11111101; // 激活第1位
                0: y = 8'b11111110; // 激活第0位
                // 如果地址不在0到7之間,則所有輸出保持高電平
                default: y = 8'b11111111;
            endcase
        end else begin
            // 如果選通條件不滿足,則所有輸出保持高電平
            y = 8'b11111111;
        end
    end
endmodule

全加器:

// 模塊 adder_: 通過調(diào)用3到8線譯碼器實(shí)現(xiàn)特定的加法邏輯
module adder_(
    input [2:0] a, // 輸入a,假定同時代表了加法器的兩個加數(shù)和一個進(jìn)位輸入
    input g1, g2, g3, // 譯碼器的控制輸入
    output si, ci // 加法器的和(si)和進(jìn)位(ci)輸出
);
    wire [7:0] m; // 譯碼器的8位輸出

    // 實(shí)例化3到8線譯碼器 sl138
    sl138 u1(
        .g1(g1),
        .g2(g2),
        .g3(g3),
        .a(a),
        .y(m) // 連接譯碼器的輸出到m
    );

    // 根據(jù)譯碼器的輸出計(jì)算加法器的和和進(jìn)位
 
    assign si = ~m[1] | ~m[2] | ~m[4] | ~m[7]; // 和輸出的邏輯表達(dá)式
    assign ci = ~m[3] | ~m[5] | ~m[6] | ~m[7]; // 進(jìn)位輸出的邏輯表達(dá)式
endmodule

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?管腳圖74ls138譯碼器verilog代碼,fpga開發(fā)文章來源地址http://www.zghlxwxcb.cn/news/detail-855223.html

到了這里,關(guān)于北郵數(shù)電實(shí)驗(yàn)作業(yè)參考 #利用74LS138實(shí)現(xiàn)全加器的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包