stage2.h revision 12855
16928SBrad.Beckmann@amd.com/*****************************************************************************
26928SBrad.Beckmann@amd.com
36928SBrad.Beckmann@amd.com  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
46928SBrad.Beckmann@amd.com  more contributor license agreements.  See the NOTICE file distributed
56928SBrad.Beckmann@amd.com  with this work for additional information regarding copyright ownership.
66928SBrad.Beckmann@amd.com  Accellera licenses this file to you under the Apache License, Version 2.0
76928SBrad.Beckmann@amd.com  (the "License"); you may not use this file except in compliance with the
86928SBrad.Beckmann@amd.com  License.  You may obtain a copy of the License at
96928SBrad.Beckmann@amd.com
106928SBrad.Beckmann@amd.com    http://www.apache.org/licenses/LICENSE-2.0
116928SBrad.Beckmann@amd.com
126928SBrad.Beckmann@amd.com  Unless required by applicable law or agreed to in writing, software
136928SBrad.Beckmann@amd.com  distributed under the License is distributed on an "AS IS" BASIS,
146928SBrad.Beckmann@amd.com  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
156928SBrad.Beckmann@amd.com  implied.  See the License for the specific language governing
166928SBrad.Beckmann@amd.com  permissions and limitations under the License.
176928SBrad.Beckmann@amd.com
186928SBrad.Beckmann@amd.com *****************************************************************************/
196928SBrad.Beckmann@amd.com
206928SBrad.Beckmann@amd.com/*****************************************************************************
216928SBrad.Beckmann@amd.com
226928SBrad.Beckmann@amd.com  stage2.h --
236928SBrad.Beckmann@amd.com
246928SBrad.Beckmann@amd.com  Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
256928SBrad.Beckmann@amd.com
266928SBrad.Beckmann@amd.com *****************************************************************************/
276928SBrad.Beckmann@amd.com
286928SBrad.Beckmann@amd.com/*****************************************************************************
296928SBrad.Beckmann@amd.com
306928SBrad.Beckmann@amd.com  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
316928SBrad.Beckmann@amd.com  changes you are making here.
326928SBrad.Beckmann@amd.com
336928SBrad.Beckmann@amd.com      Name, Affiliation, Date:
346928SBrad.Beckmann@amd.com  Description of Modification:
356928SBrad.Beckmann@amd.com
366928SBrad.Beckmann@amd.com *****************************************************************************/
376928SBrad.Beckmann@amd.com
386928SBrad.Beckmann@amd.com/* Filename stage2.h */
396928SBrad.Beckmann@amd.com/* This is the interface file for synchronous process `stage2' */
406928SBrad.Beckmann@amd.com
416928SBrad.Beckmann@amd.com#include "systemc.h"
426928SBrad.Beckmann@amd.com
439113SBrad.Beckmann@amd.comSC_MODULE( stage2 )
446928SBrad.Beckmann@amd.com{
456928SBrad.Beckmann@amd.com  SC_HAS_PROCESS( stage2 );
468920Snilay@cs.wisc.edu
476928SBrad.Beckmann@amd.com  sc_in_clk clk;
486928SBrad.Beckmann@amd.com
498920Snilay@cs.wisc.edu  const sc_signal<double>& sum; //input
506928SBrad.Beckmann@amd.com  const sc_signal<double>& diff; //input
517570SBrad.Beckmann@amd.com  sc_signal<double>& prod; //output
527570SBrad.Beckmann@amd.com  sc_signal<double>& quot; //output
536928SBrad.Beckmann@amd.com
546928SBrad.Beckmann@amd.com  //Constructor
556928SBrad.Beckmann@amd.com  stage2(sc_module_name NAME,
566928SBrad.Beckmann@amd.com	 sc_clock& CLK,
577570SBrad.Beckmann@amd.com	 const sc_signal<double>& SUM,
587570SBrad.Beckmann@amd.com	 const sc_signal<double>& DIFF,
597570SBrad.Beckmann@amd.com	 sc_signal<double>& PROD,
607570SBrad.Beckmann@amd.com	 sc_signal<double>& QUOT)
617570SBrad.Beckmann@amd.com    : sum(SUM), diff(DIFF), prod(PROD), quot(QUOT)
627570SBrad.Beckmann@amd.com  {
637570SBrad.Beckmann@amd.com    clk(CLK);
647570SBrad.Beckmann@amd.com	SC_CTHREAD( entry, clk.pos() );
657570SBrad.Beckmann@amd.com  }
667570SBrad.Beckmann@amd.com
677570SBrad.Beckmann@amd.com  // Process functionality in member function below
687570SBrad.Beckmann@amd.com  void entry();
698933SBrad.Beckmann@amd.com};
708933SBrad.Beckmann@amd.com
718933SBrad.Beckmann@amd.com
728933SBrad.Beckmann@amd.com