FPGA 原语之一位全加器

Posted electricdream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA 原语之一位全加器相关的知识,希望对你有一定的参考价值。

FPGA原语之一位全加器

1、实验原理

一位全加器,三个输入,两个输出。进位输出Cout=AB+BC+CA,本位输出S=A异或B异或C。实验中采用三个与门、一个三输入或门(另外一个是两个或门,功能一致)、一个三输入异或门实现该简单功能。

2、实验操作

实验设计还是比较简单的,直接看代码即可:

module test2(
    input clk,
    input rt_n,
    
    input [3:0] key_c,
    output [3:0] key_r,
    
    output [11:0] led
);

wire k1,k2,k3,k4;

assign k1=key_c[0];
assign k2=key_c[1];
assign k3=key_c[2];
assign k4=key_c[3];

assign key_r=4b0;

xor xor1(led[0],k1,k2,k3);
and and1(led[11],k1,k2);
and and2(led[10],k2,k3);
and and3(led[9],k3,k1);
or or1(led[8],led[11],led[10]);
or or2(led[2],led[8],led[9]);
or or3(led[3],led[9],led[10],led[11]);

endmodule

就是直接调用,输出结果直接显示在led上,也就没有区分led,下次可能需要注意一下。生成的RTL视图看不出具体的电路结构,只能看到调用的器件和总线。

3、实验结果

RTL视图

技术图片

器件的数量和连线基本正确。板级验证就是按相应的输入即可得到具体的输出。这里就不展示了。后面可能验证的就是更加复杂的数字电路。可以将FPGA作为一个可以反复使用的数字电路实验平台。

以上是关于FPGA 原语之一位全加器的主要内容,如果未能解决你的问题,请参考以下文章

FPGA设计入门

FPGA学习-7:较为复杂的组合电路 下

FPGA学习-7:较为复杂的组合电路 上

FPGA代码一位半加器入门-第2篇

fpga中 ip核与硬件原语有啥区别??

verilog hdl全加器的小问题(quartus)