hdlbits系列verilog解答(优化32位加法器)-27

文章目录

    • 一、问题描述
    • 二、verilog源码
    • 三、仿真结果


一、问题描述

行波进位加法器(参见前一个练习)的一个缺点是,加法器计算执行的延迟(在最坏的情况下,从最初进位开始)相当慢,并且第二级加法器在第一阶段加法器完成之前无法开始计算其执行。这会使加法器变慢。其中一项改进是进位选择加法器,如下所示。第一阶段加法器与之前相同,但我们复制了第二阶段加法器,一个假设 carry-in=0,一个假设 carry-in=1,然后使用快速 2 比 1 多路复用器来选择正确的进位进行输出。

在本练习中,您将获得与上一个练习相同的模块,该模块 add16 将两个 16 位数字与进收相加,并生成进位和 16 位总和。您必须实例化其中的三个,才能使用自己的 16 位 2 对 1 多路复用器来构建进位选择加法器。

如下图所示将模块连接在一起。提供的模块 add16 具有以下声明:

module add16 ( input[15:0] a, input[15:0] b, input cin, output[15:0] sum, output cout );

简单说明:通过低16位相加生成的进位输出作为高16位相加结果的选择位,这样做加速了高位加法结果的计算,代价是增加逻辑单元的使用,此处多用一个16位二选一复用器及一个16位加法器。

你可能感兴趣的:(verilog语言,fpga开发)