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

計(jì)算機(jī)組成原理實(shí)驗(yàn)——一、ALU實(shí)驗(yàn)

這篇具有很好參考價(jià)值的文章主要介紹了計(jì)算機(jī)組成原理實(shí)驗(yàn)——一、ALU實(shí)驗(yàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、實(shí)驗(yàn)?zāi)康?/h3>

1.掌握ALU模塊的組成和接口,理解ALU的功 能。
2.通過編程調(diào)用ALU模塊計(jì)算斐波那契數(shù)。
3.掌握Verilog中多模塊編程方法和實(shí)現(xiàn)。

二、實(shí)驗(yàn)內(nèi)容

用 Verilog 設(shè)計(jì)一個(gè)算術(shù)運(yùn)算單元 ALU,采 用純組合邏輯設(shè)計(jì),32bit 寬。

  • 利用該 ALU 完成斐波那契數(shù) f(n),其中 2<n<16。
  • 可選
    –改成3段式實(shí)現(xiàn)(已實(shí)現(xiàn))
    –用七段數(shù)碼管輸出(已實(shí)現(xiàn))

三、實(shí)驗(yàn)程序

alu.v(加法器)

module alu(
    input [31:0] a,
    input [31:0] b,
    input [3:0] op,
    output reg[31:0] f,
    output c
    );
    always @(*)
    case(op)
        4'b0000: f = 32'b0;
        4'b0001: f = a + b;
        4'b0010: f = a - b;
        4'b0011: f = a & b;
        4'b0100: f = a | b;
        4'b0101: f = a ^ b;
        default: f = 32'b0;
    endcase
    assign c = ~(|f);
endmodule

fib.v(三段式斐波那契數(shù)列)

module fib(
    input clk,
    input rst,
    input [3:0] n,
    output [31:0] result
    );
    reg[31:0] ra, rb;
    wire[31:0] wf;
    reg[3:0] count;
    alu myalu(.a(ra),.b(rb),.op(4'b0001),.f(wf));
    reg[1:0] cur_state, nex_state;    // 現(xiàn)態(tài)和次態(tài)
    // 狀態(tài)轉(zhuǎn)移
    always @(posedge clk)
    begin
        if(rst==1)
            cur_state<=2'b00;  
        else
            cur_state<=nex_state;
    end
    // 狀態(tài)轉(zhuǎn)移條件   
    always @(*)
    begin
        case(cur_state)
            2'b00:
                nex_state<=2'b01;
            2'b01:
                nex_state<=2'b01;
            endcase
    end
    // 狀態(tài)輸出      
    always @(posedge clk)
    begin
        case(cur_state)
            2'b00:
            begin
                ra<=32'b1;
                rb<=32'b1;
                count<=4'b0011;
            end
            2'b01:
            if(count<n)
            begin
                ra<=rb;
                rb<=wf;            
                count<=count+1'b1; 
            end
        endcase
    end
    assign result=wf;     
endmodule

div.v(分頻器)

module div(
    input clk,
    output clk_new
    );
    reg[17:0] q = 18'b0;
    always @(posedge clk)
    begin
        q=q+1'b1;
    end
    assign clk_new=q[17];
endmodule

seven.v(七段數(shù)碼管)

module seven(
    input [3:0] data,
    output reg[6:0] out
    );
  always @(*)
  case (data)
      4'b0000:out = 7'b1111110; // 7e
      4'b0001:out = 7'b0110000; // 30
      4'b0010:out = 7'b1101101; // 6d
      4'b0011:out = 7'b1111001; // 79
      4'b0100:out = 7'b0110011; // 33
      4'b0101:out = 7'b1011011; // 5b
      4'b0110:out = 7'b1011111; // 5f
      4'b0111:out = 7'b1110000; // 70
      4'b1000:out = 7'b1111111; // 7f
      4'b1001:out = 7'b1111011; // 7b
      4'b1010:out = 7'b1110111; // 77
      4'b1011:out = 7'b0011111; // 1f
      4'b1100:out = 7'b1001110; // 4e
      4'b1101:out = 7'b0111101; // 3d
      4'b1110:out = 7'b1001111; // 4f
      4'b1111:out = 7'b1000111; // 47
      default:out = 7'b1111110; //7e
  endcase 
endmodule

show.v(七段數(shù)碼管顯示)

module show(
    input clk,
    input rst,
    input [11:0] result,
    output reg[2:0] an,
    output [6:0] out
    );
    wire clk_new;
    div mydiv(.clk(clk),.clk_new(clk_new));
    reg[3:0] data;
    reg[1:0] cur_state,nex_state;
    // 狀態(tài)轉(zhuǎn)移
//    always @(posedge clk)
    always @(posedge clk_new)
    begin
    if (rst)
        cur_state<=2'b00;
    else
        cur_state<=nex_state;
    end
    // 狀態(tài)轉(zhuǎn)移條件
    always @(*)
    begin
        case(cur_state)
            2'b00:
                nex_state<=2'b01;
            2'b01:
                nex_state<=2'b10;
            2'b10:
                nex_state<=2'b00;
        endcase
    end
    // 狀態(tài)輸出
//    always @(posedge clk)
    always @(posedge clk_new)
    begin
        case(cur_state)
            2'b00:
            begin
                an<=3'b01;
                data<=result[3:0];
            end
            2'b01:
            begin
                an<=3'b010;
                data<=result[7:4];
            end
            2'b10:
            begin
                an<=3'b100;
                data<=result[11:8];
            end
        endcase
    end
    seven myseven(.data(data),.out(out));         
endmodule

top.v(不用數(shù)碼管顯示)

module top(
    input clk,
    input rst,
    input [3:0] n,
    output [11:0] result
    );
    wire[31:0] temp;
    fib myfib(.clk(clk),.rst(rst),.n(n),.result(temp));
    assign result=temp[11:0];
endmodule

top.v(用數(shù)碼管顯示)

module top(
    input clk,
    input rst,
    input [3:0] n,
    output [2:0] an,
    output [6:0] out
    );
    wire[31:0] temp;
    fib myfib(.clk(clk),.rst(rst),.n(n),.result(temp));
    show myshow(.clk(clk),.rst(rst),.result(temp[11:0]),.an(an),.out(out)); 
endmodule

四、仿真程序

mysim.v(不用數(shù)碼管顯示)

module mysim(

    );
    reg clk=1'b0;
    reg rst=1'b1;
    reg[3:0] n=4'b1110;
    wire [11:0] result;
    always
        #10 clk=~clk;
    initial
        #11 rst=1'b0;
    top mytop(.clk(clk),.rst(rst),.n(n),.result(result));
endmodule

mysim.v(用數(shù)碼管顯示)

module mysim(

    );
    reg clk=1'b0;
    reg rst=1'b1;
    reg[3:0] n=4'b1110;
    wire[2:0] an;
    wire[6:0] out;
    always
        #10 clk=~clk;
    initial
        #11 rst=1'b0;
    top mytop(.clk(clk),.rst(rst),.n(n),.an(an),.out(out)); 
endmodule

五、仿真結(jié)果

不用數(shù)碼管顯示:
計(jì)算機(jī)組成原理實(shí)驗(yàn)——一、ALU實(shí)驗(yàn)
用數(shù)碼管顯示:
計(jì)算機(jī)組成原理實(shí)驗(yàn)——一、ALU實(shí)驗(yàn)

六、實(shí)驗(yàn)結(jié)果

用數(shù)碼管顯示計(jì)算機(jī)組成原理實(shí)驗(yàn)——一、ALU實(shí)驗(yàn)文章來源地址http://www.zghlxwxcb.cn/news/detail-421666.html

到了這里,關(guān)于計(jì)算機(jī)組成原理實(shí)驗(yàn)——一、ALU實(shí)驗(yàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(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)文章

  • 計(jì)算機(jī)組成原理實(shí)驗(yàn)——三、存儲(chǔ)器實(shí)驗(yàn)

    計(jì)算機(jī)組成原理實(shí)驗(yàn)——三、存儲(chǔ)器實(shí)驗(yàn)

    1.掌握存儲(chǔ)器的工作原理和接口。 2.掌握存儲(chǔ)器的實(shí)現(xiàn)方法和初始化方法。 3.掌握RISC-V中存儲(chǔ)器的存取方式。 1.利用vivado IP核創(chuàng)建64 32的ROM,并在 系數(shù)文件中設(shè)置數(shù)據(jù)為123489ab; 2.利用vivado IP核創(chuàng)建64 32的RAM,并在 其上封裝一個(gè)模塊,使得其能完成risc-v 的load/store指令功能。

    2024年02月04日
    瀏覽(22)
  • 計(jì)算機(jī)組成原理實(shí)驗(yàn) 實(shí)驗(yàn)一 存儲(chǔ)器實(shí)驗(yàn)

    計(jì)算機(jī)組成原理實(shí)驗(yàn) 實(shí)驗(yàn)一 存儲(chǔ)器實(shí)驗(yàn)

    目錄 實(shí)驗(yàn)1? 存儲(chǔ)器實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?二、實(shí)驗(yàn)原理 三、實(shí)驗(yàn)電路 四、實(shí)驗(yàn)步驟 五、實(shí)驗(yàn)數(shù)據(jù)分析 六、思考題 1.熟悉DVCC計(jì)算機(jī)組成原理實(shí)驗(yàn)機(jī)的結(jié)構(gòu),掌握其主要操作。 2.掌握靜態(tài)隨機(jī)存儲(chǔ)器RAM工作特性。 3.掌握靜態(tài)隨機(jī)存儲(chǔ)器RAM的數(shù)據(jù)讀寫方法。 4.能夠運(yùn)用靜態(tài)隨機(jī)存

    2023年04月18日
    瀏覽(23)
  • 計(jì)算機(jī)組成原理實(shí)驗(yàn)——實(shí)驗(yàn)1 運(yùn)算器實(shí)驗(yàn)

    計(jì)算機(jī)組成原理實(shí)驗(yàn)——實(shí)驗(yàn)1 運(yùn)算器實(shí)驗(yàn)

    (1)掌握算術(shù)邏輯運(yùn)算單元的工作原理。 (2)熟悉簡單運(yùn)算器的電路組成。 (3)熟悉4位運(yùn)算功能發(fā)生器(74LS181)的算術(shù)、邏輯運(yùn)算功能。 (1)做好實(shí)驗(yàn)預(yù)習(xí),看懂電路圖,熟悉實(shí)驗(yàn)中所用芯片各引腳的功能和連接方法。 (2)按照實(shí)驗(yàn)內(nèi)容與步驟的要求,認(rèn)真仔細(xì)地完

    2024年02月12日
    瀏覽(20)
  • 計(jì)算機(jī)組成原理 存儲(chǔ)器實(shí)驗(yàn)

    計(jì)算機(jī)組成原理 存儲(chǔ)器實(shí)驗(yàn)

    計(jì)算機(jī)組成原理實(shí)驗(yàn)環(huán)境 掌握靜態(tài)隨機(jī)存儲(chǔ)器 RAM 的工作特性。 掌握靜態(tài)隨機(jī)存儲(chǔ)器 RAM 的讀寫方法。 做好實(shí)驗(yàn)預(yù)習(xí),熟悉 MEMORY6116 芯片各引腳的元器件的功能和連接方式,熟悉其他實(shí)驗(yàn)元器件的功能特性和使用方法,看懂電路圖。 按照實(shí)驗(yàn)內(nèi)容與步驟的要求,認(rèn)真仔細(xì)地

    2024年02月02日
    瀏覽(28)
  • 【計(jì)算機(jī)組成原理實(shí)驗(yàn)】CPU設(shè)計(jì)

    【計(jì)算機(jī)組成原理實(shí)驗(yàn)】CPU設(shè)計(jì)

    設(shè)計(jì)并實(shí)現(xiàn)一個(gè)簡單處理器模型完成功能驗(yàn)證。 ASUS VivoBook + Windows10 + Vivado2019.2,語言為 Verilog HDL。 1. 處理器應(yīng)基于 6.5 指令集或 MIPS 指令集或 RISCV 指令集進(jìn)行設(shè)計(jì)或自行設(shè)計(jì)指令集。 2. 處理器的控制器結(jié)構(gòu)應(yīng)為微程序控制器或集硬布線控制器。 3. 處理器需支持算術(shù)運(yùn)算、

    2024年02月08日
    瀏覽(19)
  • 計(jì)算機(jī)組成原理 累加器實(shí)驗(yàn)

    計(jì)算機(jī)組成原理 累加器實(shí)驗(yàn)

    計(jì)算機(jī)組成原理實(shí)驗(yàn)環(huán)境 理解累加器的概念和作用。 連接運(yùn)算器、存儲(chǔ)器和累加器,熟悉計(jì)算機(jī)的數(shù)據(jù)通路。 掌握使用微命令執(zhí)行各種操作的方法。 做好實(shí)驗(yàn)預(yù)習(xí),讀懂實(shí)驗(yàn)電路圖,熟悉實(shí)驗(yàn)元器件的功能特性和使用方法。在實(shí)驗(yàn)之前設(shè)計(jì)好要使用的微命令,填入表 6-2 、

    2024年02月06日
    瀏覽(243)
  • 【機(jī)組】計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書.

    【機(jī)組】計(jì)算機(jī)組成原理實(shí)驗(yàn)指導(dǎo)書.

    ? ??個(gè)人主頁: Sarapines Programmer ???系列專欄: 《機(jī)組 | 模塊單元實(shí)驗(yàn)》 ?詩賦清音:云生高巔夢遠(yuǎn)游, 星光點(diǎn)綴碧海愁。 山川深邃情難晤, 劍氣凌云志自修。 ? 目錄 一、性能特點(diǎn) 1.1 系統(tǒng)功能及特點(diǎn) 1.1.1? 提供各個(gè)基本功能模塊 1.1.2?? 組成結(jié)構(gòu) 1.1.3? 監(jiān)控模塊 1.

    2024年01月24日
    瀏覽(23)
  • 合肥工業(yè)大學(xué)計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告

    ?作者簡介:CSDN內(nèi)容合伙人、信息安全專業(yè)在校大學(xué)生?? ??系列專欄 :本科生課設(shè)-計(jì)算機(jī)組成原理實(shí)驗(yàn) ??新人博主 :歡迎點(diǎn)贊收藏關(guān)注,會(huì)回訪! ??舞臺(tái)再大,你不上臺(tái),永遠(yuǎn)是個(gè)觀眾。平臺(tái)再好,你不參與,永遠(yuǎn)是局外人。能力再大,你不行動(dòng),只能看別人成功!

    2024年02月04日
    瀏覽(28)
  • 計(jì)算機(jī)組成原理實(shí)驗(yàn)二 存儲(chǔ)系統(tǒng)預(yù)習(xí)報(bào)告

    計(jì)算機(jī)組成原理實(shí)驗(yàn)二 存儲(chǔ)系統(tǒng)預(yù)習(xí)報(bào)告

    掌握靜態(tài)隨機(jī)存儲(chǔ)器?RAM??工作特性及數(shù)據(jù)的讀寫方法。 基于信號(hào)時(shí)序圖,了解讀寫靜態(tài)隨機(jī)存儲(chǔ)器的原理。 1、閱讀實(shí)驗(yàn)指導(dǎo)書,然后回答問題。 實(shí)驗(yàn)所用的靜態(tài)存儲(chǔ)器由一片 6116( 2K*8bit ?)構(gòu)成(位于MEM 單元),6116?有三個(gè)控制線:CS?表示( 片選線 ?)?, ??OE?表示

    2023年04月15日
    瀏覽(28)
  • 計(jì)算機(jī)組成原理實(shí)驗(yàn) MIPS RAM設(shè)計(jì)

    計(jì)算機(jī)組成原理實(shí)驗(yàn) MIPS RAM設(shè)計(jì)

    一、設(shè)計(jì)要求 ????Logisim中RAM組件只能提供固定的地址位寬,數(shù)據(jù)輸出也只能提供固定的數(shù)據(jù)位寬,訪問時(shí)無法同時(shí)支持字節(jié)/半字/字三種訪問模式,實(shí)驗(yàn)要求利用4個(gè)4K * 8 位的 RAM 組件進(jìn)行擴(kuò)展,設(shè)計(jì)完成既能按照8位、也能按照16位、也能按照32位進(jìn)行讀寫訪問的32位存儲(chǔ)器

    2024年02月04日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包