datatypes.h revision 12855
111507SCurtis.Dunham@arm.com/***************************************************************************** 211507SCurtis.Dunham@arm.com 311860Sandreas.hansson@arm.com Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 411860Sandreas.hansson@arm.com more contributor license agreements. See the NOTICE file distributed 511860Sandreas.hansson@arm.com with this work for additional information regarding copyright ownership. 611507SCurtis.Dunham@arm.com Accellera licenses this file to you under the Apache License, Version 2.0 711860Sandreas.hansson@arm.com (the "License"); you may not use this file except in compliance with the 811860Sandreas.hansson@arm.com License. You may obtain a copy of the License at 911860Sandreas.hansson@arm.com 1011860Sandreas.hansson@arm.com http://www.apache.org/licenses/LICENSE-2.0 1111860Sandreas.hansson@arm.com 1211507SCurtis.Dunham@arm.com Unless required by applicable law or agreed to in writing, software 1311507SCurtis.Dunham@arm.com distributed under the License is distributed on an "AS IS" BASIS, 1411507SCurtis.Dunham@arm.com WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1511507SCurtis.Dunham@arm.com implied. See the License for the specific language governing 1611860Sandreas.hansson@arm.com permissions and limitations under the License. 1711860Sandreas.hansson@arm.com 1811860Sandreas.hansson@arm.com *****************************************************************************/ 1911860Sandreas.hansson@arm.com 2011860Sandreas.hansson@arm.com/***************************************************************************** 2111860Sandreas.hansson@arm.com 2211860Sandreas.hansson@arm.com datatypes.h -- 2311860Sandreas.hansson@arm.com 2411860Sandreas.hansson@arm.com Original Author: Rocco Jonack, Synopsys, Inc., 1999-07-14 2511860Sandreas.hansson@arm.com 2611860Sandreas.hansson@arm.com *****************************************************************************/ 2711860Sandreas.hansson@arm.com 2811860Sandreas.hansson@arm.com/***************************************************************************** 2911860Sandreas.hansson@arm.com 3011860Sandreas.hansson@arm.com MODIFICATION LOG - modifiers, enter your name, affiliation, date and 3111860Sandreas.hansson@arm.com changes you are making here. 3211860Sandreas.hansson@arm.com 3311860Sandreas.hansson@arm.com Name, Affiliation, Date: 3411860Sandreas.hansson@arm.com Description of Modification: 3511860Sandreas.hansson@arm.com 3611860Sandreas.hansson@arm.com *****************************************************************************/ 3711860Sandreas.hansson@arm.com 3811860Sandreas.hansson@arm.com 3911860Sandreas.hansson@arm.com#include "common.h" 4011860Sandreas.hansson@arm.com 4111860Sandreas.hansson@arm.comSC_MODULE( datatypes ) 4211860Sandreas.hansson@arm.com{ 4311860Sandreas.hansson@arm.com SC_HAS_PROCESS( datatypes ); 4411860Sandreas.hansson@arm.com 4511860Sandreas.hansson@arm.com sc_in_clk clk; 4611860Sandreas.hansson@arm.com 4711860Sandreas.hansson@arm.com //==================================================================== 4811860Sandreas.hansson@arm.com // [C] Always Needed Member Function 4911860Sandreas.hansson@arm.com // -- constructor 5011507SCurtis.Dunham@arm.com // -- entry 5111507SCurtis.Dunham@arm.com //==================================================================== 5211860Sandreas.hansson@arm.com 5311860Sandreas.hansson@arm.com const sc_signal<bool>& reset ; 5411860Sandreas.hansson@arm.com const sc_signal_bool_vector& in_value1; // Input port 5511860Sandreas.hansson@arm.com const sc_signal_bool_vector& in_value2; // Input port 5611860Sandreas.hansson@arm.com const sc_signal<long>& in_value3; // Input port 5711860Sandreas.hansson@arm.com const sc_signal<int>& in_value4; // Input port 5811860Sandreas.hansson@arm.com const sc_signal<short>& in_value5; // Input port 5911860Sandreas.hansson@arm.com const sc_signal<char>& in_value6; // Input port 6011860Sandreas.hansson@arm.com const sc_signal<bool>& in_valid; // Input port 6111860Sandreas.hansson@arm.com sc_signal<bool>& out_ack; // Output port 6211860Sandreas.hansson@arm.com sc_signal_bool_vector& out_value1; // Output port 6311860Sandreas.hansson@arm.com sc_signal_bool_vector& out_value2; // Output port 6411860Sandreas.hansson@arm.com sc_signal<long>& out_value3; // Output port 6511860Sandreas.hansson@arm.com sc_signal<int>& out_value4; // Output port 6611860Sandreas.hansson@arm.com sc_signal<short>& out_value5; // Output port 6711860Sandreas.hansson@arm.com sc_signal<char>& out_value6; // Output port 6811860Sandreas.hansson@arm.com sc_signal<bool>& out_valid; // Output port 6911860Sandreas.hansson@arm.com 7011860Sandreas.hansson@arm.com // 7111860Sandreas.hansson@arm.com // Constructor 7211860Sandreas.hansson@arm.com // 7311860Sandreas.hansson@arm.com 7411860Sandreas.hansson@arm.com datatypes( 7511680SCurtis.Dunham@arm.com sc_module_name NAME, // referense name 7611680SCurtis.Dunham@arm.com sc_clock& CLK, // clock 7711860Sandreas.hansson@arm.com const sc_signal<bool>& RESET, 7811606Sandreas.sandberg@arm.com const sc_signal_bool_vector& IN_VALUE1, 7911860Sandreas.hansson@arm.com const sc_signal_bool_vector& IN_VALUE2, 8011860Sandreas.hansson@arm.com const sc_signal<long>& IN_VALUE3, 8111860Sandreas.hansson@arm.com const sc_signal<int>& IN_VALUE4, 8211860Sandreas.hansson@arm.com const sc_signal<short>& IN_VALUE5, 8311606Sandreas.sandberg@arm.com const sc_signal<char>& IN_VALUE6, 8411507SCurtis.Dunham@arm.com const sc_signal<bool>& IN_VALID, 8511507SCurtis.Dunham@arm.com 8611860Sandreas.hansson@arm.com sc_signal<bool>& OUT_ACK, 8711507SCurtis.Dunham@arm.com sc_signal_bool_vector& OUT_VALUE1, 8811507SCurtis.Dunham@arm.com sc_signal_bool_vector& OUT_VALUE2, 8911507SCurtis.Dunham@arm.com sc_signal<long>& OUT_VALUE3, 9011507SCurtis.Dunham@arm.com sc_signal<int>& OUT_VALUE4, 9111507SCurtis.Dunham@arm.com sc_signal<short>& OUT_VALUE5, 9211507SCurtis.Dunham@arm.com sc_signal<char>& OUT_VALUE6, 9311860Sandreas.hansson@arm.com sc_signal<bool>& OUT_VALID 9411507SCurtis.Dunham@arm.com ) 9511507SCurtis.Dunham@arm.com : 9611507SCurtis.Dunham@arm.com reset (RESET), 9711507SCurtis.Dunham@arm.com in_value1 (IN_VALUE1), 9811507SCurtis.Dunham@arm.com in_value2 (IN_VALUE2), 9911507SCurtis.Dunham@arm.com in_value3 (IN_VALUE3), 10011860Sandreas.hansson@arm.com in_value4 (IN_VALUE4), 10111860Sandreas.hansson@arm.com in_value5 (IN_VALUE5), 10211680SCurtis.Dunham@arm.com in_value6 (IN_VALUE6), 10311860Sandreas.hansson@arm.com in_valid (IN_VALID), 10411507SCurtis.Dunham@arm.com out_ack (OUT_ACK), 10511507SCurtis.Dunham@arm.com out_value1 (OUT_VALUE1), 10611507SCurtis.Dunham@arm.com out_value2 (OUT_VALUE2), 10711507SCurtis.Dunham@arm.com out_value3 (OUT_VALUE3), 10811507SCurtis.Dunham@arm.com out_value4 (OUT_VALUE4), 10911507SCurtis.Dunham@arm.com out_value5 (OUT_VALUE5), 11011507SCurtis.Dunham@arm.com out_value6 (OUT_VALUE6), 11111507SCurtis.Dunham@arm.com out_valid (OUT_VALID) 11211507SCurtis.Dunham@arm.com 11311507SCurtis.Dunham@arm.com { 11411507SCurtis.Dunham@arm.com clk (CLK); 11511507SCurtis.Dunham@arm.com SC_CTHREAD( entry, clk.pos() ); 11611507SCurtis.Dunham@arm.com reset_signal_is(reset,true); 11711507SCurtis.Dunham@arm.com }; 11811507SCurtis.Dunham@arm.com 11911507SCurtis.Dunham@arm.com//Process Functionality: Described in the member function below 12011507SCurtis.Dunham@arm.com void entry(); 12111507SCurtis.Dunham@arm.com}; 12211507SCurtis.Dunham@arm.com 12311507SCurtis.Dunham@arm.com// EOF 12411507SCurtis.Dunham@arm.com 12511507SCurtis.Dunham@arm.com 12611507SCurtis.Dunham@arm.com 12711507SCurtis.Dunham@arm.com