打印

如何用verilog语言实现100个并行输入的一位2进制数的快速模二

[复制链接]
3045|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
moumou77|  楼主 | 2008-3-17 15:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
liudewei| | 2008-3-17 18:52 | 只看该作者

这是4个数的例子,你改写一下就行。

module pipelined_binary_adder_tree
(
    input [WIDTH-1:0] A, B, C, D, E,
    input clk,
    output [WIDTH-1:0] out
);

    parameter WIDTH = 1;

    wire [WIDTH-1:0] sum1, sum2, sum3, sum4;
    reg [WIDTH-1:0] sumreg1, sumreg2, sumreg3, sumreg4;

    always @ (posedge clk)
    begin
        sumreg1 <= sum1;
        sumreg2 <= sum2; 
        sumreg3 <= sum3;
        sumreg4 <= sum4;
    end

    // 2-bit additions
    assign sum1 = A + B;
    assign sum2 = C + D;
    assign sum3 = sumreg1 + sumreg2;
    assign sum4 = sumreg3 + E;
    assign out = sumreg4;

endmodule

使用特权

评论回复
板凳
xwj| | 2008-3-18 09:15 | 只看该作者

为什么要“把并行转成串行再一个一个相异或”???

为什么不直接并行处理???


比较赞同3楼的观点

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝