用verilog实现一个 一位全加器

这个是 基础中的基础中的基础中的基础

我们先来看看答案:

module add_1bit(
	input a,b,in,
    output c,out
);
    assign {out, c} = a + b + in;
endmodule

从抽象层次来说,这并不是用数电的设计方法来实现的,但是这不影响我们通过这个来讲讲Verilog和设计。

  • 首先,全加器的作用就是在模拟一个 1+1=2 的过程。a,b是两个加数,in是后一个位的进位位。c的是结果,out是输出进位位。

  • 然后 我们可以按上一个过程来写一个 真值表,来推测他们的输入输出情况
    QYKbjI.png

  • 虽然上图看起来是很长,但是他在模拟的确实就是一个 1+1=2的过程是吧。

  • 最后就是Verilog的代码了,这个懂一点英文的我估计都能看懂是吧,那更深入的介绍就等下回介绍吧。最后我们来看一下quartus的综合结果!
    QYMa2d.png

结语

最后 祝大家FPGA旅途愉快。

对了 我个人博客已经搭建好了,欢迎大家来“踩一踩”:

hhhhorrible.github.io

如果你觉得有丶收获的话

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐