systemc/2.3.4

SystemC is a set of C++ classes and macros which provide an event-driven simulation interface.
Recipe info
2023-08-04

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
systemc/2.3.4

Using systemc

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
systemc/2.3.4
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("systemc/2.3.4")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): SystemCLanguage
  • CMake target name(s): SystemC::systemc
  • _systemc => SystemC::systemc
    
  • pkg-config file name(s): systemc.pc
  • _systemc => systemc-_systemc.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(SystemCLanguage REQUIRED)
# ...
target_link_libraries(YOUR_TARGET SystemC::systemc)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the systemc homepage listed above:

#include "sysc/communication/sc_buffer.h"
#include "sysc/communication/sc_clock.h"
#include "sysc/communication/sc_clock_ports.h"
#include "sysc/communication/sc_communication_ids.h"
#include "sysc/communication/sc_event_finder.h"
#include "sysc/communication/sc_event_queue.h"
#include "sysc/communication/sc_export.h"
#include "sysc/communication/sc_fifo.h"
#include "sysc/communication/sc_fifo_ifs.h"
#include "sysc/communication/sc_fifo_ports.h"
#include "sysc/communication/sc_host_mutex.h"
#include "sysc/communication/sc_host_semaphore.h"
#include "sysc/communication/sc_interface.h"
#include "sysc/communication/sc_mutex.h"
#include "sysc/communication/sc_mutex_if.h"
#include "sysc/communication/sc_port.h"
#include "sysc/communication/sc_prim_channel.h"
#include "sysc/communication/sc_semaphore.h"
#include "sysc/communication/sc_semaphore_if.h"
#include "sysc/communication/sc_signal.h"
#include "sysc/communication/sc_signal_ifs.h"
#include "sysc/communication/sc_signal_ports.h"
#include "sysc/communication/sc_signal_resolved.h"
#include "sysc/communication/sc_signal_resolved_ports.h"
#include "sysc/communication/sc_signal_rv.h"
#include "sysc/communication/sc_signal_rv_ports.h"
#include "sysc/communication/sc_writer_policy.h"
#include "sysc/datatypes/bit/sc_bit.h"
#include "sysc/datatypes/bit/sc_bit_ids.h"
#include "sysc/datatypes/bit/sc_bit_proxies.h"
#include "sysc/datatypes/bit/sc_bv.h"
#include "sysc/datatypes/bit/sc_bv_base.h"
#include "sysc/datatypes/bit/sc_logic.h"
#include "sysc/datatypes/bit/sc_lv.h"
#include "sysc/datatypes/bit/sc_lv_base.h"
#include "sysc/datatypes/bit/sc_proxy.h"
#include "sysc/datatypes/fx/fx.h"
#include "sysc/datatypes/fx/sc_context.h"
#include "sysc/datatypes/fx/sc_fix.h"
#include "sysc/datatypes/fx/sc_fixed.h"
#include "sysc/datatypes/fx/sc_fx_ids.h"
#include "sysc/datatypes/fx/sc_fxcast_switch.h"
#include "sysc/datatypes/fx/sc_fxdefs.h"
#include "sysc/datatypes/fx/sc_fxnum.h"
#include "sysc/datatypes/fx/sc_fxnum_observer.h"
#include "sysc/datatypes/fx/sc_fxtype_params.h"
#include "sysc/datatypes/fx/sc_fxval.h"
#include "sysc/datatypes/fx/sc_fxval_observer.h"
#include "sysc/datatypes/fx/sc_ufix.h"
#include "sysc/datatypes/fx/sc_ufixed.h"
#include "sysc/datatypes/fx/scfx_ieee.h"
#include "sysc/datatypes/fx/scfx_mant.h"
#include "sysc/datatypes/fx/scfx_other_defs.h"
#include "sysc/datatypes/fx/scfx_params.h"
#include "sysc/datatypes/fx/scfx_pow10.h"
#include "sysc/datatypes/fx/scfx_rep.h"
#include "sysc/datatypes/fx/scfx_string.h"
#include "sysc/datatypes/fx/scfx_utils.h"
#include "sysc/datatypes/int/sc_bigint.h"
#include "sysc/datatypes/int/sc_biguint.h"
#include "sysc/datatypes/int/sc_int.h"
#include "sysc/datatypes/int/sc_int_base.h"
#include "sysc/datatypes/int/sc_int_ids.h"
#include "sysc/datatypes/int/sc_length_param.h"
#include "sysc/datatypes/int/sc_nbdefs.h"
#include "sysc/datatypes/int/sc_nbexterns.h"
#include "sysc/datatypes/int/sc_nbutils.h"
#include "sysc/datatypes/int/sc_signed.h"
#include "sysc/datatypes/int/sc_uint.h"
#include "sysc/datatypes/int/sc_uint_base.h"
#include "sysc/datatypes/int/sc_unsigned.h"
#include "sysc/datatypes/misc/sc_concatref.h"
#include "sysc/datatypes/misc/sc_value_base.h"
#include "sysc/kernel/sc_attribute.h"
#include "sysc/kernel/sc_cmnhdr.h"
#include "sysc/kernel/sc_constants.h"
#include "sysc/kernel/sc_cor.h"
#include "sysc/kernel/sc_cor_fiber.h"
#include "sysc/kernel/sc_cor_pthread.h"
#include "sysc/kernel/sc_cor_qt.h"
#include "sysc/kernel/sc_cthread_process.h"
#include "sysc/kernel/sc_dynamic_processes.h"
#include "sysc/kernel/sc_event.h"
#include "sysc/kernel/sc_except.h"
#include "sysc/kernel/sc_externs.h"
#include "sysc/kernel/sc_join.h"
#include "sysc/kernel/sc_kernel_ids.h"
#include "sysc/kernel/sc_macros.h"
#include "sysc/kernel/sc_method_process.h"
#include "sysc/kernel/sc_module.h"
#include "sysc/kernel/sc_module_name.h"
#include "sysc/kernel/sc_module_registry.h"
#include "sysc/kernel/sc_name_gen.h"
#include "sysc/kernel/sc_object.h"
#include "sysc/kernel/sc_object_int.h"
#include "sysc/kernel/sc_object_manager.h"
#include "sysc/kernel/sc_phase_callback_registry.h"
#include "sysc/kernel/sc_process.h"
#include "sysc/kernel/sc_process_handle.h"
#include "sysc/kernel/sc_reset.h"
#include "sysc/kernel/sc_runnable.h"
#include "sysc/kernel/sc_runnable_int.h"
#include "sysc/kernel/sc_sensitive.h"
#include "sysc/kernel/sc_simcontext.h"
#include "sysc/kernel/sc_simcontext_int.h"
#include "sysc/kernel/sc_spawn.h"
#include "sysc/kernel/sc_spawn_options.h"
#include "sysc/kernel/sc_status.h"
#include "sysc/kernel/sc_thread_process.h"
#include "sysc/kernel/sc_time.h"
#include "sysc/kernel/sc_ver.h"
#include "sysc/kernel/sc_wait.h"
#include "sysc/kernel/sc_wait_cthread.h"
#include "sysc/packages/boost/bind.hpp"
#include "sysc/packages/boost/bind/apply.hpp"
#include "sysc/packages/boost/bind/arg.hpp"
#include "sysc/packages/boost/bind/bind_cc.hpp"
#include "sysc/packages/boost/bind/bind_mf_cc.hpp"
#include "sysc/packages/boost/bind/bind_template.hpp"
#include "sysc/packages/boost/bind/make_adaptable.hpp"
#include "sysc/packages/boost/bind/mem_fn_cc.hpp"
#include "sysc/packages/boost/bind/mem_fn_template.hpp"
#include "sysc/packages/boost/bind/mem_fn_vw.hpp"
#include "sysc/packages/boost/bind/placeholders.hpp"
#include "sysc/packages/boost/bind/protect.hpp"
#include "sysc/packages/boost/config.hpp"
#include "sysc/packages/boost/config/compiler/borland.hpp"
#include "sysc/packages/boost/config/compiler/comeau.hpp"
#include "sysc/packages/boost/config/compiler/common_edg.hpp"
#include "sysc/packages/boost/config/compiler/compaq_cxx.hpp"
#include "sysc/packages/boost/config/compiler/digitalmars.hpp"
#include "sysc/packages/boost/config/compiler/gcc.hpp"
#include "sysc/packages/boost/config/compiler/greenhills.hpp"
#include "sysc/packages/boost/config/compiler/hp_acc.hpp"
#include "sysc/packages/boost/config/compiler/intel.hpp"
#include "sysc/packages/boost/config/compiler/kai.hpp"
#include "sysc/packages/boost/config/compiler/metrowerks.hpp"
#include "sysc/packages/boost/config/compiler/mpw.hpp"
#include "sysc/packages/boost/config/compiler/sgi_mipspro.hpp"
#include "sysc/packages/boost/config/compiler/sunpro_cc.hpp"
#include "sysc/packages/boost/config/compiler/vacpp.hpp"
#include "sysc/packages/boost/config/compiler/visualc.hpp"
#include "sysc/packages/boost/config/platform/aix.hpp"
#include "sysc/packages/boost/config/platform/amigaos.hpp"
#include "sysc/packages/boost/config/platform/beos.hpp"
#include "sysc/packages/boost/config/platform/bsd.hpp"
#include "sysc/packages/boost/config/platform/cygwin.hpp"
#include "sysc/packages/boost/config/platform/hpux.hpp"
#include "sysc/packages/boost/config/platform/irix.hpp"
#include "sysc/packages/boost/config/platform/linux.hpp"
#include "sysc/packages/boost/config/platform/macos.hpp"
#include "sysc/packages/boost/config/platform/solaris.hpp"
#include "sysc/packages/boost/config/platform/win32.hpp"
#include "sysc/packages/boost/config/posix_features.hpp"
#include "sysc/packages/boost/config/select_compiler_config.hpp"
#include "sysc/packages/boost/config/select_platform_config.hpp"
#include "sysc/packages/boost/config/select_stdlib_config.hpp"
#include "sysc/packages/boost/config/stdlib/dinkumware.hpp"
#include "sysc/packages/boost/config/stdlib/libcomo.hpp"
#include "sysc/packages/boost/config/stdlib/libstdcpp3.hpp"
#include "sysc/packages/boost/config/stdlib/modena.hpp"
#include "sysc/packages/boost/config/stdlib/msl.hpp"
#include "sysc/packages/boost/config/stdlib/roguewave.hpp"
#include "sysc/packages/boost/config/stdlib/sgi.hpp"
#include "sysc/packages/boost/config/stdlib/stlport.hpp"
#include "sysc/packages/boost/config/stdlib/vacpp.hpp"
#include "sysc/packages/boost/config/suffix.hpp"
#include "sysc/packages/boost/config/user.hpp"
#include "sysc/packages/boost/detail/endian.hpp"
#include "sysc/packages/boost/detail/workaround.hpp"
#include "sysc/packages/boost/get_pointer.hpp"
#include "sysc/packages/boost/mem_fn.hpp"
#include "sysc/packages/boost/mpl/aux_/adl_barrier.hpp"
#include "sysc/packages/boost/mpl/aux_/config/adl.hpp"
#include "sysc/packages/boost/mpl/aux_/config/gcc.hpp"
#include "sysc/packages/boost/mpl/aux_/config/intel.hpp"
#include "sysc/packages/boost/mpl/aux_/config/msvc.hpp"
#include "sysc/packages/boost/mpl/aux_/config/static_constant.hpp"
#include "sysc/packages/boost/mpl/aux_/config/workaround.hpp"
#include "sysc/packages/boost/mpl/bool.hpp"
#include "sysc/packages/boost/mpl/bool_fwd.hpp"
#include "sysc/packages/boost/mpl/integral_c_tag.hpp"
#include "sysc/packages/boost/non_type.hpp"
#include "sysc/packages/boost/ref.hpp"
#include "sysc/packages/boost/type.hpp"
#include "sysc/packages/boost/utility/addressof.hpp"
#include "sysc/packages/boost/utility/enable_if.hpp"
#include "sysc/packages/boost/utility/string_view.hpp"
#include "sysc/packages/boost/utility/string_view_fwd.hpp"
#include "sysc/packages/qt/b.h"
#include "sysc/packages/qt/copyright.h"
#include "sysc/packages/qt/md/aarch64.h"
#include "sysc/packages/qt/md/axp.h"
#include "sysc/packages/qt/md/hppa.h"
#include "sysc/packages/qt/md/i386.h"
#include "sysc/packages/qt/md/iX86_64.h"
#include "sysc/packages/qt/md/ksr1.h"
#include "sysc/packages/qt/md/m88k.h"
#include "sysc/packages/qt/md/mips.h"
#include "sysc/packages/qt/md/powerpc_mach.h"
#include "sysc/packages/qt/md/powerpc_sys5.h"
#include "sysc/packages/qt/md/sparc.h"
#include "sysc/packages/qt/md/vax.h"
#include "sysc/packages/qt/qt.h"
#include "sysc/packages/qt/qtmd.h"
#include "sysc/packages/qt/stp.h"
#include "sysc/tracing/sc_trace.h"
#include "sysc/tracing/sc_trace_file_base.h"
#include "sysc/tracing/sc_tracing_ids.h"
#include "sysc/tracing/sc_vcd_trace.h"
#include "sysc/tracing/sc_wif_trace.h"
#include "sysc/utils/sc_hash.h"
#include "sysc/utils/sc_list.h"
#include "sysc/utils/sc_machine.h"
#include "sysc/utils/sc_mempool.h"
#include "sysc/utils/sc_pq.h"
#include "sysc/utils/sc_pvector.h"
#include "sysc/utils/sc_report.h"
#include "sysc/utils/sc_report_handler.h"
#include "sysc/utils/sc_stop_here.h"
#include "sysc/utils/sc_string.h"
#include "sysc/utils/sc_string_view.h"
#include "sysc/utils/sc_temporary.h"
#include "sysc/utils/sc_typeindex.h"
#include "sysc/utils/sc_utils_ids.h"
#include "sysc/utils/sc_vector.h"
#include "systemc"
#include "systemc.h"
#include "tlm"
#include "tlm.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h"
#include "tlm_core/tlm_1/tlm_analysis/tlm_write_if.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_core_ifs.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_fifo_ifs.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_master_slave_ifs.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_tag.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/circular_buffer.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_peek.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_put_get.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_resize.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_req_rsp_channels/tlm_put_get_imp.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_req_rsp_channels/tlm_req_rsp_channels.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_ports/tlm_event_finder.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_ports/tlm_nonblocking_port.h"
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_req_rsp.h"
#include "tlm_core/tlm_2/tlm_2_interfaces/tlm_2_interfaces.h"
#include "tlm_core/tlm_2/tlm_2_interfaces/tlm_dmi.h"
#include "tlm_core/tlm_2/tlm_2_interfaces/tlm_fw_bw_ifs.h"
#include "tlm_core/tlm_2/tlm_generic_payload/tlm_array.h"
#include "tlm_core/tlm_2/tlm_generic_payload/tlm_endian_conv.h"
#include "tlm_core/tlm_2/tlm_generic_payload/tlm_generic_payload.h"
#include "tlm_core/tlm_2/tlm_generic_payload/tlm_gp.h"
#include "tlm_core/tlm_2/tlm_generic_payload/tlm_helpers.h"
#include "tlm_core/tlm_2/tlm_generic_payload/tlm_phase.h"
#include "tlm_core/tlm_2/tlm_quantum/tlm_global_quantum.h"
#include "tlm_core/tlm_2/tlm_quantum/tlm_quantum.h"
#include "tlm_core/tlm_2/tlm_sockets/tlm_base_socket_if.h"
#include "tlm_core/tlm_2/tlm_sockets/tlm_initiator_socket.h"
#include "tlm_core/tlm_2/tlm_sockets/tlm_sockets.h"
#include "tlm_core/tlm_2/tlm_sockets/tlm_target_socket.h"
#include "tlm_core/tlm_2/tlm_version.h"
#include "tlm_utils/convenience_socket_bases.h"
#include "tlm_utils/instance_specific_extensions.h"
#include "tlm_utils/instance_specific_extensions_int.h"
#include "tlm_utils/multi_passthrough_initiator_socket.h"
#include "tlm_utils/multi_passthrough_target_socket.h"
#include "tlm_utils/multi_socket_bases.h"
#include "tlm_utils/passthrough_target_socket.h"
#include "tlm_utils/peq_with_cb_and_phase.h"
#include "tlm_utils/peq_with_get.h"
#include "tlm_utils/simple_initiator_socket.h"
#include "tlm_utils/simple_target_socket.h"
#include "tlm_utils/tlm_quantumkeeper.h"