modulo.h revision 12855:588919e0e4aa
110152Satgutier@umich.edu/***************************************************************************** 210152Satgutier@umich.edu 310152Satgutier@umich.edu Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 410152Satgutier@umich.edu more contributor license agreements. See the NOTICE file distributed 510152Satgutier@umich.edu with this work for additional information regarding copyright ownership. 610152Satgutier@umich.edu Accellera licenses this file to you under the Apache License, Version 2.0 710152Satgutier@umich.edu (the "License"); you may not use this file except in compliance with the 810152Satgutier@umich.edu License. You may obtain a copy of the License at 910152Satgutier@umich.edu 1010152Satgutier@umich.edu http://www.apache.org/licenses/LICENSE-2.0 1110152Satgutier@umich.edu 1210152Satgutier@umich.edu Unless required by applicable law or agreed to in writing, software 1310152Satgutier@umich.edu distributed under the License is distributed on an "AS IS" BASIS, 1410152Satgutier@umich.edu WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1510152Satgutier@umich.edu implied. See the License for the specific language governing 1610152Satgutier@umich.edu permissions and limitations under the License. 1710152Satgutier@umich.edu 1810152Satgutier@umich.edu *****************************************************************************/ 1910152Satgutier@umich.edu 2010152Satgutier@umich.edu/***************************************************************************** 2110152Satgutier@umich.edu 2210152Satgutier@umich.edu modulo.h -- 2310152Satgutier@umich.edu 2410152Satgutier@umich.edu Original Author: Rocco Jonack, Synopsys, Inc., 1999-05-13 2510152Satgutier@umich.edu 2610152Satgutier@umich.edu *****************************************************************************/ 2710152Satgutier@umich.edu 2810152Satgutier@umich.edu/***************************************************************************** 2910152Satgutier@umich.edu 3010152Satgutier@umich.edu MODIFICATION LOG - modifiers, enter your name, affiliation, date and 3110152Satgutier@umich.edu changes you are making here. 3210152Satgutier@umich.edu 3310152Satgutier@umich.edu Name, Affiliation, Date: 3410152Satgutier@umich.edu Description of Modification: 3510152Satgutier@umich.edu 3610152Satgutier@umich.edu *****************************************************************************/ 3710152Satgutier@umich.edu 3810152Satgutier@umich.edu 3910152Satgutier@umich.edu#include "common.h" 4010152Satgutier@umich.edu 4110152Satgutier@umich.eduSC_MODULE( modulo ) 4210152Satgutier@umich.edu{ 4310152Satgutier@umich.edu SC_HAS_PROCESS( modulo ); 4410152Satgutier@umich.edu 4510152Satgutier@umich.edu sc_in_clk clk; 4610152Satgutier@umich.edu 4710152Satgutier@umich.edu //==================================================================== 4810152Satgutier@umich.edu // [C] Always Needed Member Function 4910152Satgutier@umich.edu // -- constructor 5010152Satgutier@umich.edu // -- entry 5110152Satgutier@umich.edu //==================================================================== 5210152Satgutier@umich.edu 5310152Satgutier@umich.edu const sc_signal<bool>& reset ; 5410152Satgutier@umich.edu const sc_signal<int>& in_value1; // Input port 5510152Satgutier@umich.edu const sc_signal_bool_vector4& in_value2; // Input port 5610152Satgutier@umich.edu const sc_signal_bool_vector4& in_value3; // Input port 5710152Satgutier@umich.edu const sc_signal_bool_vector8& in_value4; // Input port 5810152Satgutier@umich.edu const sc_signal_bool_vector8& in_value5; // Input port 5910152Satgutier@umich.edu const sc_signal<bool>& in_valid; // Input port 6010152Satgutier@umich.edu sc_signal<int>& out_value1; // Output port 6110152Satgutier@umich.edu sc_signal_bool_vector4& out_value2; // Output port 6210152Satgutier@umich.edu sc_signal_bool_vector4& out_value3; // Output port 6310152Satgutier@umich.edu sc_signal_bool_vector8& out_value4; // Output port 6410152Satgutier@umich.edu sc_signal_bool_vector8& out_value5; // Output port 6510152Satgutier@umich.edu sc_signal<bool>& out_valid; // Output port 6610152Satgutier@umich.edu 6710152Satgutier@umich.edu // 6810152Satgutier@umich.edu // Constructor 6910152Satgutier@umich.edu // 7010152Satgutier@umich.edu 7110152Satgutier@umich.edu modulo( 7210152Satgutier@umich.edu sc_module_name NAME, // referense name 7310152Satgutier@umich.edu sc_clock& CLK, // clock 7410152Satgutier@umich.edu const sc_signal<bool>& RESET, 7510152Satgutier@umich.edu const sc_signal<int>& IN_VALUE1, 7610152Satgutier@umich.edu const sc_signal_bool_vector4& IN_VALUE2, 7710152Satgutier@umich.edu const sc_signal_bool_vector4& IN_VALUE3, 7810234Syasuko.eckert@amd.com const sc_signal_bool_vector8& IN_VALUE4, 7910152Satgutier@umich.edu const sc_signal_bool_vector8& IN_VALUE5, 8010152Satgutier@umich.edu const sc_signal<bool>& IN_VALID, // Input port 8110152Satgutier@umich.edu sc_signal<int>& OUT_VALUE1, 8210152Satgutier@umich.edu sc_signal_bool_vector4& OUT_VALUE2, 8310152Satgutier@umich.edu sc_signal_bool_vector4& OUT_VALUE3, 8410152Satgutier@umich.edu sc_signal_bool_vector8& OUT_VALUE4, 8510152Satgutier@umich.edu sc_signal_bool_vector8& OUT_VALUE5, 8610152Satgutier@umich.edu sc_signal<bool>& OUT_VALID // Output port 8710152Satgutier@umich.edu ) 8810152Satgutier@umich.edu : 8910152Satgutier@umich.edu reset (RESET), 9010152Satgutier@umich.edu in_value1 (IN_VALUE1), 9110152Satgutier@umich.edu in_value2 (IN_VALUE2), 9210152Satgutier@umich.edu in_value3 (IN_VALUE3), 9310152Satgutier@umich.edu in_value4 (IN_VALUE4), 9410152Satgutier@umich.edu in_value5 (IN_VALUE5), 9510234Syasuko.eckert@amd.com in_valid (IN_VALID), 9610152Satgutier@umich.edu out_value1 (OUT_VALUE1), 9710152Satgutier@umich.edu out_value2 (OUT_VALUE2), 9810152Satgutier@umich.edu out_value3 (OUT_VALUE3), 9910152Satgutier@umich.edu out_value4 (OUT_VALUE4), 10010152Satgutier@umich.edu out_value5 (OUT_VALUE5), 10110152Satgutier@umich.edu out_valid (OUT_VALID) 10210152Satgutier@umich.edu 10310152Satgutier@umich.edu { 10410152Satgutier@umich.edu clk (CLK); 10510234Syasuko.eckert@amd.com SC_CTHREAD( entry, clk.pos() ); 10610234Syasuko.eckert@amd.com reset_signal_is(reset,true); 10710234Syasuko.eckert@amd.com }; 10810234Syasuko.eckert@amd.com 10910234Syasuko.eckert@amd.com // 11010234Syasuko.eckert@amd.com 11110152Satgutier@umich.edu void entry (); 11210152Satgutier@umich.edu 11310152Satgutier@umich.edu}; 11410152Satgutier@umich.edu 11510234Syasuko.eckert@amd.com// EOF 11610234Syasuko.eckert@amd.com