当前位置:首页 > 新闻资讯 > FPGA之家动态 >

Verilog HDL基础知识9之代码规范

时间:2026-03-07      来源:FPGA_UCY 关于我们 0

对于模块的书写采用统一的格式便于项目内部成员的理解和维护,我们用批处理建立了一个MODULE模块,其内容解释如下:

端口定义按照输入,输出,双向的顺序:

模块名、模块例化名统一,例化名前加大写U以区分 ( 多次例化另加标识 ),三者关系:

文件名 :xxx .v (小写)

模块名 :XXX (大写)

例化名 :UXXX (大写)

IP 内部所有的模块名都要加IP名或者IP名简称作前缀,如USBCTRL、USBTX_FIFO。

// *****************************
//  DEFINE MODULE PORT  
//
// ******************************
//
module  MODULE_NAME  				//模块名一行
(  						//括号顶格,端口部分换行
	// INPUT  				//尽量先输入,后输出定义
	input_port_1, 				//可同时按接口对象等分类,一行一个
	…
	input_port_m,  	// OUTPUT
	output_port_1,
	…
	output_port_m, );
	// *****************************
	//  DEFINE PARAMETER  	
	// ******************************
	parameter… 				//参数名采用大写 	
	// ******************************
	// DEFINE INPUT
	// ******************************
	input				rst_n   ;    	// reset, (active low) .	
	//input到寄存器名之间四个tab键,注意对齐
	input				clk_*   ;    	// clock signal , 50M .		
	//注意注释的格式,简洁有力,尽量使用英文
	input  [n:0]		        a_din   ;    	// *****			
	//此处是在模块名部分没有声明端口类型时用
	input  [k:0]		        b_din   ;    	// *****			
	//注释尽量不要挨到前面,然后全左对齐 	
	// ******************************
	// DEFINE OUTPUT  
	// ******************************
	output  [m:0]    	a_dout   ;    	// *****				
	//位宽定义和output之间加一个tab或空格,统一即可
	output  [i:0]    	b_dout   ;    	// ***** 	
	// ******************************
	// OUTPUT ATRRIBUTE  
	// ******************************
	// REGS
	reg   [m:0]    		a_dout   ;     // *****
	//WIRES
	wire  [i:0]     	b_dout   ;     // ***** 
 	// ******************************
	// INSTSNCE MODULE   
	// ******************************
	MODULE_NAME_A  	U_MODULE_NAME_A(					//例化名从和模块名相距四个tab,括号后换行
					.A	(A			),	//端口和例化名对齐,后3个tab再括号连线
					.B	(B			),	//括号内3个tab的宽度,全对齐
					.C	(C			),
					); …
 	// ******************************
	//MAIN CODE  
	// ******************************
	… …
	… …
	… …	
	// ******************************  //
	endmodule									//结尾顶格,中间部分均从一个tab开始


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言