新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Verilog HDL基礎(chǔ)知識9之代碼規(guī)范示例

        Verilog HDL基礎(chǔ)知識9之代碼規(guī)范示例

        作者: 時間: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


        關(guān)鍵詞: FPGA verilog HDL 代碼規(guī)范

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 工布江达县| 察哈| 柳河县| 舟山市| 自贡市| 竹北市| 威海市| 泗阳县| 安岳县| 昌图县| 淮安市| 上思县| 喜德县| 峨眉山市| 宜川县| 绿春县| 西贡区| 六枝特区| 锦屏县| 封开县| 泗水县| 岢岚县| 宜兰市| 孝感市| 逊克县| 鲜城| 桑日县| 巴林左旗| 乌恰县| 沙洋县| 新营市| 清丰县| 札达县| 鄂尔多斯市| 迁安市| 林口县| 石台县| 临清市| 南郑县| 连云港市| 胶南市|