我对FPGA相对较新,我正在寻找关于Verilog中声明模块的现代最佳实践的一些指导。verilog模块声明的首选语法
我看到了两种在Verilog中声明模块的方法。首先让我想起Traditional C,如examples on wikipedia:
module toplevel(clock,reset);
input clock;
input reset;
/* snip */
endmodule
尽管替代语法具有输入/输出符作为参数列表,而不是太不相似的VHDL的一部分,如this example:
module fadder(
input a, //data in a
input b, //data in b
input cin, //carry in
output sum_out, //sum output
output c_out //carry output
);
/* snip */
endmodule
对于新编写的verilog代码,哪种语法是首选的?在这种情况下,“首选”是指用标准或相关材料写的东西(明确书写或通过标准中给出的示例隐式写入)或写入广受好评的样式指南。问题不在于要求个人偏好!
由于解释理由,接受这一点。感谢这两个答案。 – Damien