a2901_alu.h revision 12855:588919e0e4aa
110611SAndreas.Sandberg@ARM.com/***************************************************************************** 210611SAndreas.Sandberg@ARM.com 312763Sgiacomo.travaglini@arm.com Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 410611SAndreas.Sandberg@ARM.com more contributor license agreements. See the NOTICE file distributed 510611SAndreas.Sandberg@ARM.com with this work for additional information regarding copyright ownership. 610611SAndreas.Sandberg@ARM.com Accellera licenses this file to you under the Apache License, Version 2.0 710611SAndreas.Sandberg@ARM.com (the "License"); you may not use this file except in compliance with the 810611SAndreas.Sandberg@ARM.com License. You may obtain a copy of the License at 910611SAndreas.Sandberg@ARM.com 1010611SAndreas.Sandberg@ARM.com http://www.apache.org/licenses/LICENSE-2.0 1110611SAndreas.Sandberg@ARM.com 1210611SAndreas.Sandberg@ARM.com Unless required by applicable law or agreed to in writing, software 1310611SAndreas.Sandberg@ARM.com distributed under the License is distributed on an "AS IS" BASIS, 1410611SAndreas.Sandberg@ARM.com WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1510696SAndreas.Sandberg@ARM.com implied. See the License for the specific language governing 1610696SAndreas.Sandberg@ARM.com permissions and limitations under the License. 1710696SAndreas.Sandberg@ARM.com 1810611SAndreas.Sandberg@ARM.com *****************************************************************************/ 1910611SAndreas.Sandberg@ARM.com 2010611SAndreas.Sandberg@ARM.com/***************************************************************************** 2110611SAndreas.Sandberg@ARM.com 2210611SAndreas.Sandberg@ARM.com a2901_alu.h -- 2310611SAndreas.Sandberg@ARM.com 2410611SAndreas.Sandberg@ARM.com Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 2510611SAndreas.Sandberg@ARM.com 2610611SAndreas.Sandberg@ARM.com *****************************************************************************/ 2710611SAndreas.Sandberg@ARM.com 2810611SAndreas.Sandberg@ARM.com/***************************************************************************** 2910611SAndreas.Sandberg@ARM.com 3010611SAndreas.Sandberg@ARM.com MODIFICATION LOG - modifiers, enter your name, affiliation, date and 3110611SAndreas.Sandberg@ARM.com changes you are making here. 3210611SAndreas.Sandberg@ARM.com 3310611SAndreas.Sandberg@ARM.com Name, Affiliation, Date: 3410611SAndreas.Sandberg@ARM.com Description of Modification: 3510611SAndreas.Sandberg@ARM.com 3610611SAndreas.Sandberg@ARM.com *****************************************************************************/ 3710611SAndreas.Sandberg@ARM.com 3810611SAndreas.Sandberg@ARM.com#ifndef A2901_ALU_H 3910611SAndreas.Sandberg@ARM.com#define A2901_ALU_H 4010611SAndreas.Sandberg@ARM.com 4110611SAndreas.Sandberg@ARM.com#include "common.h" 4210696SAndreas.Sandberg@ARM.com 4310696SAndreas.Sandberg@ARM.comSC_MODULE( a2901_alu ) 4410696SAndreas.Sandberg@ARM.com{ 4510696SAndreas.Sandberg@ARM.com SC_HAS_PROCESS( a2901_alu ); 4610696SAndreas.Sandberg@ARM.com 4710696SAndreas.Sandberg@ARM.com // inputs 4810696SAndreas.Sandberg@ARM.com const sig9& I; 4910611SAndreas.Sandberg@ARM.com const sig4& RE; 5010611SAndreas.Sandberg@ARM.com const sig4& S; 5110611SAndreas.Sandberg@ARM.com const sig1& C0; 5210611SAndreas.Sandberg@ARM.com 5310611SAndreas.Sandberg@ARM.com // outputs 5410611SAndreas.Sandberg@ARM.com sig5& R_ext; 5510696SAndreas.Sandberg@ARM.com sig5& S_ext; 5610696SAndreas.Sandberg@ARM.com sig4& F; 5710696SAndreas.Sandberg@ARM.com sig1& OVR; 5812763Sgiacomo.travaglini@arm.com sig1& C4; 5912763Sgiacomo.travaglini@arm.com sig1& Pbar; 6012763Sgiacomo.travaglini@arm.com sig1& Gbar; 6112763Sgiacomo.travaglini@arm.com sig1& F3; 6212763Sgiacomo.travaglini@arm.com sig1& F30; 6312763Sgiacomo.travaglini@arm.com 6412763Sgiacomo.travaglini@arm.com // temporaries 6512763Sgiacomo.travaglini@arm.com int5 result; 6612763Sgiacomo.travaglini@arm.com int5 R_ext_v; 6710696SAndreas.Sandberg@ARM.com int5 S_ext_v; 6810696SAndreas.Sandberg@ARM.com int5 temp_p; 6910696SAndreas.Sandberg@ARM.com int5 temp_g; 7010696SAndreas.Sandberg@ARM.com 7110696SAndreas.Sandberg@ARM.com // constructor 7210696SAndreas.Sandberg@ARM.com a2901_alu( sc_module_name, 7310696SAndreas.Sandberg@ARM.com const sig9& I_, 7410696SAndreas.Sandberg@ARM.com const sig4& RE_, 7510696SAndreas.Sandberg@ARM.com const sig4& S_, 7610696SAndreas.Sandberg@ARM.com const sig1& C0_, 7710696SAndreas.Sandberg@ARM.com sig5& R_ext_, 7810696SAndreas.Sandberg@ARM.com sig5& S_ext_, 7910696SAndreas.Sandberg@ARM.com sig4& F_, 8010696SAndreas.Sandberg@ARM.com sig1& OVR_, 8110696SAndreas.Sandberg@ARM.com sig1& C4_, 8210696SAndreas.Sandberg@ARM.com sig1& Pbar_, 8310696SAndreas.Sandberg@ARM.com sig1& Gbar_, 8410696SAndreas.Sandberg@ARM.com sig1& F3_, 8510696SAndreas.Sandberg@ARM.com sig1& F30_ ) 8610696SAndreas.Sandberg@ARM.com : I( I_ ), 8710696SAndreas.Sandberg@ARM.com RE( RE_ ), 88 S( S_ ), 89 C0( C0_ ), 90 R_ext( R_ext_ ), 91 S_ext( S_ext_ ), 92 F( F_ ), 93 OVR( OVR_ ), 94 C4( C4_ ), 95 Pbar( Pbar_ ), 96 Gbar( Gbar_ ), 97 F3( F3_ ), 98 F30( F30_ ) 99 { 100 SC_METHOD( entry ); 101 sensitive << I; 102 sensitive << RE; 103 sensitive << S; 104 sensitive << C0; 105 } 106 107 void entry(); 108}; 109 110#endif 111 112