FPGA 程序130例-->例10.7~例10.7

本文介绍了FPGA设计中的全加器实现,包括非流水线方式的8位全加器,4级流水线方式的8位全加器,以及两种不同的加法器与选择器的组合实现方式,详细阐述了FPGA设计的原理与应用。
摘要由CSDN通过智能技术生成

10.1 非流水线方式的8位全加器

///

module adder8(cout,sum,ina,inb,cin,clk);

    output cout;
    reg cout;
    output [7:0] sum;
    reg [7:0] sum;
    input [7:0] ina,inb;
    input cin;
    
    reg [7:0] tempa,tempb;
    reg tempc;
    
    always @ (posedge clk)
        begin
            tempa=ina;tempb=inb;tempc=cin;
        end
        
    always @ (posedge clk)
        begin
            assign {cout,sum}=tempa+tempb+tempc;
        end

endmodule

10.2 4级流水线方式的8位全加器

///

module pipeline(cout,sum,ina,inb,cin,clk);
    output [7:0] sum;
    output cout;
    input [7:0] ina,inb;
    input cin,clk;
    reg [7:0] tempa,tempb,sum;
    reg tempci,firstco,secodeco,thirdco,cout;
    reg [1:0] firsts,thirda,thridb;
    reg [3:0] seconds,seconda,secondb;
    reg [5:0] thirds,firsta,firstb;
    
    always @ (posedge clk)
        begin
            tempa=ina;tempb=inb;tempci=cin;
        end
        
    always @ (posedge clk)
        begin
            {firstco,firsts}=tempa[1:0]+tempb[1:0]+tempci;
            firsta=tempa[7:2];
            firstb=tempb[7:2];
        end
        
    always @ (pose
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值