test.h revision 12855:588919e0e4aa
12391SN/A/*****************************************************************************
27733SAli.Saidi@ARM.com
37733SAli.Saidi@ARM.com  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
47733SAli.Saidi@ARM.com  more contributor license agreements.  See the NOTICE file distributed
57733SAli.Saidi@ARM.com  with this work for additional information regarding copyright ownership.
67733SAli.Saidi@ARM.com  Accellera licenses this file to you under the Apache License, Version 2.0
77733SAli.Saidi@ARM.com  (the "License"); you may not use this file except in compliance with the
87733SAli.Saidi@ARM.com  License.  You may obtain a copy of the License at
97733SAli.Saidi@ARM.com
107733SAli.Saidi@ARM.com    http://www.apache.org/licenses/LICENSE-2.0
117733SAli.Saidi@ARM.com
127733SAli.Saidi@ARM.com  Unless required by applicable law or agreed to in writing, software
137733SAli.Saidi@ARM.com  distributed under the License is distributed on an "AS IS" BASIS,
142391SN/A  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
152391SN/A  implied.  See the License for the specific language governing
162391SN/A  permissions and limitations under the License.
172391SN/A
182391SN/A *****************************************************************************/
192391SN/A
202391SN/A/*****************************************************************************
212391SN/A
222391SN/A  test.h --
232391SN/A
242391SN/A  Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
252391SN/A
262391SN/A *****************************************************************************/
272391SN/A
282391SN/A/*****************************************************************************
292391SN/A
302391SN/A  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
312391SN/A  changes you are making here.
322391SN/A
332391SN/A      Name, Affiliation, Date:
342391SN/A  Description of Modification:
352391SN/A
362391SN/A *****************************************************************************/
372391SN/A
382391SN/A/* Common interface file for test cases
392665Ssaidi@eecs.umich.edu   Author: PRP
402665Ssaidi@eecs.umich.edu   */
412914Ssaidi@eecs.umich.edu
422391SN/A#include "systemc.h"
432391SN/A
442391SN/ASC_MODULE( t )
452391SN/A{
467730SAli.Saidi@ARM.com        SC_HAS_PROCESS( t );
472391SN/A
482391SN/A        sc_in_clk clk;
492391SN/A
502391SN/A        // Input Reset Port
512391SN/A        const sc_signal<bool>& reset_sig;
526712Snate@binkert.org
532391SN/A        // Input Data Ports
542391SN/A	const sc_signal<int>& i1;
552391SN/A	const sc_signal<int>& i2;
566329Sgblack@eecs.umich.edu	const sc_signal<int>& i3;
577730SAli.Saidi@ARM.com	const sc_signal<int>& i4;
582391SN/A	const sc_signal<int>& i5;
595399Ssaidi@eecs.umich.edu
606216Snate@binkert.org        // Input Control Ports
612391SN/A	const sc_signal<bool>& cont1;
626658Snate@binkert.org	const sc_signal<bool>& cont2;
633879Ssaidi@eecs.umich.edu	const sc_signal<bool>& cont3;
642394SN/A
652415SN/A        // Output Data Ports
662394SN/A	sc_signal<int>& o1;
672391SN/A	sc_signal<int>& o2;
682423SN/A	sc_signal<int>& o3;
692391SN/A	sc_signal<int>& o4;
704762Snate@binkert.org	sc_signal<int>& o5;
715477Snate@binkert.org
725477Snate@binkert.org	// Constructor
737730SAli.Saidi@ARM.com	t (
742391SN/A        sc_module_name NAME,
757730SAli.Saidi@ARM.com	sc_clock& CLK,
762391SN/A
772391SN/A        const sc_signal<bool>& RESET_SIG,
785477Snate@binkert.org
795477Snate@binkert.org	const sc_signal<int>& I1,
805477Snate@binkert.org	const sc_signal<int>& I2,
817730SAli.Saidi@ARM.com	const sc_signal<int>& I3,
827730SAli.Saidi@ARM.com	const sc_signal<int>& I4,
837730SAli.Saidi@ARM.com	const sc_signal<int>& I5,
847730SAli.Saidi@ARM.com
857730SAli.Saidi@ARM.com	const sc_signal<bool>& CONT1,
867730SAli.Saidi@ARM.com	const sc_signal<bool>& CONT2,
877730SAli.Saidi@ARM.com	const sc_signal<bool>& CONT3,
887730SAli.Saidi@ARM.com
897730SAli.Saidi@ARM.com	sc_signal<int>& O1,
907730SAli.Saidi@ARM.com	sc_signal<int>& O2,
917730SAli.Saidi@ARM.com	sc_signal<int>& O3,
927730SAli.Saidi@ARM.com	sc_signal<int>& O4,
937730SAli.Saidi@ARM.com	sc_signal<int>& O5)
942391SN/A	  : reset_sig(RESET_SIG), i1(I1),  i2(I2),
953012Ssaidi@eecs.umich.edu	    i3(I3),  i4(I4), i5(I5), cont1 (CONT1), cont2 (CONT2),
962391SN/A	    cont3 (CONT3), o1(O1),  o2(O2),  o3(O3),  o4(O4),  o5(O5)
977730SAli.Saidi@ARM.com        {
987730SAli.Saidi@ARM.com	  clk (CLK);
997730SAli.Saidi@ARM.com          SC_CTHREAD( entry, clk.pos() );
1007730SAli.Saidi@ARM.com	  reset_signal_is(reset_sig,true);
1012391SN/A	}
1022391SN/A
1033751Sgblack@eecs.umich.edu  void entry();
1044762Snate@binkert.org};
1057730SAli.Saidi@ARM.com