tb.h revision 12855:588919e0e4aa
111308Santhony.gutierrez@amd.com/*****************************************************************************
211308Santhony.gutierrez@amd.com
311308Santhony.gutierrez@amd.com  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
411308Santhony.gutierrez@amd.com  more contributor license agreements.  See the NOTICE file distributed
511308Santhony.gutierrez@amd.com  with this work for additional information regarding copyright ownership.
611308Santhony.gutierrez@amd.com  Accellera licenses this file to you under the Apache License, Version 2.0
711308Santhony.gutierrez@amd.com  (the "License"); you may not use this file except in compliance with the
811308Santhony.gutierrez@amd.com  License.  You may obtain a copy of the License at
911308Santhony.gutierrez@amd.com
1011308Santhony.gutierrez@amd.com    http://www.apache.org/licenses/LICENSE-2.0
1111308Santhony.gutierrez@amd.com
1211308Santhony.gutierrez@amd.com  Unless required by applicable law or agreed to in writing, software
1311308Santhony.gutierrez@amd.com  distributed under the License is distributed on an "AS IS" BASIS,
1411308Santhony.gutierrez@amd.com  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1511308Santhony.gutierrez@amd.com  implied.  See the License for the specific language governing
1611308Santhony.gutierrez@amd.com  permissions and limitations under the License.
1711308Santhony.gutierrez@amd.com
1811308Santhony.gutierrez@amd.com *****************************************************************************/
1911308Santhony.gutierrez@amd.com
2011308Santhony.gutierrez@amd.com/*****************************************************************************
2111308Santhony.gutierrez@amd.com
2211308Santhony.gutierrez@amd.com  tb.h --
2311308Santhony.gutierrez@amd.com
2411308Santhony.gutierrez@amd.com  Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
2511308Santhony.gutierrez@amd.com
2611308Santhony.gutierrez@amd.com *****************************************************************************/
2711308Santhony.gutierrez@amd.com
2811308Santhony.gutierrez@amd.com/*****************************************************************************
2911308Santhony.gutierrez@amd.com
3011308Santhony.gutierrez@amd.com  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
3111308Santhony.gutierrez@amd.com  changes you are making here.
3211308Santhony.gutierrez@amd.com
3311308Santhony.gutierrez@amd.com      Name, Affiliation, Date:
3411308Santhony.gutierrez@amd.com  Description of Modification:
3511308Santhony.gutierrez@amd.com
3611308Santhony.gutierrez@amd.com *****************************************************************************/
3711308Santhony.gutierrez@amd.com
3811308Santhony.gutierrez@amd.com/* Common interface file for test bench
3911308Santhony.gutierrez@amd.com   Author: PRP
4011308Santhony.gutierrez@amd.com   */
4111308Santhony.gutierrez@amd.com
4211308Santhony.gutierrez@amd.com#include "systemc.h"
4311308Santhony.gutierrez@amd.com
4411308Santhony.gutierrez@amd.comSC_MODULE( tb )
4511308Santhony.gutierrez@amd.com{
4611308Santhony.gutierrez@amd.com        SC_HAS_PROCESS( tb );
4711308Santhony.gutierrez@amd.com
4811308Santhony.gutierrez@amd.com        sc_in_clk clk;
4911308Santhony.gutierrez@amd.com
5011308Santhony.gutierrez@amd.com        // Output Reset Port
5111308Santhony.gutierrez@amd.com        sc_signal<bool>& reset_sig;
5211308Santhony.gutierrez@amd.com
5311308Santhony.gutierrez@amd.com        // Output Data Ports
5411308Santhony.gutierrez@amd.com	sc_signal<int>& i1;
5511308Santhony.gutierrez@amd.com	sc_signal<int>& i2;
5611308Santhony.gutierrez@amd.com	sc_signal<int>& i3;
5711308Santhony.gutierrez@amd.com	sc_signal<int>& i4;
5811308Santhony.gutierrez@amd.com	sc_signal<int>& i5;
5911308Santhony.gutierrez@amd.com
6011308Santhony.gutierrez@amd.com        // Output Control Ports
6111639Salexandru.dutu@amd.com	sc_signal<bool>& cont1;
6211534Sjohn.kalamatianos@amd.com	sc_signal<bool>& cont2;
6311534Sjohn.kalamatianos@amd.com	sc_signal<bool>& cont3;
6411308Santhony.gutierrez@amd.com
6511308Santhony.gutierrez@amd.com        // Input Data Ports
6611534Sjohn.kalamatianos@amd.com	const sc_signal<int>& o1;
6711308Santhony.gutierrez@amd.com	const sc_signal<int>& o2;
6811308Santhony.gutierrez@amd.com	const sc_signal<int>& o3;
6911308Santhony.gutierrez@amd.com	const sc_signal<int>& o4;
7011308Santhony.gutierrez@amd.com	const sc_signal<int>& o5;
7111534Sjohn.kalamatianos@amd.com
7211308Santhony.gutierrez@amd.com	// Constructor
7311308Santhony.gutierrez@amd.com	tb (
7411308Santhony.gutierrez@amd.com        sc_module_name NAME,
7511308Santhony.gutierrez@amd.com	sc_clock& CLK,
7611308Santhony.gutierrez@amd.com
7711308Santhony.gutierrez@amd.com        sc_signal<bool>& RESET_SIG,
7811308Santhony.gutierrez@amd.com
7911308Santhony.gutierrez@amd.com	sc_signal<int>& I1,
8011308Santhony.gutierrez@amd.com	sc_signal<int>& I2,
8111308Santhony.gutierrez@amd.com	sc_signal<int>& I3,
8211308Santhony.gutierrez@amd.com	sc_signal<int>& I4,
8311308Santhony.gutierrez@amd.com	sc_signal<int>& I5,
8411308Santhony.gutierrez@amd.com
8511308Santhony.gutierrez@amd.com	sc_signal<bool>& CONT1,
8611308Santhony.gutierrez@amd.com	sc_signal<bool>& CONT2,
8711308Santhony.gutierrez@amd.com	sc_signal<bool>& CONT3,
8811308Santhony.gutierrez@amd.com
8911308Santhony.gutierrez@amd.com	const sc_signal<int>& O1,
9011308Santhony.gutierrez@amd.com	const sc_signal<int>& O2,
9111308Santhony.gutierrez@amd.com	const sc_signal<int>& O3,
9211308Santhony.gutierrez@amd.com	const sc_signal<int>& O4,
9311308Santhony.gutierrez@amd.com	const sc_signal<int>& O5)
9411308Santhony.gutierrez@amd.com	  : reset_sig(RESET_SIG), i1(I1),  i2(I2),
9511645Salexandru.dutu@amd.com	    i3(I3),  i4(I4), i5(I5), cont1 (CONT1), cont2 (CONT2),
9611645Salexandru.dutu@amd.com	    cont3 (CONT3), o1(O1),  o2(O2),  o3(O3),  o4(O4),  o5(O5)
9711645Salexandru.dutu@amd.com        {
9811645Salexandru.dutu@amd.com	  clk(CLK);
9911645Salexandru.dutu@amd.com          SC_CTHREAD( entry, clk.pos() );
10011645Salexandru.dutu@amd.com	}
10111645Salexandru.dutu@amd.com
10211645Salexandru.dutu@amd.com  void entry();
10311645Salexandru.dutu@amd.com};
10411308Santhony.gutierrez@amd.com