main.cpp revision 12855
12391SN/A/*****************************************************************************
210482Sandreas.hansson@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  main.cpp --
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
362665Ssaidi@eecs.umich.edu *****************************************************************************/
378931Sandreas.hansson@arm.com
382391SN/A// Main routine
392391SN/A
409293Sandreas.hansson@arm.com#include "systemc.h"
419293Sandreas.hansson@arm.com#include "test.h"
429293Sandreas.hansson@arm.com#include "tb.h"
439293Sandreas.hansson@arm.com#include "monitor.h"
449293Sandreas.hansson@arm.com#include "define.h"
459293Sandreas.hansson@arm.com
469293Sandreas.hansson@arm.comint sc_main(int ac, char *av[])
479293Sandreas.hansson@arm.com{
489293Sandreas.hansson@arm.com  sc_clock clock("Clock", CLOCK_PERIOD, SC_NS, DUTY_CYCLE, 0, SC_NS);
499293Sandreas.hansson@arm.com  sc_clock tb_clock("TBClock", TB_CLOCK_PERIOD, SC_NS, DUTY_CYCLE, 0, SC_NS);
509293Sandreas.hansson@arm.com  sc_clock mon_clock("MonClock", CLOCK_PERIOD, SC_NS, DUTY_CYCLE, 75, SC_NS);
519293Sandreas.hansson@arm.com
529293Sandreas.hansson@arm.com  sc_signal<bool> reset_sig;
539356Snilay@cs.wisc.edu
5410405Sandreas.hansson@arm.com  sc_signal<int> i1;
559293Sandreas.hansson@arm.com  sc_signal<int> i2;
569293Sandreas.hansson@arm.com  sc_signal<int> i3;
572394SN/A  sc_signal<int> i4;
582394SN/A  sc_signal<int> i5;
5910700Sandreas.hansson@arm.com
6010700Sandreas.hansson@arm.com  sc_signal<bool> cont1;
6110700Sandreas.hansson@arm.com  sc_signal<bool> cont2;
6210700Sandreas.hansson@arm.com  sc_signal<bool> cont3;
6310700Sandreas.hansson@arm.com
6410700Sandreas.hansson@arm.com  sc_signal<int> o1;
6510700Sandreas.hansson@arm.com  sc_signal<int> o2;
6610700Sandreas.hansson@arm.com  sc_signal<int> o3;
6710700Sandreas.hansson@arm.com  sc_signal<int> o4;
6810700Sandreas.hansson@arm.com  sc_signal<int> o5;
6910700Sandreas.hansson@arm.com
7010700Sandreas.hansson@arm.com  test TEST ("TEST", clock, reset_sig, i1, i2, i3, i4, i5,
712391SN/A	 cont1, cont2, cont3, o1, o2, o3, o4, o5);
722391SN/A  tb TB ("TB", tb_clock, reset_sig, i1, i2, i3, i4, i5,
739293Sandreas.hansson@arm.com	 cont1, cont2, cont3, o1, o2, o3, o4, o5);
7410700Sandreas.hansson@arm.com  monitor MONITOR ("MONITOR", mon_clock, reset_sig, i1, i2, i3, i4, i5,
7510700Sandreas.hansson@arm.com	 cont1, cont2, cont3, o1, o2, o3, o4, o5);
7610700Sandreas.hansson@arm.com
7710700Sandreas.hansson@arm.com  // Simulation Run Control
782391SN/A  sc_start();
7910700Sandreas.hansson@arm.com  return 0;
8010700Sandreas.hansson@arm.com}
8110700Sandreas.hansson@arm.com