//********************************************************
//
// 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
評(píng)論