test.h revision 12855:588919e0e4aa
111569Sgabor.dozsa@arm.com/*****************************************************************************
211348Sandreas.sandberg@arm.com
311348Sandreas.sandberg@arm.com  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
411348Sandreas.sandberg@arm.com  more contributor license agreements.  See the NOTICE file distributed
511348Sandreas.sandberg@arm.com  with this work for additional information regarding copyright ownership.
611348Sandreas.sandberg@arm.com  Accellera licenses this file to you under the Apache License, Version 2.0
711348Sandreas.sandberg@arm.com  (the "License"); you may not use this file except in compliance with the
811348Sandreas.sandberg@arm.com  License.  You may obtain a copy of the License at
911348Sandreas.sandberg@arm.com
1011348Sandreas.sandberg@arm.com    http://www.apache.org/licenses/LICENSE-2.0
1111348Sandreas.sandberg@arm.com
1211348Sandreas.sandberg@arm.com  Unless required by applicable law or agreed to in writing, software
1311348Sandreas.sandberg@arm.com  distributed under the License is distributed on an "AS IS" BASIS,
1411348Sandreas.sandberg@arm.com  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1511348Sandreas.sandberg@arm.com  implied.  See the License for the specific language governing
1611348Sandreas.sandberg@arm.com  permissions and limitations under the License.
1711348Sandreas.sandberg@arm.com
1811348Sandreas.sandberg@arm.com *****************************************************************************/
1911348Sandreas.sandberg@arm.com
2011348Sandreas.sandberg@arm.com/*****************************************************************************
2111348Sandreas.sandberg@arm.com
2211348Sandreas.sandberg@arm.com  test.h --
2311348Sandreas.sandberg@arm.com
2411348Sandreas.sandberg@arm.com  Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
2511348Sandreas.sandberg@arm.com
2611348Sandreas.sandberg@arm.com *****************************************************************************/
2711348Sandreas.sandberg@arm.com
2811348Sandreas.sandberg@arm.com/*****************************************************************************
2911348Sandreas.sandberg@arm.com
3011348Sandreas.sandberg@arm.com  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
3111348Sandreas.sandberg@arm.com  changes you are making here.
3211348Sandreas.sandberg@arm.com
3311348Sandreas.sandberg@arm.com      Name, Affiliation, Date:
3411348Sandreas.sandberg@arm.com  Description of Modification:
3513510Sjairo.balart@metempsy.com
3613510Sjairo.balart@metempsy.com *****************************************************************************/
3713510Sjairo.balart@metempsy.com
3813510Sjairo.balart@metempsy.com/* Common interface file for test cases
3911348Sandreas.sandberg@arm.com   Author: PRP
4013510Sjairo.balart@metempsy.com   */
4113510Sjairo.balart@metempsy.com
4213510Sjairo.balart@metempsy.comSC_MODULE( test )
4313510Sjairo.balart@metempsy.com{
4411569Sgabor.dozsa@arm.com    SC_HAS_PROCESS( test );
4511569Sgabor.dozsa@arm.com
4613510Sjairo.balart@metempsy.com    sc_in_clk clk;
4713510Sjairo.balart@metempsy.com
4813510Sjairo.balart@metempsy.com        // Input Reset Port
4913510Sjairo.balart@metempsy.com        const sc_signal<bool>& reset_sig;
5013510Sjairo.balart@metempsy.com
5113510Sjairo.balart@metempsy.com        // Input Data Ports
5211348Sandreas.sandberg@arm.com	const sc_signal<int>& i1;
5313668Skevin.brodsky@arm.com	const sc_signal<int>& i2;
5413668Skevin.brodsky@arm.com	const sc_signal<int>& i3;
5513668Skevin.brodsky@arm.com	const sc_signal<int>& i4;
5613668Skevin.brodsky@arm.com	const sc_signal<int>& i5;
5713668Skevin.brodsky@arm.com
5813668Skevin.brodsky@arm.com        // Input Control Ports
5913668Skevin.brodsky@arm.com	const sc_signal<bool>& cont1;
6013668Skevin.brodsky@arm.com	const sc_signal<bool>& cont2;
6111348Sandreas.sandberg@arm.com	const sc_signal<bool>& cont3;
6211348Sandreas.sandberg@arm.com
6311348Sandreas.sandberg@arm.com        // Output Data Ports
6411348Sandreas.sandberg@arm.com	sc_signal<int>& o1;
6511348Sandreas.sandberg@arm.com	sc_signal<int>& o2;
6611348Sandreas.sandberg@arm.com	sc_signal<int>& o3;
6711348Sandreas.sandberg@arm.com	sc_signal<int>& o4;
6811348Sandreas.sandberg@arm.com	sc_signal<int>& o5;
6911348Sandreas.sandberg@arm.com
7013668Skevin.brodsky@arm.com	// Constructor
7111348Sandreas.sandberg@arm.com	test (
7211348Sandreas.sandberg@arm.com        sc_module_name NAME,
7313668Skevin.brodsky@arm.com	sc_clock& CLK,
7411348Sandreas.sandberg@arm.com
7511348Sandreas.sandberg@arm.com        const sc_signal<bool>& RESET_SIG,
7613668Skevin.brodsky@arm.com
7713510Sjairo.balart@metempsy.com	const sc_signal<int>& I1,
7813510Sjairo.balart@metempsy.com	const sc_signal<int>& I2,
7911569Sgabor.dozsa@arm.com	const sc_signal<int>& I3,
8013668Skevin.brodsky@arm.com	const sc_signal<int>& I4,
8111569Sgabor.dozsa@arm.com	const sc_signal<int>& I5,
8211569Sgabor.dozsa@arm.com
8311348Sandreas.sandberg@arm.com	const sc_signal<bool>& CONT1,
8411348Sandreas.sandberg@arm.com	const sc_signal<bool>& CONT2,
8511348Sandreas.sandberg@arm.com	const sc_signal<bool>& CONT3,
8611348Sandreas.sandberg@arm.com
8711348Sandreas.sandberg@arm.com	sc_signal<int>& O1,
8811348Sandreas.sandberg@arm.com	sc_signal<int>& O2,
8911348Sandreas.sandberg@arm.com	sc_signal<int>& O3,
90	sc_signal<int>& O4,
91	sc_signal<int>& O5)
92	  : reset_sig(RESET_SIG), i1(I1),  i2(I2),
93	    i3(I3),  i4(I4), i5(I5), cont1 (CONT1), cont2 (CONT2),
94	    cont3 (CONT3), o1(O1),  o2(O2),  o3(O3),  o4(O4),  o5(O5)
95        {
96	  clk(CLK);
97          SC_CTHREAD( entry, clk.pos() );
98	  reset_signal_is(reset_sig,true);
99	}
100
101  void entry();
102};
103