色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

          作者: 時(shí)間:2024-02-26 來(lái)源:電子森林 收藏
          //********************************************************
          //
          //   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ī)范

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉