datawidth.h revision 12855
14484Sbinkertn@umich.edu/*****************************************************************************
24484Sbinkertn@umich.edu
34484Sbinkertn@umich.edu  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
44484Sbinkertn@umich.edu  more contributor license agreements.  See the NOTICE file distributed
54484Sbinkertn@umich.edu  with this work for additional information regarding copyright ownership.
64484Sbinkertn@umich.edu  Accellera licenses this file to you under the Apache License, Version 2.0
74484Sbinkertn@umich.edu  (the "License"); you may not use this file except in compliance with the
84484Sbinkertn@umich.edu  License.  You may obtain a copy of the License at
94484Sbinkertn@umich.edu
104484Sbinkertn@umich.edu    http://www.apache.org/licenses/LICENSE-2.0
114484Sbinkertn@umich.edu
124484Sbinkertn@umich.edu  Unless required by applicable law or agreed to in writing, software
134484Sbinkertn@umich.edu  distributed under the License is distributed on an "AS IS" BASIS,
144484Sbinkertn@umich.edu  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
154484Sbinkertn@umich.edu  implied.  See the License for the specific language governing
164484Sbinkertn@umich.edu  permissions and limitations under the License.
174484Sbinkertn@umich.edu
184484Sbinkertn@umich.edu *****************************************************************************/
194484Sbinkertn@umich.edu
204484Sbinkertn@umich.edu/*****************************************************************************
214484Sbinkertn@umich.edu
224484Sbinkertn@umich.edu  datawidth.h --
234484Sbinkertn@umich.edu
244484Sbinkertn@umich.edu  Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
254484Sbinkertn@umich.edu
264484Sbinkertn@umich.edu *****************************************************************************/
274484Sbinkertn@umich.edu
284484Sbinkertn@umich.edu/*****************************************************************************
294484Sbinkertn@umich.edu
304484Sbinkertn@umich.edu  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
314484Sbinkertn@umich.edu  changes you are making here.
324484Sbinkertn@umich.edu
334484Sbinkertn@umich.edu      Name, Affiliation, Date:
344484Sbinkertn@umich.edu  Description of Modification:
354484Sbinkertn@umich.edu
364484Sbinkertn@umich.edu *****************************************************************************/
374484Sbinkertn@umich.edu
384484Sbinkertn@umich.edu                /**************************************/
394484Sbinkertn@umich.edu                /* Interface Filename:	datawidth.h   */
404484Sbinkertn@umich.edu                /**************************************/
414484Sbinkertn@umich.edu
424484Sbinkertn@umich.edu#include "common.h"
434484Sbinkertn@umich.edu
444484Sbinkertn@umich.eduSC_MODULE( datawidth )
454484Sbinkertn@umich.edu{
464484Sbinkertn@umich.edu    SC_HAS_PROCESS( datawidth );
474484Sbinkertn@umich.edu
484484Sbinkertn@umich.edu    sc_in_clk clk;
494484Sbinkertn@umich.edu
504484Sbinkertn@umich.edu  // Inputs
514484Sbinkertn@umich.edu	const signal_bool_vector6&	in1;
524484Sbinkertn@umich.edu	const signal_bool_vector6&	in2;
534484Sbinkertn@umich.edu	const sc_signal<bool>&		ready;
544484Sbinkertn@umich.edu  // Outputs
554484Sbinkertn@umich.edu	signal_bool_vector7&		result;
564484Sbinkertn@umich.edu  // Parameters
574484Sbinkertn@umich.edu	const int 			in1_width;
584484Sbinkertn@umich.edu	const int 			in2_width;
594484Sbinkertn@umich.edu	const int 			result_width;
604484Sbinkertn@umich.edu
614484Sbinkertn@umich.edu  // Constructor
624484Sbinkertn@umich.edu  datawidth (sc_module_name 		NAME,
634484Sbinkertn@umich.edu	sc_clock&			TICK,
644484Sbinkertn@umich.edu	const signal_bool_vector6&	IN1,
654484Sbinkertn@umich.edu	const signal_bool_vector6&	IN2,
664484Sbinkertn@umich.edu	const sc_signal<bool>&		READY,
674484Sbinkertn@umich.edu	signal_bool_vector7&		RESULT,
684484Sbinkertn@umich.edu	const int			IN1_WIDTH,
694484Sbinkertn@umich.edu	const int                       IN2_WIDTH,
704484Sbinkertn@umich.edu	const int                       RESULT_WIDTH )
714484Sbinkertn@umich.edu
724484Sbinkertn@umich.edu      :
734484Sbinkertn@umich.edu	in1	(IN1),
744484Sbinkertn@umich.edu	in2	(IN2),
754484Sbinkertn@umich.edu	ready   (READY),
764484Sbinkertn@umich.edu	result	(RESULT),
774484Sbinkertn@umich.edu	in1_width (IN1_WIDTH),
784484Sbinkertn@umich.edu	in2_width (IN2_WIDTH),
794484Sbinkertn@umich.edu	result_width (RESULT_WIDTH)
804484Sbinkertn@umich.edu
814484Sbinkertn@umich.edu  	{
824484Sbinkertn@umich.edu            clk	(TICK);
834484Sbinkertn@umich.edu	    SC_CTHREAD( entry, clk.pos() );
844484Sbinkertn@umich.edu        }
854484Sbinkertn@umich.edu
864484Sbinkertn@umich.edu  void entry();
874484Sbinkertn@umich.edu};
884484Sbinkertn@umich.edu