新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Verilog HDL基礎知識9之代碼規范示例

        Verilog HDL基礎知識9之代碼規范示例

        作者: 時間:2024-02-26 來源:電子森林 收藏
        //********************************************************
        //
        //   Copyright(c)2016, ECBC 
        //   All rights reserved
        //
        //   File name       :   MODULE_NAME.v
        //   Module name     :   MODULE_NAME
        //   Author          :   STEP
        //	 Description	 :  
        //   Email           :   Author’s email
        //   Data            :   2016/08/01
        //   Version         :   current version, just this: v1.0
        //
        //   Abstract        :   
        //
        //   Modification history
        //   ----------------------------------------------------------------------------
        // Version       Data(2016/08/01)   V1.0
        // Description
        //
        //*************************************************************
        //*******************
        //DEFINE(s)
        //******************* 
        //*******************
        //DEFINE(s)
        //*******************
        //`define UDLY 1    //Unit delay, for non-blocking assignments in sequential logic 
        //*******************
        //DEFINE MODULE PORT
        //*******************
        module MODULE_NAME
        (
        	//INPUT
        	rest_n         ,
        	clk_*          ,
        	a_din          ,
        	b_din          , 	
        	
        	//OUTPUT
        	a_dout         ,
        	b_dout
        ); 	
        
                //*******************
        	//DEFINE PARAMETER
        	//*******************
        	parameter			T1S	=	24_999_999; 	
        	
        	//*******************
        	//DEFINE INPUT
        	//*******************
        	input             	rst_n		;    //reset, active low .
        	input             	clk_*		;    //clock signal, 50M .
        	input  [n:0]		a_din		;    //*****
        	input  [k:0]       	b_din		;    //***** 	
        	
        	//*******************
        	//DEFINE OUTPUT
        	//*******************
        	output  [m:0]    	a_dout      ;    //*****
        	output  [i:0]     	b_dout      ;    //***** 	
        	
        	//********************
        	//OUTPUT ATTRIBUTE
        	//********************
        	//REGS
        	reg   [m:0]     	a_dout		;    //***** 	
        	
        	//WIRES
        	wire  [i:0]      	b_dout		;    //***** 	
        	
        	//*********************
        	//INNER SIGNAL DECLARATION
        	//*********************
        	//REGS
        	reg   [3:0]       	counter     ;    //***** 	
        	
        	//WIRES
        	wire  [7:0]       	temp1		;    //***** 	
        	
        	//*********************
        	//INSTANTCE MODULE
        	//********************* 	
        	
        	//**************************************************************
        	//instance of module MODULE_NAME_A filename:module_name_a.v
        	//**************************************************************
        	MODULE_NAME_A  U_MUDULE_NAME_A(
        					.A			(A			),
        					.B			(B			),
        					.C			(C			)
        					); 	
        	
        	//*********************
        	//MAIN CORE
        	//********************* 	
        	
        	//Sequential logic style
        	always@(posedge clk_* or negedge rest_n)
        	begin : SEQ_BLOCK_NAME		
        	        if (rst_n==1’b0)
        			counter<=4’b0;
        		else
        			begin
        				if (expression)
        					counter <= #`DLY siginal_b;
        				else;
        			end
        	end // SEQ_BLOCK_NAME 	
        	
        	//Combinational logic style
        	always@(signal_a or signal_b)
        	begin:COM_BLOCK-NAME		
        	        case (expression)
        			item1    :begin
        						 signal_c=*****;
        					  end
        			item2    : //statement;
        			default   ://statement;
        		endcase
        	end // COM_BLOCK_NAME 	
        	assign	out	= expression ? (1’b0):(1’b1); 	
        	//*********************
        endmodule


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安新县| 常熟市| 丘北县| 九龙城区| 酉阳| 江西省| 南华县| 满洲里市| 琼结县| 芜湖市| 筠连县| 鹤庆县| 东城区| 长汀县| 龙岩市| 长乐市| 梁山县| 建昌县| 卓资县| 明星| 家居| 龙州县| 内黄县| 基隆市| 天柱县| 明光市| 泽库县| 曲麻莱县| 凯里市| 四子王旗| 南涧| 庄河市| 澄江县| 鹿泉市| 星子县| 通江县| 潼关县| 托克逊县| 锡林郭勒盟| 巩留县| 新营市|