display.h revision 12855:588919e0e4aa
110458Sandreas.hansson@arm.com/***************************************************************************** 210458Sandreas.hansson@arm.com 310458Sandreas.hansson@arm.com Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 410458Sandreas.hansson@arm.com more contributor license agreements. See the NOTICE file distributed 510458Sandreas.hansson@arm.com with this work for additional information regarding copyright ownership. 610458Sandreas.hansson@arm.com Accellera licenses this file to you under the Apache License, Version 2.0 710458Sandreas.hansson@arm.com (the "License"); you may not use this file except in compliance with the 810458Sandreas.hansson@arm.com License. You may obtain a copy of the License at 910458Sandreas.hansson@arm.com 1010458Sandreas.hansson@arm.com http://www.apache.org/licenses/LICENSE-2.0 1110458Sandreas.hansson@arm.com 1210458Sandreas.hansson@arm.com Unless required by applicable law or agreed to in writing, software 1310458Sandreas.hansson@arm.com distributed under the License is distributed on an "AS IS" BASIS, 1410458Sandreas.hansson@arm.com WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1510458Sandreas.hansson@arm.com implied. See the License for the specific language governing 1610458Sandreas.hansson@arm.com permissions and limitations under the License. 1710458Sandreas.hansson@arm.com 1810458Sandreas.hansson@arm.com *****************************************************************************/ 1910458Sandreas.hansson@arm.com 2010458Sandreas.hansson@arm.com/***************************************************************************** 2110458Sandreas.hansson@arm.com 2210458Sandreas.hansson@arm.com display.h -- 2310458Sandreas.hansson@arm.com 2410458Sandreas.hansson@arm.com Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 2510458Sandreas.hansson@arm.com 2610458Sandreas.hansson@arm.com *****************************************************************************/ 2710458Sandreas.hansson@arm.com 2810458Sandreas.hansson@arm.com/***************************************************************************** 2910458Sandreas.hansson@arm.com 3010458Sandreas.hansson@arm.com MODIFICATION LOG - modifiers, enter your name, affiliation, date and 3110458Sandreas.hansson@arm.com changes you are making here. 3210458Sandreas.hansson@arm.com 3310458Sandreas.hansson@arm.com Name, Affiliation, Date: 3410458Sandreas.hansson@arm.com Description of Modification: 3510458Sandreas.hansson@arm.com 3610458Sandreas.hansson@arm.com *****************************************************************************/ 3710458Sandreas.hansson@arm.com 3810458Sandreas.hansson@arm.com#include "define.h" 3910458Sandreas.hansson@arm.com 4010458Sandreas.hansson@arm.com 4110458Sandreas.hansson@arm.com/******************************************************************************/ 4210458Sandreas.hansson@arm.com/*************************** Output Display Function **********************/ 4310458Sandreas.hansson@arm.com/******************************************************************************/ 4410458Sandreas.hansson@arm.com 4510458Sandreas.hansson@arm.comSC_MODULE( DISPLAY ) 4610458Sandreas.hansson@arm.com{ 4710458Sandreas.hansson@arm.com SC_HAS_PROCESS( DISPLAY ); 4810458Sandreas.hansson@arm.com 4910458Sandreas.hansson@arm.com /*** Input and Output Ports ***/ 5010458Sandreas.hansson@arm.com const sc_signal<bool>& ready; // Input 5110458Sandreas.hansson@arm.com const signal_bool_vector8& data; // Input 5210458Sandreas.hansson@arm.com const signal_bool_vector4& sum; // Input 5310458Sandreas.hansson@arm.com 5410458Sandreas.hansson@arm.com /*** Constructor ***/ 5510458Sandreas.hansson@arm.com DISPLAY ( sc_module_name NAME, 5610458Sandreas.hansson@arm.com const sc_signal<bool>& READY, 5710458Sandreas.hansson@arm.com const signal_bool_vector8& DATA, 5810458Sandreas.hansson@arm.com const signal_bool_vector4& SUM ) 5910458Sandreas.hansson@arm.com 6010458Sandreas.hansson@arm.com : ready (READY), 6110458Sandreas.hansson@arm.com data (DATA), // 8 bits 6210458Sandreas.hansson@arm.com sum (SUM) 6310458Sandreas.hansson@arm.com 6410458Sandreas.hansson@arm.com { 6510458Sandreas.hansson@arm.com SC_METHOD( entry ); 6610458Sandreas.hansson@arm.com sensitive << ready; 6710458Sandreas.hansson@arm.com sensitive << data; 6810458Sandreas.hansson@arm.com sensitive << sum; 6910458Sandreas.hansson@arm.com } 7010458Sandreas.hansson@arm.com 7110458Sandreas.hansson@arm.com /*** Call to Process Functionality ***/ 7210458Sandreas.hansson@arm.com void entry(); 7310458Sandreas.hansson@arm.com 7410458Sandreas.hansson@arm.com}; 7510458Sandreas.hansson@arm.com 7610458Sandreas.hansson@arm.comvoid 7710458Sandreas.hansson@arm.comDISPLAY::entry() 7810458Sandreas.hansson@arm.com{ 7910458Sandreas.hansson@arm.com// DISPLAY NUMBER OF 1'S IN DATA AT NEGEDGE ready 8010458Sandreas.hansson@arm.com 8110458Sandreas.hansson@arm.com if( ready.posedge() ) { 8210458Sandreas.hansson@arm.com cout << "Sum of " 8310458Sandreas.hansson@arm.com << data.read() 8410458Sandreas.hansson@arm.com << " is " << sum.read().to_uint() 8510458Sandreas.hansson@arm.com << endl; 8610458Sandreas.hansson@arm.com } 8710458Sandreas.hansson@arm.com} 8810458Sandreas.hansson@arm.com