FPGA_组合逻辑_全加器(层次化设计思想)

一 理论

全加器:

           2个数据位相加,除了加数与被加数加和之外,还要加上上一级传进来的进位信号。

层次化设计思想:

          自底而上:

                         由基本单元构建高层单元,依次而上,直至构建系统。             

          自上而下:

                          将系统划分为不同层次的基本单元,直到可以用EDA元件库的元件实现为止。

功能模块1功能模块1FPGA_组合逻辑_全加器(层次化设计思想)_第1张图片功能模块1

二 电路

开发板:

            使用fpga开发板上key按键与led灯。

            使用2个按键表示2个输入数据位,1个按键表示进位信号,2个led分别表述进位与结果。

原理图:

           key按键按下输出低电平。

           led灯低电平控制下处于点亮状态。

三 信号

FPGA_组合逻辑_全加器(层次化设计思想)_第2张图片

四 代码

代码中,使用了层次化设计思想,用2个半加器构成全加器,使用了功能例化。

module full_adder
(
  input wire key_in_1,
  input wire key_in_2,
  input wire cin,

  input wire sum,
  input wire count
);

wire h0_sum;
wire h0_count;
wire h1_sum;                        //中间变量。

half_adder half_adder_inst0
(
  .key_in_1 (key_in_1),
  .key_in_2 (key_in_2),
  
  .sum(h0_sum),
  .count(h0_count)
);                                  //半加器1。

half_adder half_adder_inst1
(
  .key_in_1 (h0_sum),
  .key_in_2 (cin),
  
  .sum(h1_sum),
  .count(h2_sum)
);                                  //半加器2。

assign count =(h0_count|h1_count)   //或门运算,实现进位。



你可能感兴趣的:(fpga开发,fpga,学习,图像处理,信号处理,系统架构)