paramadd.h revision 12855
14159Sgblack@eecs.umich.edu/***************************************************************************** 210299Salexandru.dutu@amd.com 34159Sgblack@eecs.umich.edu Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 44159Sgblack@eecs.umich.edu more contributor license agreements. See the NOTICE file distributed 54159Sgblack@eecs.umich.edu with this work for additional information regarding copyright ownership. 67087Snate@binkert.org Accellera licenses this file to you under the Apache License, Version 2.0 77087Snate@binkert.org (the "License"); you may not use this file except in compliance with the 87087Snate@binkert.org License. You may obtain a copy of the License at 97087Snate@binkert.org 107087Snate@binkert.org http://www.apache.org/licenses/LICENSE-2.0 117087Snate@binkert.org 127087Snate@binkert.org Unless required by applicable law or agreed to in writing, software 137087Snate@binkert.org distributed under the License is distributed on an "AS IS" BASIS, 144159Sgblack@eecs.umich.edu WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 157087Snate@binkert.org implied. See the License for the specific language governing 167087Snate@binkert.org permissions and limitations under the License. 177087Snate@binkert.org 187087Snate@binkert.org *****************************************************************************/ 197087Snate@binkert.org 207087Snate@binkert.org/***************************************************************************** 217087Snate@binkert.org 227087Snate@binkert.org paramadd.h -- 234159Sgblack@eecs.umich.edu 247087Snate@binkert.org Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 254159Sgblack@eecs.umich.edu 264159Sgblack@eecs.umich.edu *****************************************************************************/ 274159Sgblack@eecs.umich.edu 284159Sgblack@eecs.umich.edu/***************************************************************************** 294159Sgblack@eecs.umich.edu 304159Sgblack@eecs.umich.edu MODIFICATION LOG - modifiers, enter your name, affiliation, date and 314159Sgblack@eecs.umich.edu changes you are making here. 324159Sgblack@eecs.umich.edu 334159Sgblack@eecs.umich.edu Name, Affiliation, Date: 344159Sgblack@eecs.umich.edu Description of Modification: 354159Sgblack@eecs.umich.edu 364159Sgblack@eecs.umich.edu *****************************************************************************/ 374159Sgblack@eecs.umich.edu 384159Sgblack@eecs.umich.edu/* Filename paramadd.h */ 394159Sgblack@eecs.umich.edu/* Interface file for synchronous process `paramadd' */ 404159Sgblack@eecs.umich.edu 414159Sgblack@eecs.umich.edu#include "common.h" 424159Sgblack@eecs.umich.edu 434159Sgblack@eecs.umich.eduSC_MODULE( paramadd ) 445124Sgblack@eecs.umich.edu{ 455124Sgblack@eecs.umich.edu SC_HAS_PROCESS( paramadd ); 4610299Salexandru.dutu@amd.com 475124Sgblack@eecs.umich.edu sc_in_clk clk; 485237Sgblack@eecs.umich.edu 494159Sgblack@eecs.umich.edu // Inputs 506216Snate@binkert.org const sc_signal<bool>& reset; 518953Sgblack@eecs.umich.edu const signal_bool_vector& a; 5210299Salexandru.dutu@amd.com const signal_bool_vector& b; 5310299Salexandru.dutu@amd.com const sc_signal<bool>& cin; 5410299Salexandru.dutu@amd.com const sc_signal<bool>& ready; 554159Sgblack@eecs.umich.edu // Outputs 565124Sgblack@eecs.umich.edu signal_bool_vector& sum; 575124Sgblack@eecs.umich.edu sc_signal<bool>& co; 584159Sgblack@eecs.umich.edu sc_signal<bool>& done; 594159Sgblack@eecs.umich.edu // Parameters 608953Sgblack@eecs.umich.edu const int data_width; 618953Sgblack@eecs.umich.edu 628953Sgblack@eecs.umich.edu // Constructor 638953Sgblack@eecs.umich.edu paramadd(sc_module_name NAME, 648953Sgblack@eecs.umich.edu sc_clock& TICK, 658953Sgblack@eecs.umich.edu const sc_signal<bool>& RESET, 668953Sgblack@eecs.umich.edu const signal_bool_vector& A, 675237Sgblack@eecs.umich.edu const signal_bool_vector& B, 685237Sgblack@eecs.umich.edu const sc_signal<bool>& CIN, 695237Sgblack@eecs.umich.edu const sc_signal<bool>& READY, 705237Sgblack@eecs.umich.edu signal_bool_vector& SUM, 715237Sgblack@eecs.umich.edu sc_signal<bool>& CO, 725237Sgblack@eecs.umich.edu sc_signal<bool>& DONE, 735237Sgblack@eecs.umich.edu const int DATA_WIDTH = 8) 745237Sgblack@eecs.umich.edu : reset(RESET), a(A), 755237Sgblack@eecs.umich.edu b(B), cin(CIN), ready(READY), 765237Sgblack@eecs.umich.edu sum(SUM), co(CO), done(DONE), 775237Sgblack@eecs.umich.edu data_width(DATA_WIDTH) 785237Sgblack@eecs.umich.edu { 795237Sgblack@eecs.umich.edu clk(TICK); 804159Sgblack@eecs.umich.edu SC_CTHREAD( entry, clk.pos() ); 8110299Salexandru.dutu@amd.com reset_signal_is(reset,false); 8210299Salexandru.dutu@amd.com } 8310299Salexandru.dutu@amd.com 8410299Salexandru.dutu@amd.com // Process functionality in member function below 8510299Salexandru.dutu@amd.com void entry(); 8610299Salexandru.dutu@amd.com}; 8710299Salexandru.dutu@amd.com