Verilog模块化设计

模块化设计是FPGA设计中一个很重要的技巧,它能够使一个大型设计的分工协作和仿真测试更加容易,使代码维护和升级更加便利。所谓模块化设计,就是将一个比较复杂的系统按照一定的规则划分为多个小模块,然后我们再分别对每个小模块进行设计,当这些小模块全都完成以后,我们再将这些小模块有机的组合起来,最终我们就能够完成整个复杂系统的设计。这里我们以半加器为例进行说明。

1. 模块层次划分

我们将半加器分为了与门模块和异或模块,我们只需要完成实现与门模块和异或模块,然后再将实现的与门模块和异或模块相结合,最终我们就能实现半加器。下面给出图相对应的Verilog代码。

module Half_adder(input a, input b, output s, output c);

AndGate_Module AndGate_Ins
(
    .andgate_a(a),
    .andgate_b(b),
    .andgate_c(c)
);

XOR_Moudle XOR_Ins
(
    .XOR_a(a),
    .XOR_b(b),
    .XOR_s(s)
);

endmodule

看完顶层模块,下面我们再来看下与门和异或的代码。

module AndGate_Module(input andgate_a, input andgate_b, output andgate_c);

    assign andgate_c = andgate_a && andgate_b;

endmodule

module XOR_Module(input XOR_a, input XOR_b, output XOR_c);

    assign XOR_c = XOR_a ^ XOR_b;

endmodule

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章