当前位置:   article > 正文

超前进位加法器(Carry-Lookahead Adder,CLA)

超前进位加法器

        传统加法器在多比特位宽的情况下,相加会有较多的门延迟,每高一位比特的相加都需要低一级相加并提供进位后,再进行本比特的加法运算,多位宽在高速情况下容易造成时序问题,无法在一个时钟内完成相应运算,故而考虑采用超前进位加法器,用更复杂的电路以缩短时间,即面积换时间。上述仅为废话,正文内容为下面链接转载内容,个人觉得该作者对于超前进位加法器说的极好,想详细学习请于原文学习,如有侵权,请及时联系本人。

加法器的优化——超前进位加法器(Carry-Lookahead Adder,CLA)icon-default.png?t=M5H6https://www.jianshu.com/p/6ce9cad8b467

另附可供参考的代码:

  1. module adder(a,b,cin,sum,cout);
  2. input wire [3:0]a,b;
  3. input wire cin;
  4. output wire [3:0]sum;
  5. output wire cout;
  6. wire [4:0]g,p,c;
  7. assign c[0] = cin;
  8. assign P = a | b;
  9. assign g = a & b;
  10. assign c[1] = g[0] | (p[0]&c[0]);
  11. assign c[2] = g[1] | ( p[1]&(g[0] | (p[0]&c[0]) );
  12. assign c[3] = g[2] | (p[2]&(g[1]|(p[1]&(g[0]|(p[0]&c[0])))));
  13. assign c[4] = g[3] | (p[3]&(g[2]|(p[2]&(g[1]|(p[1]&(g[0]|(p[0]&c[0])))))));
  14. assign sum = p ^ c[3:0];
  15. assign cout = c[4];
  16. endmodule

按超前进位逻辑,得到C[4] 进位需要的门延迟会远远小于传统全加器所带来的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/986410
推荐阅读
相关标签
  

闽ICP备14008679号