main.cpp revision 12855
111723Sar4jc@virginia.edu/*****************************************************************************
211723Sar4jc@virginia.edu
311723Sar4jc@virginia.edu  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
411723Sar4jc@virginia.edu  more contributor license agreements.  See the NOTICE file distributed
511723Sar4jc@virginia.edu  with this work for additional information regarding copyright ownership.
611723Sar4jc@virginia.edu  Accellera licenses this file to you under the Apache License, Version 2.0
711723Sar4jc@virginia.edu  (the "License"); you may not use this file except in compliance with the
811723Sar4jc@virginia.edu  License.  You may obtain a copy of the License at
911723Sar4jc@virginia.edu
1011723Sar4jc@virginia.edu    http://www.apache.org/licenses/LICENSE-2.0
1111723Sar4jc@virginia.edu
1211723Sar4jc@virginia.edu  Unless required by applicable law or agreed to in writing, software
1311723Sar4jc@virginia.edu  distributed under the License is distributed on an "AS IS" BASIS,
1411723Sar4jc@virginia.edu  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1511723Sar4jc@virginia.edu  implied.  See the License for the specific language governing
1611723Sar4jc@virginia.edu  permissions and limitations under the License.
1711723Sar4jc@virginia.edu
1811723Sar4jc@virginia.edu *****************************************************************************/
1911723Sar4jc@virginia.edu
2011723Sar4jc@virginia.edu/*****************************************************************************
2111723Sar4jc@virginia.edu
2211723Sar4jc@virginia.edu  main.cpp --
2311723Sar4jc@virginia.edu
2411723Sar4jc@virginia.edu  Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
2511723Sar4jc@virginia.edu
2611723Sar4jc@virginia.edu *****************************************************************************/
2711723Sar4jc@virginia.edu
2811723Sar4jc@virginia.edu/*****************************************************************************
2911723Sar4jc@virginia.edu
3011723Sar4jc@virginia.edu  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
3111723Sar4jc@virginia.edu  changes you are making here.
3211723Sar4jc@virginia.edu
3311723Sar4jc@virginia.edu      Name, Affiliation, Date:
3413548Salec.roelke@gmail.com  Description of Modification:
3513548Salec.roelke@gmail.com
3613548Salec.roelke@gmail.com *****************************************************************************/
3713548Salec.roelke@gmail.com
3813548Salec.roelke@gmail.com// Main routine
3912334Sgabeblack@google.com
4012808Srobert.scheffel1@tu-dresden.de#include "systemc.h"
4113548Salec.roelke@gmail.com#include "test.h"
4211723Sar4jc@virginia.edu#include "tb.h"
4311723Sar4jc@virginia.edu#include "monitor.h"
4411723Sar4jc@virginia.edu#include "define.h"
4511800Sbrandon.potter@amd.com
4611723Sar4jc@virginia.eduint sc_main(int ac, char *av[])
4711723Sar4jc@virginia.edu{
4811723Sar4jc@virginia.edu  sc_clock clock("Clock", CLOCK_PERIOD, SC_NS, DUTY_CYCLE, 0, SC_NS);
4911723Sar4jc@virginia.edu  sc_clock tb_clock("TBClock", TB_CLOCK_PERIOD, SC_NS, DUTY_CYCLE, 0, SC_NS);
5013548Salec.roelke@gmail.com  sc_clock mon_clock("MonClock", CLOCK_PERIOD, SC_NS, DUTY_CYCLE, 75, SC_NS);
5113548Salec.roelke@gmail.com
5213548Salec.roelke@gmail.com  sc_signal<bool> reset_sig;
5313548Salec.roelke@gmail.com
5411723Sar4jc@virginia.edu  sc_signal<int> i1;
5511723Sar4jc@virginia.edu  sc_signal<int> i2;
5611723Sar4jc@virginia.edu  sc_signal<int> i3;
5711723Sar4jc@virginia.edu  sc_signal<int> i4;
5813548Salec.roelke@gmail.com  sc_signal<int> i5;
5913548Salec.roelke@gmail.com
6011723Sar4jc@virginia.edu  sc_signal<bool> cont1;
6111723Sar4jc@virginia.edu  sc_signal<bool> cont2;
6211723Sar4jc@virginia.edu  sc_signal<bool> cont3;
6311723Sar4jc@virginia.edu
6411723Sar4jc@virginia.edu  sc_signal<int> o1;
6511723Sar4jc@virginia.edu  sc_signal<int> o2;
6611723Sar4jc@virginia.edu  sc_signal<int> o3;
6711723Sar4jc@virginia.edu  sc_signal<int> o4;
6811723Sar4jc@virginia.edu  sc_signal<int> o5;
6911723Sar4jc@virginia.edu
7013548Salec.roelke@gmail.com  test TEST ("TEST", clock, reset_sig, i1, i2, i3, i4, i5,
7111723Sar4jc@virginia.edu	 cont1, cont2, cont3, o1, o2, o3, o4, o5);
7213548Salec.roelke@gmail.com  tb TB ("TB", tb_clock, reset_sig, i1, i2, i3, i4, i5,
7313548Salec.roelke@gmail.com	 cont1, cont2, cont3, o1, o2, o3, o4, o5);
7413548Salec.roelke@gmail.com  monitor MONITOR ("MONITOR", mon_clock, reset_sig, i1, i2, i3, i4, i5,
7513548Salec.roelke@gmail.com	 cont1, cont2, cont3, o1, o2, o3, o4, o5);
7611723Sar4jc@virginia.edu
7713548Salec.roelke@gmail.com  // Simulation Run Control
7813548Salec.roelke@gmail.com  sc_start();
7913548Salec.roelke@gmail.com  return 0;
8013548Salec.roelke@gmail.com}
8113548Salec.roelke@gmail.com