zoukankan      html  css  js  c++  java
  • 8位串行进位加法器

        串行进位加法器由一位全加器级联而成,结构简单,但延时很长,延时主要是进位信号级连造成的。

    在最坏情况下,进位必须从最低有效全加器传到最高有效全加器。

       一位全加器的公式为: SUM=X⊕Y⊕CIN         COUT=X·Y+ X·CIN+Y·CIN

       在Verilog里可以调用门电路的原语实现。

       下面为8位串行进位加法器的Verilog代码

    module add_serial(sum,cout,a,b,cin); //8位串行加法器
    input cin;
    input [7:0] a,b;
    output cout;
    output [7:0] sum;
    wire cin1,cin2,cin3,cin4,cin5,cin6,cin7;
    full_add1 f0(a[0],b[0],cin,sum[0],cin1);//调用1位全加器
    full_add1 f1(a[1],b[1],cin1,sum[1],cin2);//端口信号顺序要与full_add1一致
    full_add1 f2(a[2],b[2],cin2,sum[2],cin3);
    full_add1 f3(a[3],b[3],cin3,sum[3],cin4);
    full_add1 f4(a[4],b[4],cin4,sum[4],cin5);
    full_add1 f5(a[5],b[5],cin5,sum[5],cin6);
    full_add1 f6(a[6],b[6],cin6,sum[6],cin7);
    full_add1 f7(a[7],b[7],cin7,sum[7],cout);

    endmodule

    module full_add1(a,b,cin,sum,cout);
    input a,b,cin;
    output sum,cout;
    wire s1,c1,c2,c3;
    xor (s1,a,b),(sum,s1,cin);//调用异或门
    and (c1,a,b),(c2,a,cin),(c3,b,cin);//调用与门
    or (cout,c1,c2,c3);//调用3输入或门

    endmodule




  • 相关阅读:
    NEERC 15 (10/12)
    uoj259 & 独立集问题的一些做法
    Berlekamp-Massey算法简单介绍
    树链剖分的一种用法
    长链剖分
    [黑科技]常数优化的一些技巧
    tarjan解决路径询问问题
    Comet OJ
    洛谷P3835 【模板】可持久化平衡树(FHQ Treap)
    LOJ#107. 维护全序集(FHQ Treap)
  • 原文地址:https://www.cnblogs.com/haigege/p/2194769.html
Copyright © 2011-2022 走看看