Added SystemC toplevel for comparison purposes
This commit is contained in:
		| @@ -72,6 +72,7 @@ include(sc-components/cmake/clang-format.cmake) | |||||||
|  |  | ||||||
| add_subdirectory(sc-components) | add_subdirectory(sc-components) | ||||||
| add_subdirectory(components) | add_subdirectory(components) | ||||||
|  | add_subdirectory(top) | ||||||
|  |  | ||||||
| # CTest is a testing tool that can be used to test your project. | # CTest is a testing tool that can be used to test your project. | ||||||
| # enable_testing() | # enable_testing() | ||||||
|   | |||||||
| @@ -1,15 +1,12 @@ | |||||||
| FILE(GLOB LibHeaders *.h) |  | ||||||
| set(LIB_HEADERS ${LibHeaders} ) |  | ||||||
| set(LIB_SOURCES | set(LIB_SOURCES | ||||||
| 	initiator.cpp | 	initiator.cpp | ||||||
| 	logging.cpp | 	logging.cpp | ||||||
| 	target.cpp | 	target.cpp | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| # Define two variables in order not to repeat ourselves. | # Define two variables in order not to repeat ourselves. | ||||||
| set(LIBRARY_NAME components) | set(LIBRARY_NAME components) | ||||||
|  |  | ||||||
| # Define the library | # Define the library | ||||||
| add_library(${LIBRARY_NAME} SHARED ${LIB_SOURCES}) | add_library(${LIBRARY_NAME} SHARED ${LIB_SOURCES}) | ||||||
| target_link_libraries (${LIBRARY_NAME} LINK_PUBLIC sc-components) | target_link_libraries (${LIBRARY_NAME} LINK_PUBLIC sc-components) | ||||||
|  | target_include_directories (components PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								top/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								top/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | cmake_minimum_required(VERSION 3.3) | ||||||
|  | set(APP_NAME top) | ||||||
|  | add_executable(${APP_NAME} sc_main.cpp) | ||||||
|  | target_link_libraries (${APP_NAME} LINK_PUBLIC components) | ||||||
							
								
								
									
										49
									
								
								top/sc_main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								top/sc_main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | |||||||
|  | //////////////////////////////////////////////////////////////////////////////// | ||||||
|  | // Copyright 2017 eyck@minres.com | ||||||
|  | // | ||||||
|  | // Licensed under the Apache License, Version 2.0 (the "License"); you may not | ||||||
|  | // use this file except in compliance with the License.  You may obtain a copy | ||||||
|  | // of the License at | ||||||
|  | // | ||||||
|  | //   http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | // | ||||||
|  | // Unless required by applicable law or agreed to in writing, software | ||||||
|  | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||||
|  | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the | ||||||
|  | // License for the specific language governing permissions and limitations under | ||||||
|  | // the License. | ||||||
|  | //////////////////////////////////////////////////////////////////////////////// | ||||||
|  | /* | ||||||
|  |  * sc_main.cpp | ||||||
|  |  * | ||||||
|  |  *  Created on: 17.09.2017 | ||||||
|  |  *      Author: eyck@minres.com | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "top.h" | ||||||
|  | #include <scc/report.h> | ||||||
|  |  | ||||||
|  | using namespace scc; | ||||||
|  |  | ||||||
|  | int sc_main(int argc, char *argv[]) { | ||||||
|  |     /////////////////////////////////////////////////////////////////////////// | ||||||
|  |     // configure logging | ||||||
|  |     /////////////////////////////////////////////////////////////////////////// | ||||||
|  |     scc::init_logging(logging::INFO); | ||||||
|  |  | ||||||
|  |     /////////////////////////////////////////////////////////////////////////// | ||||||
|  |     // instantiate top level | ||||||
|  |     /////////////////////////////////////////////////////////////////////////// | ||||||
|  |     Top i_top("i_top"); | ||||||
|  |  | ||||||
|  |     /////////////////////////////////////////////////////////////////////////// | ||||||
|  |     // run simulation | ||||||
|  |     /////////////////////////////////////////////////////////////////////////// | ||||||
|  |     sc_start(); | ||||||
|  |     // todo: provide end-of-simulation macros | ||||||
|  |  | ||||||
|  |     if (!sc_core::sc_end_of_simulation_invoked()) { | ||||||
|  |         sc_core::sc_stop(); | ||||||
|  |     } | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user