stim.h revision 12855
13101Sstever@eecs.umich.edu/***************************************************************************** 27534Ssteve.reinhardt@amd.com 33101Sstever@eecs.umich.edu Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 43101Sstever@eecs.umich.edu more contributor license agreements. See the NOTICE file distributed 53101Sstever@eecs.umich.edu with this work for additional information regarding copyright ownership. 63101Sstever@eecs.umich.edu Accellera licenses this file to you under the Apache License, Version 2.0 73101Sstever@eecs.umich.edu (the "License"); you may not use this file except in compliance with the 83101Sstever@eecs.umich.edu License. You may obtain a copy of the License at 93101Sstever@eecs.umich.edu 103101Sstever@eecs.umich.edu http://www.apache.org/licenses/LICENSE-2.0 113101Sstever@eecs.umich.edu 123101Sstever@eecs.umich.edu Unless required by applicable law or agreed to in writing, software 133101Sstever@eecs.umich.edu distributed under the License is distributed on an "AS IS" BASIS, 143101Sstever@eecs.umich.edu WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 153101Sstever@eecs.umich.edu implied. See the License for the specific language governing 163101Sstever@eecs.umich.edu permissions and limitations under the License. 173101Sstever@eecs.umich.edu 183101Sstever@eecs.umich.edu *****************************************************************************/ 193101Sstever@eecs.umich.edu 203101Sstever@eecs.umich.edu/***************************************************************************** 213101Sstever@eecs.umich.edu 223101Sstever@eecs.umich.edu stim.h -- 233101Sstever@eecs.umich.edu 243101Sstever@eecs.umich.edu Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 253101Sstever@eecs.umich.edu 263101Sstever@eecs.umich.edu *****************************************************************************/ 273101Sstever@eecs.umich.edu 283101Sstever@eecs.umich.edu/***************************************************************************** 293101Sstever@eecs.umich.edu 307778Sgblack@eecs.umich.edu MODIFICATION LOG - modifiers, enter your name, affiliation, date and 313101Sstever@eecs.umich.edu changes you are making here. 323101Sstever@eecs.umich.edu 333101Sstever@eecs.umich.edu Name, Affiliation, Date: 343101Sstever@eecs.umich.edu Description of Modification: 353101Sstever@eecs.umich.edu 363101Sstever@eecs.umich.edu *****************************************************************************/ 373101Sstever@eecs.umich.edu 383101Sstever@eecs.umich.edu/* Filename stim.h */ 393101Sstever@eecs.umich.edu/* This is the interface file for synchronous process `stim' */ 403101Sstever@eecs.umich.edu 413101Sstever@eecs.umich.edu#include "common.h" 423101Sstever@eecs.umich.edu 433101Sstever@eecs.umich.eduSC_MODULE( stim ) 443101Sstever@eecs.umich.edu{ 453101Sstever@eecs.umich.edu SC_HAS_PROCESS( stim ); 463101Sstever@eecs.umich.edu 473101Sstever@eecs.umich.edu sc_in_clk clk; 483101Sstever@eecs.umich.edu 493885Sbinkertn@umich.edu // Inputs 503885Sbinkertn@umich.edu const sc_signal<bool>& done; 514762Snate@binkert.org // Outputs 523885Sbinkertn@umich.edu sc_signal<bool>& reset; 533885Sbinkertn@umich.edu signal_bool_vector& a; 547528Ssteve.reinhardt@amd.com signal_bool_vector& b; 553885Sbinkertn@umich.edu sc_signal<bool>& cin; 564380Sbinkertn@umich.edu sc_signal<bool>& ready; 574167Sbinkertn@umich.edu // Parameters 583102Sstever@eecs.umich.edu const int data_width; 593101Sstever@eecs.umich.edu 604762Snate@binkert.org // Constructor 614762Snate@binkert.org stim (sc_module_name NAME, 624762Snate@binkert.org sc_clock& TICK, 634762Snate@binkert.org const sc_signal<bool>& DONE, 644762Snate@binkert.org sc_signal<bool>& RESET, 654762Snate@binkert.org signal_bool_vector& A, 664762Snate@binkert.org signal_bool_vector& B, 674762Snate@binkert.org sc_signal<bool>& CIN, 684762Snate@binkert.org sc_signal<bool>& READY, 695033Smilesck@eecs.umich.edu const int DATA_WIDTH = 8) 705033Smilesck@eecs.umich.edu : done(DONE), reset(RESET), 715033Smilesck@eecs.umich.edu a(A),b(B), cin(CIN), 725033Smilesck@eecs.umich.edu ready(READY), 735033Smilesck@eecs.umich.edu data_width(DATA_WIDTH) 745033Smilesck@eecs.umich.edu { 755033Smilesck@eecs.umich.edu clk(TICK); 765033Smilesck@eecs.umich.edu SC_CTHREAD( entry, clk.neg() ); 775033Smilesck@eecs.umich.edu } 785033Smilesck@eecs.umich.edu 793101Sstever@eecs.umich.edu // Process functionality in member function below 803101Sstever@eecs.umich.edu void entry(); 813101Sstever@eecs.umich.edu}; 825033Smilesck@eecs.umich.edu