test.h revision 12855:588919e0e4aa
12SN/A/*****************************************************************************
21762SN/A
39920Syasuko.eckert@amd.com  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
42SN/A  more contributor license agreements.  See the NOTICE file distributed
52SN/A  with this work for additional information regarding copyright ownership.
62SN/A  Accellera licenses this file to you under the Apache License, Version 2.0
72SN/A  (the "License"); you may not use this file except in compliance with the
82SN/A  License.  You may obtain a copy of the License at
92SN/A
102SN/A    http://www.apache.org/licenses/LICENSE-2.0
112SN/A
122SN/A  Unless required by applicable law or agreed to in writing, software
132SN/A  distributed under the License is distributed on an "AS IS" BASIS,
142SN/A  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
152SN/A  implied.  See the License for the specific language governing
162SN/A  permissions and limitations under the License.
172SN/A
182SN/A *****************************************************************************/
192SN/A
202SN/A/*****************************************************************************
212SN/A
222SN/A  test.h --
232SN/A
242SN/A  Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
252SN/A
262SN/A *****************************************************************************/
272SN/A
282665Ssaidi@eecs.umich.edu/*****************************************************************************
292665Ssaidi@eecs.umich.edu
302SN/A  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
312SN/A  changes you are making here.
321464SN/A
331464SN/A      Name, Affiliation, Date:
342SN/A  Description of Modification:
352SN/A
362SN/A *****************************************************************************/
372SN/A
388229Snate@binkert.org/* Common interface file for test cases
397720Sgblack@eecs.umich.edu   Author: PRP
4012334Sgabeblack@google.com   */
4156SN/A
426216Snate@binkert.org#include "systemc.h"
438229Snate@binkert.org
442410SN/ASC_MODULE( t )
4512104Snathanael.premillieu@arm.com{
4612106SRekai.GonzalezAlberquilla@arm.com        SC_HAS_PROCESS( t );
478542Sgblack@eecs.umich.edu
489338SAndreas.Sandberg@arm.com        sc_in_clk clk;
4910201SAndrew.Bardsley@arm.com
502SN/A        // Input Reset Port
512SN/A        const sc_signal<bool>& reset_sig;
522623SN/A
531464SN/A        // Input Data Ports
5410319SAndreas.Sandberg@ARM.com	const sc_signal<int>& i1;
5510259SAndrew.Bardsley@arm.com	const sc_signal<int>& i2;
562SN/A	const sc_signal<int>& i3;
572SN/A	const sc_signal<int>& i4;
582SN/A	const sc_signal<int>& i5;
592SN/A
602SN/A        // Input Control Ports
612SN/A	const sc_signal<bool>& cont1;
622SN/A	const sc_signal<bool>& cont2;
632SN/A	const sc_signal<bool>& cont3;
642SN/A
652SN/A        // Output Data Ports
662SN/A	sc_signal<int>& o1;
672SN/A	sc_signal<int>& o2;
682SN/A	sc_signal<int>& o3;
692SN/A	sc_signal<int>& o4;
7010201SAndrew.Bardsley@arm.com	sc_signal<int>& o5;
712SN/A
727619Sgblack@eecs.umich.edu	// Constructor
738542Sgblack@eecs.umich.edu	t (
748542Sgblack@eecs.umich.edu        sc_module_name NAME,
758542Sgblack@eecs.umich.edu	sc_clock& CLK,
768542Sgblack@eecs.umich.edu
778542Sgblack@eecs.umich.edu        const sc_signal<bool>& RESET_SIG,
788902Sandreas.hansson@arm.com
798542Sgblack@eecs.umich.edu	const sc_signal<int>& I1,
802SN/A	const sc_signal<int>& I2,
817619Sgblack@eecs.umich.edu	const sc_signal<int>& I3,
827619Sgblack@eecs.umich.edu	const sc_signal<int>& I4,
832SN/A	const sc_signal<int>& I5,
8410201SAndrew.Bardsley@arm.com
852SN/A	const sc_signal<bool>& CONT1,
862SN/A	const sc_signal<bool>& CONT2,
872SN/A	const sc_signal<bool>& CONT3,
882SN/A
892SN/A	sc_signal<int>& O1,
902SN/A	sc_signal<int>& O2,
912SN/A	sc_signal<int>& O3,
922SN/A	sc_signal<int>& O4,
932SN/A	sc_signal<int>& O5)
942SN/A	  : reset_sig(RESET_SIG), i1(I1),  i2(I2),
952SN/A	    i3(I3),  i4(I4), i5(I5), cont1 (CONT1), cont2 (CONT2),
962SN/A	    cont3 (CONT3), o1(O1),  o2(O2),  o3(O3),  o4(O4),  o5(O5)
972SN/A        {
982SN/A	  clk (CLK);
992SN/A          SC_CTHREAD( entry, clk.pos() );
1009920Syasuko.eckert@amd.com	  reset_signal_is(reset_sig,true);
1012SN/A	}
1022SN/A
10312109SRekai.GonzalezAlberquilla@arm.com  void entry();
10412109SRekai.GonzalezAlberquilla@arm.com};
10512109SRekai.GonzalezAlberquilla@arm.com