systemc 3.0.2.0__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. systemc/__init__.py +12 -0
  2. systemc/__main__.py +4 -0
  3. systemc/cli.py +107 -0
  4. systemc/include/sysc/communication/sc_buffer.h +192 -0
  5. systemc/include/sysc/communication/sc_clock.h +251 -0
  6. systemc/include/sysc/communication/sc_clock_ports.h +72 -0
  7. systemc/include/sysc/communication/sc_communication_ids.h +166 -0
  8. systemc/include/sysc/communication/sc_event_finder.h +203 -0
  9. systemc/include/sysc/communication/sc_event_queue.h +181 -0
  10. systemc/include/sysc/communication/sc_export.h +296 -0
  11. systemc/include/sysc/communication/sc_fifo.h +481 -0
  12. systemc/include/sysc/communication/sc_fifo_ifs.h +209 -0
  13. systemc/include/sysc/communication/sc_fifo_ports.h +318 -0
  14. systemc/include/sysc/communication/sc_host_mutex.h +110 -0
  15. systemc/include/sysc/communication/sc_host_semaphore.h +106 -0
  16. systemc/include/sysc/communication/sc_interface.h +98 -0
  17. systemc/include/sysc/communication/sc_mutex.h +124 -0
  18. systemc/include/sysc/communication/sc_mutex_if.h +146 -0
  19. systemc/include/sysc/communication/sc_port.h +750 -0
  20. systemc/include/sysc/communication/sc_prim_channel.h +447 -0
  21. systemc/include/sysc/communication/sc_semaphore.h +133 -0
  22. systemc/include/sysc/communication/sc_semaphore_if.h +100 -0
  23. systemc/include/sysc/communication/sc_signal.h +673 -0
  24. systemc/include/sysc/communication/sc_signal_ifs.h +306 -0
  25. systemc/include/sysc/communication/sc_signal_ports.h +1873 -0
  26. systemc/include/sysc/communication/sc_signal_resolved.h +158 -0
  27. systemc/include/sysc/communication/sc_signal_resolved_ports.h +327 -0
  28. systemc/include/sysc/communication/sc_signal_rv.h +257 -0
  29. systemc/include/sysc/communication/sc_signal_rv_ports.h +375 -0
  30. systemc/include/sysc/communication/sc_stub.h +243 -0
  31. systemc/include/sysc/communication/sc_writer_policy.h +155 -0
  32. systemc/include/sysc/datatypes/bit/sc_bit.h +407 -0
  33. systemc/include/sysc/datatypes/bit/sc_bit_ids.h +106 -0
  34. systemc/include/sysc/datatypes/bit/sc_bit_proxies.h +3930 -0
  35. systemc/include/sysc/datatypes/bit/sc_bv.h +216 -0
  36. systemc/include/sysc/datatypes/bit/sc_bv_base.h +278 -0
  37. systemc/include/sysc/datatypes/bit/sc_logic.h +388 -0
  38. systemc/include/sysc/datatypes/bit/sc_lv.h +218 -0
  39. systemc/include/sysc/datatypes/bit/sc_lv_base.h +1893 -0
  40. systemc/include/sysc/datatypes/bit/sc_proxy.h +1549 -0
  41. systemc/include/sysc/datatypes/fx/fx.h +61 -0
  42. systemc/include/sysc/datatypes/fx/sc_context.h +318 -0
  43. systemc/include/sysc/datatypes/fx/sc_fix.h +1914 -0
  44. systemc/include/sysc/datatypes/fx/sc_fixed.h +636 -0
  45. systemc/include/sysc/datatypes/fx/sc_fx_ids.h +96 -0
  46. systemc/include/sysc/datatypes/fx/sc_fxcast_switch.h +184 -0
  47. systemc/include/sysc/datatypes/fx/sc_fxdefs.h +310 -0
  48. systemc/include/sysc/datatypes/fx/sc_fxnum.h +5146 -0
  49. systemc/include/sysc/datatypes/fx/sc_fxnum_observer.h +219 -0
  50. systemc/include/sysc/datatypes/fx/sc_fxtype_params.h +352 -0
  51. systemc/include/sysc/datatypes/fx/sc_fxval.h +2200 -0
  52. systemc/include/sysc/datatypes/fx/sc_fxval_observer.h +223 -0
  53. systemc/include/sysc/datatypes/fx/sc_ufix.h +1917 -0
  54. systemc/include/sysc/datatypes/fx/sc_ufixed.h +636 -0
  55. systemc/include/sysc/datatypes/fx/scfx_ieee.h +680 -0
  56. systemc/include/sysc/datatypes/fx/scfx_mant.h +490 -0
  57. systemc/include/sysc/datatypes/fx/scfx_other_defs.h +364 -0
  58. systemc/include/sysc/datatypes/fx/scfx_params.h +223 -0
  59. systemc/include/sysc/datatypes/fx/scfx_pow10.h +95 -0
  60. systemc/include/sysc/datatypes/fx/scfx_rep.h +843 -0
  61. systemc/include/sysc/datatypes/fx/scfx_string.h +232 -0
  62. systemc/include/sysc/datatypes/fx/scfx_utils.h +534 -0
  63. systemc/include/sysc/datatypes/int/sc_big_ops.h +925 -0
  64. systemc/include/sysc/datatypes/int/sc_bigint.h +713 -0
  65. systemc/include/sysc/datatypes/int/sc_bigint_inlines.h +558 -0
  66. systemc/include/sysc/datatypes/int/sc_biguint.h +721 -0
  67. systemc/include/sysc/datatypes/int/sc_biguint_inlines.h +551 -0
  68. systemc/include/sysc/datatypes/int/sc_int.h +338 -0
  69. systemc/include/sysc/datatypes/int/sc_int_base.h +1393 -0
  70. systemc/include/sysc/datatypes/int/sc_int_ids.h +80 -0
  71. systemc/include/sysc/datatypes/int/sc_int_inlines.h +85 -0
  72. systemc/include/sysc/datatypes/int/sc_length_param.h +213 -0
  73. systemc/include/sysc/datatypes/int/sc_nbdefs.h +528 -0
  74. systemc/include/sysc/datatypes/int/sc_nbutils.h +336 -0
  75. systemc/include/sysc/datatypes/int/sc_signed.h +1663 -0
  76. systemc/include/sysc/datatypes/int/sc_signed_friends.h +496 -0
  77. systemc/include/sysc/datatypes/int/sc_signed_inlines.h +465 -0
  78. systemc/include/sysc/datatypes/int/sc_signed_ops.h +1557 -0
  79. systemc/include/sysc/datatypes/int/sc_uint.h +343 -0
  80. systemc/include/sysc/datatypes/int/sc_uint_base.h +1353 -0
  81. systemc/include/sysc/datatypes/int/sc_uint_inlines.h +85 -0
  82. systemc/include/sysc/datatypes/int/sc_unsigned.h +1702 -0
  83. systemc/include/sysc/datatypes/int/sc_unsigned_friends.h +370 -0
  84. systemc/include/sysc/datatypes/int/sc_unsigned_inlines.h +458 -0
  85. systemc/include/sysc/datatypes/int/sc_vector_utils.h +2718 -0
  86. systemc/include/sysc/datatypes/misc/sc_concatref.h +856 -0
  87. systemc/include/sysc/datatypes/misc/sc_value_base.h +129 -0
  88. systemc/include/sysc/kernel/sc_attribute.h +220 -0
  89. systemc/include/sysc/kernel/sc_cmnhdr.h +206 -0
  90. systemc/include/sysc/kernel/sc_constants.h +74 -0
  91. systemc/include/sysc/kernel/sc_cor.h +157 -0
  92. systemc/include/sysc/kernel/sc_cor_fiber.h +172 -0
  93. systemc/include/sysc/kernel/sc_cor_pthread.h +159 -0
  94. systemc/include/sysc/kernel/sc_cor_qt.h +151 -0
  95. systemc/include/sysc/kernel/sc_cor_std_thread.h +143 -0
  96. systemc/include/sysc/kernel/sc_cthread_process.h +141 -0
  97. systemc/include/sysc/kernel/sc_dynamic_processes.h +105 -0
  98. systemc/include/sysc/kernel/sc_event.h +926 -0
  99. systemc/include/sysc/kernel/sc_except.h +188 -0
  100. systemc/include/sysc/kernel/sc_externs.h +65 -0
  101. systemc/include/sysc/kernel/sc_initializer_function.h +107 -0
  102. systemc/include/sysc/kernel/sc_join.h +140 -0
  103. systemc/include/sysc/kernel/sc_kernel_ids.h +332 -0
  104. systemc/include/sysc/kernel/sc_macros.h +164 -0
  105. systemc/include/sysc/kernel/sc_method_process.h +468 -0
  106. systemc/include/sysc/kernel/sc_module.h +599 -0
  107. systemc/include/sysc/kernel/sc_module_name.h +159 -0
  108. systemc/include/sysc/kernel/sc_module_registry.h +124 -0
  109. systemc/include/sysc/kernel/sc_name_gen.h +90 -0
  110. systemc/include/sysc/kernel/sc_object.h +338 -0
  111. systemc/include/sysc/kernel/sc_object_int.h +93 -0
  112. systemc/include/sysc/kernel/sc_object_manager.h +152 -0
  113. systemc/include/sysc/kernel/sc_process.h +853 -0
  114. systemc/include/sysc/kernel/sc_process_handle.h +627 -0
  115. systemc/include/sysc/kernel/sc_reset.h +205 -0
  116. systemc/include/sysc/kernel/sc_runnable.h +155 -0
  117. systemc/include/sysc/kernel/sc_runnable_int.h +586 -0
  118. systemc/include/sysc/kernel/sc_sensitive.h +316 -0
  119. systemc/include/sysc/kernel/sc_simcontext.h +1120 -0
  120. systemc/include/sysc/kernel/sc_simcontext_int.h +358 -0
  121. systemc/include/sysc/kernel/sc_spawn.h +272 -0
  122. systemc/include/sysc/kernel/sc_spawn_options.h +171 -0
  123. systemc/include/sysc/kernel/sc_stage_callback_if.h +85 -0
  124. systemc/include/sysc/kernel/sc_stage_callback_registry.h +244 -0
  125. systemc/include/sysc/kernel/sc_status.h +75 -0
  126. systemc/include/sysc/kernel/sc_thread_process.h +645 -0
  127. systemc/include/sysc/kernel/sc_time.h +510 -0
  128. systemc/include/sysc/kernel/sc_ver.h +198 -0
  129. systemc/include/sysc/kernel/sc_wait.h +277 -0
  130. systemc/include/sysc/kernel/sc_wait_cthread.h +127 -0
  131. systemc/include/sysc/packages/qt/b.h +11 -0
  132. systemc/include/sysc/packages/qt/copyright.h +12 -0
  133. systemc/include/sysc/packages/qt/md/aarch64.h +46 -0
  134. systemc/include/sysc/packages/qt/md/axp.h +160 -0
  135. systemc/include/sysc/packages/qt/md/hppa.h +196 -0
  136. systemc/include/sysc/packages/qt/md/i386.h +132 -0
  137. systemc/include/sysc/packages/qt/md/iX86_64.h +140 -0
  138. systemc/include/sysc/packages/qt/md/ksr1.h +164 -0
  139. systemc/include/sysc/packages/qt/md/m88k.h +159 -0
  140. systemc/include/sysc/packages/qt/md/mips.h +134 -0
  141. systemc/include/sysc/packages/qt/md/powerpc_mach.h +611 -0
  142. systemc/include/sysc/packages/qt/md/powerpc_sys5.h +566 -0
  143. systemc/include/sysc/packages/qt/md/riscv64.h +45 -0
  144. systemc/include/sysc/packages/qt/md/sparc.h +140 -0
  145. systemc/include/sysc/packages/qt/md/vax.h +130 -0
  146. systemc/include/sysc/packages/qt/qt.h +196 -0
  147. systemc/include/sysc/packages/qt/qtmd.h +19 -0
  148. systemc/include/sysc/packages/qt/stp.h +51 -0
  149. systemc/include/sysc/tracing/sc_trace.h +368 -0
  150. systemc/include/sysc/tracing/sc_trace_file_base.h +154 -0
  151. systemc/include/sysc/tracing/sc_tracing_ids.h +85 -0
  152. systemc/include/sysc/tracing/sc_vcd_trace.h +240 -0
  153. systemc/include/sysc/tracing/sc_wif_trace.h +222 -0
  154. systemc/include/sysc/utils/sc_hash.h +461 -0
  155. systemc/include/sysc/utils/sc_iostream.h +56 -0
  156. systemc/include/sysc/utils/sc_list.h +190 -0
  157. systemc/include/sysc/utils/sc_machine.h +82 -0
  158. systemc/include/sysc/utils/sc_mempool.h +90 -0
  159. systemc/include/sysc/utils/sc_pq.h +154 -0
  160. systemc/include/sysc/utils/sc_ptr_flag.h +85 -0
  161. systemc/include/sysc/utils/sc_pvector.h +187 -0
  162. systemc/include/sysc/utils/sc_report.h +318 -0
  163. systemc/include/sysc/utils/sc_report_handler.h +210 -0
  164. systemc/include/sysc/utils/sc_stop_here.h +82 -0
  165. systemc/include/sysc/utils/sc_string.h +137 -0
  166. systemc/include/sysc/utils/sc_string_view.h +110 -0
  167. systemc/include/sysc/utils/sc_temporary.h +141 -0
  168. systemc/include/sysc/utils/sc_utils_ids.h +114 -0
  169. systemc/include/sysc/utils/sc_vector.h +817 -0
  170. systemc/include/systemc +142 -0
  171. systemc/include/systemc.h +300 -0
  172. systemc/include/tlm +33 -0
  173. systemc/include/tlm.h +22 -0
  174. systemc/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h +33 -0
  175. systemc/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h +54 -0
  176. systemc/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h +39 -0
  177. systemc/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h +84 -0
  178. systemc/include/tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h +53 -0
  179. systemc/include/tlm_core/tlm_1/tlm_analysis/tlm_write_if.h +42 -0
  180. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_core_ifs.h +149 -0
  181. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_fifo_ifs.h +90 -0
  182. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_master_slave_ifs.h +73 -0
  183. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_tag.h +31 -0
  184. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h +103 -0
  185. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/circular_buffer.h +268 -0
  186. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h +263 -0
  187. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_peek.h +98 -0
  188. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_put_get.h +140 -0
  189. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_resize.h +93 -0
  190. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_req_rsp_channels/tlm_put_get_imp.h +114 -0
  191. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_req_rsp_channels/tlm_req_rsp_channels.h +155 -0
  192. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_ports/tlm_event_finder.h +76 -0
  193. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_ports/tlm_nonblocking_port.h +91 -0
  194. systemc/include/tlm_core/tlm_1/tlm_req_rsp/tlm_req_rsp.h +37 -0
  195. systemc/include/tlm_core/tlm_2/tlm_2_interfaces/tlm_2_interfaces.h +27 -0
  196. systemc/include/tlm_core/tlm_2/tlm_2_interfaces/tlm_dmi.h +114 -0
  197. systemc/include/tlm_core/tlm_2/tlm_2_interfaces/tlm_fw_bw_ifs.h +229 -0
  198. systemc/include/tlm_core/tlm_2/tlm_generic_payload/tlm_array.h +126 -0
  199. systemc/include/tlm_core/tlm_2/tlm_generic_payload/tlm_endian_conv.h +792 -0
  200. systemc/include/tlm_core/tlm_2/tlm_generic_payload/tlm_generic_payload.h +29 -0
  201. systemc/include/tlm_core/tlm_2/tlm_generic_payload/tlm_gp.h +402 -0
  202. systemc/include/tlm_core/tlm_2/tlm_generic_payload/tlm_helpers.h +80 -0
  203. systemc/include/tlm_core/tlm_2/tlm_generic_payload/tlm_phase.h +106 -0
  204. systemc/include/tlm_core/tlm_2/tlm_quantum/tlm_global_quantum.h +82 -0
  205. systemc/include/tlm_core/tlm_2/tlm_quantum/tlm_quantum.h +25 -0
  206. systemc/include/tlm_core/tlm_2/tlm_sockets/tlm_base_socket_if.h +69 -0
  207. systemc/include/tlm_core/tlm_2/tlm_sockets/tlm_initiator_socket.h +228 -0
  208. systemc/include/tlm_core/tlm_2/tlm_sockets/tlm_sockets.h +26 -0
  209. systemc/include/tlm_core/tlm_2/tlm_sockets/tlm_target_socket.h +280 -0
  210. systemc/include/tlm_core/tlm_2/tlm_version.h +180 -0
  211. systemc/include/tlm_utils/convenience_socket_bases.h +77 -0
  212. systemc/include/tlm_utils/instance_specific_extensions.h +124 -0
  213. systemc/include/tlm_utils/instance_specific_extensions_int.h +174 -0
  214. systemc/include/tlm_utils/multi_passthrough_initiator_socket.h +299 -0
  215. systemc/include/tlm_utils/multi_passthrough_target_socket.h +342 -0
  216. systemc/include/tlm_utils/multi_socket_bases.h +440 -0
  217. systemc/include/tlm_utils/passthrough_target_socket.h +477 -0
  218. systemc/include/tlm_utils/peq_with_cb_and_phase.h +297 -0
  219. systemc/include/tlm_utils/peq_with_get.h +94 -0
  220. systemc/include/tlm_utils/simple_initiator_socket.h +316 -0
  221. systemc/include/tlm_utils/simple_target_socket.h +1130 -0
  222. systemc/include/tlm_utils/tlm_quantumkeeper.h +172 -0
  223. systemc/tests/__init__.py +0 -0
  224. systemc/tests/conftest.py +0 -0
  225. systemc/tests/test_all.py +5 -0
  226. systemc/tests/test_e2e.py +17 -0
  227. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_buffer.h +192 -0
  228. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_clock.h +251 -0
  229. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_clock_ports.h +72 -0
  230. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_communication_ids.h +166 -0
  231. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_event_finder.h +203 -0
  232. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_event_queue.h +181 -0
  233. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_export.h +296 -0
  234. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_fifo.h +481 -0
  235. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_fifo_ifs.h +209 -0
  236. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_fifo_ports.h +318 -0
  237. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_host_mutex.h +110 -0
  238. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_host_semaphore.h +106 -0
  239. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_interface.h +98 -0
  240. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_mutex.h +124 -0
  241. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_mutex_if.h +146 -0
  242. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_port.h +750 -0
  243. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_prim_channel.h +447 -0
  244. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_semaphore.h +133 -0
  245. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_semaphore_if.h +100 -0
  246. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_signal.h +673 -0
  247. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_signal_ifs.h +306 -0
  248. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_signal_ports.h +1873 -0
  249. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_signal_resolved.h +158 -0
  250. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_signal_resolved_ports.h +327 -0
  251. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_signal_rv.h +257 -0
  252. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_signal_rv_ports.h +375 -0
  253. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_stub.h +243 -0
  254. systemc-3.0.2.0.data/data/include/systemc/sysc/communication/sc_writer_policy.h +155 -0
  255. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/bit/sc_bit.h +407 -0
  256. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/bit/sc_bit_ids.h +106 -0
  257. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/bit/sc_bit_proxies.h +3930 -0
  258. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/bit/sc_bv.h +216 -0
  259. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/bit/sc_bv_base.h +278 -0
  260. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/bit/sc_logic.h +388 -0
  261. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/bit/sc_lv.h +218 -0
  262. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/bit/sc_lv_base.h +1893 -0
  263. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/bit/sc_proxy.h +1549 -0
  264. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/fx.h +61 -0
  265. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_context.h +318 -0
  266. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fix.h +1914 -0
  267. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fixed.h +636 -0
  268. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fx_ids.h +96 -0
  269. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fxcast_switch.h +184 -0
  270. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fxdefs.h +310 -0
  271. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fxnum.h +5146 -0
  272. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fxnum_observer.h +219 -0
  273. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fxtype_params.h +352 -0
  274. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fxval.h +2200 -0
  275. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_fxval_observer.h +223 -0
  276. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_ufix.h +1917 -0
  277. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/sc_ufixed.h +636 -0
  278. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/scfx_ieee.h +680 -0
  279. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/scfx_mant.h +490 -0
  280. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/scfx_other_defs.h +364 -0
  281. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/scfx_params.h +223 -0
  282. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/scfx_pow10.h +95 -0
  283. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/scfx_rep.h +843 -0
  284. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/scfx_string.h +232 -0
  285. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/fx/scfx_utils.h +534 -0
  286. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_big_ops.h +925 -0
  287. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_bigint.h +713 -0
  288. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_bigint_inlines.h +558 -0
  289. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_biguint.h +721 -0
  290. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_biguint_inlines.h +551 -0
  291. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_int.h +338 -0
  292. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_int_base.h +1393 -0
  293. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_int_ids.h +80 -0
  294. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_int_inlines.h +85 -0
  295. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_length_param.h +213 -0
  296. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_nbdefs.h +528 -0
  297. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_nbutils.h +336 -0
  298. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_signed.h +1663 -0
  299. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_signed_friends.h +496 -0
  300. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_signed_inlines.h +465 -0
  301. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_signed_ops.h +1557 -0
  302. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_uint.h +343 -0
  303. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_uint_base.h +1353 -0
  304. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_uint_inlines.h +85 -0
  305. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_unsigned.h +1702 -0
  306. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_unsigned_friends.h +370 -0
  307. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_unsigned_inlines.h +458 -0
  308. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/int/sc_vector_utils.h +2718 -0
  309. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/misc/sc_concatref.h +856 -0
  310. systemc-3.0.2.0.data/data/include/systemc/sysc/datatypes/misc/sc_value_base.h +129 -0
  311. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_attribute.h +220 -0
  312. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_cmnhdr.h +206 -0
  313. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_constants.h +74 -0
  314. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_cor.h +157 -0
  315. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_cor_fiber.h +172 -0
  316. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_cor_pthread.h +159 -0
  317. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_cor_qt.h +151 -0
  318. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_cor_std_thread.h +143 -0
  319. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_cthread_process.h +141 -0
  320. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_dynamic_processes.h +105 -0
  321. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_event.h +926 -0
  322. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_except.h +188 -0
  323. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_externs.h +65 -0
  324. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_initializer_function.h +107 -0
  325. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_join.h +140 -0
  326. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_kernel_ids.h +332 -0
  327. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_macros.h +164 -0
  328. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_method_process.h +468 -0
  329. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_module.h +599 -0
  330. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_module_name.h +159 -0
  331. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_module_registry.h +124 -0
  332. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_name_gen.h +90 -0
  333. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_object.h +338 -0
  334. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_object_int.h +93 -0
  335. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_object_manager.h +152 -0
  336. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_process.h +853 -0
  337. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_process_handle.h +627 -0
  338. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_reset.h +205 -0
  339. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_runnable.h +155 -0
  340. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_runnable_int.h +586 -0
  341. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_sensitive.h +316 -0
  342. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_simcontext.h +1120 -0
  343. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_simcontext_int.h +358 -0
  344. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_spawn.h +272 -0
  345. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_spawn_options.h +171 -0
  346. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_stage_callback_if.h +85 -0
  347. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_stage_callback_registry.h +244 -0
  348. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_status.h +75 -0
  349. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_thread_process.h +645 -0
  350. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_time.h +510 -0
  351. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_ver.h +198 -0
  352. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_wait.h +277 -0
  353. systemc-3.0.2.0.data/data/include/systemc/sysc/kernel/sc_wait_cthread.h +127 -0
  354. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/b.h +11 -0
  355. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/copyright.h +12 -0
  356. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/aarch64.h +46 -0
  357. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/axp.h +160 -0
  358. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/hppa.h +196 -0
  359. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/i386.h +132 -0
  360. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/iX86_64.h +140 -0
  361. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/ksr1.h +164 -0
  362. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/m88k.h +159 -0
  363. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/mips.h +134 -0
  364. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/powerpc_mach.h +611 -0
  365. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/powerpc_sys5.h +566 -0
  366. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/riscv64.h +45 -0
  367. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/sparc.h +140 -0
  368. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/md/vax.h +130 -0
  369. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/qt.h +196 -0
  370. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/qtmd.h +19 -0
  371. systemc-3.0.2.0.data/data/include/systemc/sysc/packages/qt/stp.h +51 -0
  372. systemc-3.0.2.0.data/data/include/systemc/sysc/tracing/sc_trace.h +368 -0
  373. systemc-3.0.2.0.data/data/include/systemc/sysc/tracing/sc_trace_file_base.h +154 -0
  374. systemc-3.0.2.0.data/data/include/systemc/sysc/tracing/sc_tracing_ids.h +85 -0
  375. systemc-3.0.2.0.data/data/include/systemc/sysc/tracing/sc_vcd_trace.h +240 -0
  376. systemc-3.0.2.0.data/data/include/systemc/sysc/tracing/sc_wif_trace.h +222 -0
  377. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_hash.h +461 -0
  378. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_iostream.h +56 -0
  379. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_list.h +190 -0
  380. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_machine.h +82 -0
  381. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_mempool.h +90 -0
  382. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_pq.h +154 -0
  383. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_ptr_flag.h +85 -0
  384. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_pvector.h +187 -0
  385. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_report.h +318 -0
  386. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_report_handler.h +210 -0
  387. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_stop_here.h +82 -0
  388. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_string.h +137 -0
  389. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_string_view.h +110 -0
  390. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_temporary.h +141 -0
  391. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_utils_ids.h +114 -0
  392. systemc-3.0.2.0.data/data/include/systemc/sysc/utils/sc_vector.h +817 -0
  393. systemc-3.0.2.0.data/data/include/systemc/systemc +142 -0
  394. systemc-3.0.2.0.data/data/include/systemc/systemc.h +300 -0
  395. systemc-3.0.2.0.data/data/include/systemc/tlm +33 -0
  396. systemc-3.0.2.0.data/data/include/systemc/tlm.h +22 -0
  397. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_analysis/tlm_analysis.h +33 -0
  398. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_analysis/tlm_analysis_fifo.h +54 -0
  399. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_analysis/tlm_analysis_if.h +39 -0
  400. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_analysis/tlm_analysis_port.h +84 -0
  401. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_analysis/tlm_analysis_triple.h +53 -0
  402. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_analysis/tlm_write_if.h +42 -0
  403. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_core_ifs.h +149 -0
  404. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_fifo_ifs.h +90 -0
  405. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_master_slave_ifs.h +73 -0
  406. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_tag.h +31 -0
  407. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h +103 -0
  408. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/circular_buffer.h +268 -0
  409. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h +263 -0
  410. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_peek.h +98 -0
  411. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_put_get.h +140 -0
  412. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo_resize.h +93 -0
  413. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_req_rsp_channels/tlm_put_get_imp.h +114 -0
  414. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_req_rsp_channels/tlm_req_rsp_channels.h +155 -0
  415. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_ports/tlm_event_finder.h +76 -0
  416. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_ports/tlm_nonblocking_port.h +91 -0
  417. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_1/tlm_req_rsp/tlm_req_rsp.h +37 -0
  418. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_2_interfaces/tlm_2_interfaces.h +27 -0
  419. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_2_interfaces/tlm_dmi.h +114 -0
  420. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_2_interfaces/tlm_fw_bw_ifs.h +229 -0
  421. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_generic_payload/tlm_array.h +126 -0
  422. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_generic_payload/tlm_endian_conv.h +792 -0
  423. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_generic_payload/tlm_generic_payload.h +29 -0
  424. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_generic_payload/tlm_gp.h +402 -0
  425. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_generic_payload/tlm_helpers.h +80 -0
  426. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_generic_payload/tlm_phase.h +106 -0
  427. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_quantum/tlm_global_quantum.h +82 -0
  428. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_quantum/tlm_quantum.h +25 -0
  429. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_sockets/tlm_base_socket_if.h +69 -0
  430. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_sockets/tlm_initiator_socket.h +228 -0
  431. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_sockets/tlm_sockets.h +26 -0
  432. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_sockets/tlm_target_socket.h +280 -0
  433. systemc-3.0.2.0.data/data/include/systemc/tlm_core/tlm_2/tlm_version.h +180 -0
  434. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/convenience_socket_bases.h +77 -0
  435. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/instance_specific_extensions.h +124 -0
  436. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/instance_specific_extensions_int.h +174 -0
  437. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/multi_passthrough_initiator_socket.h +299 -0
  438. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/multi_passthrough_target_socket.h +342 -0
  439. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/multi_socket_bases.h +440 -0
  440. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/passthrough_target_socket.h +477 -0
  441. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/peq_with_cb_and_phase.h +297 -0
  442. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/peq_with_get.h +94 -0
  443. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/simple_initiator_socket.h +316 -0
  444. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/simple_target_socket.h +1130 -0
  445. systemc-3.0.2.0.data/data/include/systemc/tlm_utils/tlm_quantumkeeper.h +172 -0
  446. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/AUTHORS.md +85 -0
  447. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/DEVELOPMENT.md +519 -0
  448. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/INSTALL.md +569 -0
  449. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/INSTALL_USING_AUTOTOOLS.md +521 -0
  450. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/LICENSE +202 -0
  451. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/NOTICE +104 -0
  452. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/README.md +96 -0
  453. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/RELEASENOTES.md +255 -0
  454. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/git_branches.svg +291 -0
  455. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/sysc/README +17 -0
  456. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/sysc/SIGN_EXTENSION.md +77 -0
  457. systemc-3.0.2.0.data/data/share/systemc/doc/systemc/tlm/tlm_README.md +69 -0
  458. systemc-3.0.2.0.dist-info/METADATA +60 -0
  459. systemc-3.0.2.0.dist-info/RECORD +462 -0
  460. systemc-3.0.2.0.dist-info/WHEEL +4 -0
  461. systemc-3.0.2.0.dist-info/entry_points.txt +2 -0
  462. systemc-3.0.2.0.dist-info/licenses/LICENSE +201 -0
systemc/__init__.py ADDED
@@ -0,0 +1,12 @@
1
+ import os
2
+
3
+
4
+ __version__ = "3.0.2.0"
5
+
6
+
7
+ def include_path():
8
+ return os.path.abspath(os.path.join(os.path.dirname(__file__), "include"))
9
+
10
+
11
+ def lib_path():
12
+ return os.path.abspath(os.path.join(os.path.dirname(__file__), "lib"))
systemc/__main__.py ADDED
@@ -0,0 +1,4 @@
1
+ from .cli import main
2
+
3
+ if __name__ == "__main__":
4
+ main()
systemc/cli.py ADDED
@@ -0,0 +1,107 @@
1
+ # from functools import lru_cache
2
+ # from os import environ, name
3
+ # from pathlib import Path
4
+ # from shutil import which
5
+ # from subprocess import Popen
6
+ # from sys import argv, exit, stderr, stdout
7
+ # from time import sleep
8
+ # from typing import List
9
+
10
+
11
+ # @lru_cache(maxsize=1)
12
+ # def _get_perl() -> str:
13
+ # perl_exe = which("perl")
14
+ # if not perl_exe:
15
+ # raise ModuleNotFoundError("Must have perl installed to use verilator!")
16
+ # return perl_exe
17
+
18
+
19
+ # @lru_cache(maxsize=1)
20
+ # def _get_verilator() -> str:
21
+ # verilator_exe = which("verilator")
22
+ # if not verilator_exe:
23
+ # verilator_root = Path(__file__).parent.resolve()
24
+ # verilator_exe = str((verilator_root / "bin" / "verilator").resolve())
25
+ # environ["VERILATOR_ROOT"] = str(verilator_root.as_posix())
26
+ # environ["CXXFLAGS"] = environ.get("CXXFLAGS", "--std=c++20 -DVL_TIME_CONTEXT")
27
+ # return verilator_exe
28
+
29
+
30
+ # def verilator(argv):
31
+ # build_cmd = [
32
+ # _get_verilator(),
33
+ # *argv,
34
+ # ]
35
+ # if name == "nt":
36
+ # # run perl explicitly
37
+ # build_cmd.insert(0, _get_perl())
38
+ # process = Popen(build_cmd, stderr=stderr, stdout=stdout)
39
+ # while process.poll() is None:
40
+ # sleep(0.1)
41
+ # if process.returncode != 0:
42
+ # raise exit(process.returncode)
43
+
44
+
45
+ # def build(
46
+ # input: List[str],
47
+ # output: str = "obj_dir",
48
+ # includes: List[str] = None,
49
+ # timing: bool = True,
50
+ # trace: bool = True,
51
+ # assert_: bool = True,
52
+ # cc: bool = True,
53
+ # build: bool = True,
54
+ # exe: str = None,
55
+ # top_module: str = None,
56
+ # ):
57
+ # """Utility to build a verilated module"""
58
+ # includes = includes or []
59
+ # args = [
60
+ # *input,
61
+ # *["-I" + _ for _ in includes],
62
+ # ]
63
+ # if timing:
64
+ # args.append("--timing")
65
+ # if trace:
66
+ # args.append("--trace")
67
+ # if assert_:
68
+ # args.append("--assert")
69
+ # if cc:
70
+ # args.append("--cc")
71
+ # if top_module:
72
+ # args.extend(["--top-module", top_module])
73
+ # if exe:
74
+ # args.extend(["--exe", exe])
75
+ # if build:
76
+ # args.extend(["--build", "-j", "0"])
77
+ # args.extend(["--Mdir", output])
78
+ # verilator(args)
79
+
80
+
81
+ # def binding():
82
+ # """Utility to build a python binding of a verilated module"""
83
+ # # TODO
84
+
85
+
86
+ # def main():
87
+ # try:
88
+ # from typer import Typer
89
+
90
+ # app = Typer()
91
+ # app.command("binding")(binding)
92
+ # app.command("build")(build)
93
+ # if len(argv) < 2 or argv[1] not in [_.name for _ in app.registered_commands]:
94
+ # return verilator(argv[1:])
95
+ # return app()
96
+ # except ImportError:
97
+ # pass
98
+ # return verilator(argv[1:])
99
+
100
+
101
+ def main():
102
+ # TODO
103
+ ...
104
+
105
+
106
+ # if __name__ == "__main__":
107
+ # main()
@@ -0,0 +1,192 @@
1
+ /*****************************************************************************
2
+
3
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4
+ more contributor license agreements. See the NOTICE file distributed
5
+ with this work for additional information regarding copyright ownership.
6
+ Accellera licenses this file to you under the Apache License, Version 2.0
7
+ (the "License"); you may not use this file except in compliance with the
8
+ License. You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
+ implied. See the License for the specific language governing
16
+ permissions and limitations under the License.
17
+
18
+ *****************************************************************************/
19
+
20
+ /*****************************************************************************
21
+
22
+ sc_buffer.h -- The sc_buffer<T> primitive channel class.
23
+ Like sc_signal<T>, but *every* write causes an event.
24
+
25
+ Original Author: Martin Janssen, Synopsys, Inc., 2001-05-21
26
+
27
+ CHANGE LOG IS AT THE END OF THE FILE
28
+ *****************************************************************************/
29
+
30
+ #ifndef SC_BUFFER_H
31
+ #define SC_BUFFER_H
32
+
33
+
34
+ #include "sysc/communication/sc_signal.h"
35
+
36
+ namespace sc_core {
37
+
38
+ // ----------------------------------------------------------------------------
39
+ // CLASS : sc_buffer<T>
40
+ //
41
+ // The sc_buffer<T> primitive channel class.
42
+ // ----------------------------------------------------------------------------
43
+
44
+ template< typename T, sc_writer_policy POL = SC_DEFAULT_WRITER_POLICY >
45
+ class sc_buffer
46
+ : public sc_signal<T,POL>
47
+ {
48
+ public:
49
+
50
+ // typedefs
51
+
52
+ typedef sc_buffer<T,POL> this_type;
53
+ typedef sc_signal<T,POL> base_type;
54
+ typedef T value_type;
55
+
56
+ public:
57
+
58
+ // constructors
59
+
60
+ sc_buffer()
61
+ : base_type( sc_gen_unique_name( "buffer" ) )
62
+ {}
63
+
64
+ explicit sc_buffer( const char* name_ )
65
+ : base_type( name_ )
66
+ {}
67
+
68
+ sc_buffer( const char* name_, const value_type& initial_value_ )
69
+ : base_type( name_, initial_value_ )
70
+ {}
71
+
72
+ // interface methods
73
+
74
+ // write the new value
75
+ virtual void write( const T& );
76
+
77
+
78
+ // other methods
79
+
80
+ virtual const char* kind() const
81
+ { return "sc_buffer"; }
82
+
83
+
84
+ // assignment
85
+ using base_type::operator=;
86
+ this_type& operator = ( const this_type& a )
87
+ { base_type::operator=(a); return *this; }
88
+
89
+ protected:
90
+
91
+ virtual void update();
92
+
93
+ private:
94
+
95
+ // disabled
96
+ sc_buffer( const this_type& );
97
+ };
98
+
99
+
100
+ // IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
101
+
102
+ // write the new value
103
+
104
+ template< typename T, sc_writer_policy POL >
105
+ inline
106
+ void
107
+ sc_buffer<T,POL>::write( const T& value_ )
108
+ {
109
+ if( !base_type::policy_type::check_write(this,true) )
110
+ return;
111
+
112
+ this->m_new_val = value_;
113
+ this->request_update();
114
+ }
115
+
116
+
117
+ template< typename T, sc_writer_policy POL >
118
+ inline
119
+ void
120
+ sc_buffer<T,POL>::update()
121
+ {
122
+ base_type::policy_type::update();
123
+ base_type::do_update();
124
+ }
125
+
126
+ } // namespace sc_core
127
+
128
+ #endif
129
+
130
+ //$Log: sc_buffer.h,v $
131
+ //Revision 1.7 2011/08/26 20:45:39 acg
132
+ // Andy Goodrich: moved the modification log to the end of the file to
133
+ // eliminate source line number skew when check-ins are done.
134
+ //
135
+ //Revision 1.6 2011/04/08 18:22:45 acg
136
+ // Philipp A. Hartmann: use the context of the primitive channel to get
137
+ // the change stamp value.
138
+ //
139
+ //Revision 1.5 2011/04/05 20:48:09 acg
140
+ // Andy Goodrich: changes to make sure that event(), posedge() and negedge()
141
+ // only return true if the clock has not moved.
142
+ //
143
+ //Revision 1.4 2011/04/05 06:15:18 acg
144
+ // Philipp A. Hartmann: sc_writer_policy: ignore no-ops in delta check.
145
+ //
146
+ //Revision 1.3 2011/02/18 20:23:45 acg
147
+ // Andy Goodrich: Copyright update.
148
+ //
149
+ //Revision 1.2 2010/12/07 19:50:36 acg
150
+ // Andy Goodrich: addition of writer policies, courtesy of Philipp Hartmann.
151
+ //
152
+ //Revision 1.1.1.1 2006/12/15 20:20:04 acg
153
+ //SystemC 2.3
154
+ //
155
+ //Revision 1.8 2006/03/13 20:19:43 acg
156
+ // Andy Goodrich: changed sc_event instances into pointers to sc_event instances
157
+ // that are allocated as needed. This saves considerable storage for large
158
+ // numbers of signals, etc.
159
+ //
160
+ //Revision 1.7 2006/01/26 21:00:49 acg
161
+ // Andy Goodrich: conversion to use sc_event::notify(SC_ZERO_TIME) instead of
162
+ // sc_event::notify_delayed()
163
+ //
164
+ //Revision 1.6 2006/01/24 20:46:31 acg
165
+ //Andy Goodrich: changes to eliminate use of deprecated features. For instance,
166
+ //using notify(SC_ZERO_TIME) in place of notify_delayed().
167
+ //
168
+ //Revision 1.5 2006/01/19 19:18:25 acg
169
+ //Andy Goodrich: eliminated check_writer in favor of inline code within the
170
+ //write() method since we always execute the check_writer code even when
171
+ //check writing is turned off.
172
+ //
173
+ //Revision 1.4 2006/01/19 00:30:57 acg
174
+ //Andy Goodrich: Yet another implementation for disabling write checks on
175
+ //signals. This version uses an environment variable, SC_SIGNAL_WRITE_CHECK,
176
+ //that when set to DISABLE will turn off write checking.
177
+ //
178
+ //Revision 1.3 2006/01/13 18:47:20 acg
179
+ //Reversed sense of multiwriter signal check. It now defaults to ON unless the
180
+ //user defines SC_NO_WRITE_CHEK before inclusion of the file.
181
+ //
182
+ //Revision 1.2 2006/01/03 23:18:26 acg
183
+ //Changed copyright to include 2006.
184
+ //
185
+ //Revision 1.1.1.1 2005/12/19 23:16:43 acg
186
+ //First check in of SystemC 2.1 into its own archive.
187
+ //
188
+ //Revision 1.9 2005/06/10 22:43:55 acg
189
+ //Added CVS change log annotation.
190
+ //
191
+
192
+ // Taf!
@@ -0,0 +1,251 @@
1
+ /*****************************************************************************
2
+
3
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4
+ more contributor license agreements. See the NOTICE file distributed
5
+ with this work for additional information regarding copyright ownership.
6
+ Accellera licenses this file to you under the Apache License, Version 2.0
7
+ (the "License"); you may not use this file except in compliance with the
8
+ License. You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
+ implied. See the License for the specific language governing
16
+ permissions and limitations under the License.
17
+
18
+ *****************************************************************************/
19
+
20
+ /*****************************************************************************
21
+
22
+ sc_clock.h -- The clock channel.
23
+
24
+ Original Author: Martin Janssen, Synopsys, Inc., 2001-05-21
25
+
26
+ CHANGE LOG IS AT THE END OF THE FILE
27
+ *****************************************************************************/
28
+
29
+ #ifndef SC_CLOCK_H
30
+ #define SC_CLOCK_H
31
+
32
+
33
+ #include "sysc/kernel/sc_module.h"
34
+ #include "sysc/communication/sc_signal.h"
35
+ #include "sysc/tracing/sc_trace.h"
36
+
37
+ namespace sc_core {
38
+
39
+ // ----------------------------------------------------------------------------
40
+ // CLASS : sc_clock
41
+ //
42
+ // The clock channel.
43
+ // ----------------------------------------------------------------------------
44
+
45
+ class SC_API sc_clock
46
+ : public sc_signal<bool,SC_ONE_WRITER>
47
+ {
48
+ typedef sc_signal<bool,SC_ONE_WRITER> base_type;
49
+ public:
50
+
51
+ // constructors
52
+
53
+ sc_clock();
54
+
55
+ explicit sc_clock( const char* name_ );
56
+
57
+ sc_clock( const char* name_,
58
+ const sc_time& period_,
59
+ double duty_cycle_ = 0.5,
60
+ const sc_time& start_time_ = SC_ZERO_TIME,
61
+ bool posedge_first_ = true );
62
+
63
+ sc_clock( const char* name_,
64
+ double period_v_,
65
+ sc_time_unit period_tu_,
66
+ double duty_cycle_ = 0.5 );
67
+
68
+ sc_clock( const char* name_,
69
+ double period_v_,
70
+ sc_time_unit period_tu_,
71
+ double duty_cycle_,
72
+ double start_time_v_,
73
+ sc_time_unit start_time_tu_,
74
+ bool posedge_first_ = true );
75
+
76
+ // for backward compatibility with 1.0
77
+ sc_clock( const char* name_,
78
+ double period_, // in default time units
79
+ double duty_cycle_ = 0.5,
80
+ double start_time_ = 0.0, // in default time units
81
+ bool posedge_first_ = true );
82
+
83
+ // destructor (does nothing)
84
+ virtual ~sc_clock();
85
+
86
+ virtual void register_port( sc_port_base&, const char* if_type );
87
+ virtual void write( const bool& );
88
+
89
+ // get the period
90
+ const sc_time& period() const
91
+ { return m_period; }
92
+
93
+ // get the duty cycle
94
+ double duty_cycle() const
95
+ { return m_duty_cycle; }
96
+
97
+
98
+ // get the current time / clock characteristics
99
+
100
+ bool posedge_first() const
101
+ { return m_posedge_first; }
102
+
103
+ sc_time start_time() const
104
+ { return m_start_time; }
105
+
106
+ static const sc_time& time_stamp();
107
+
108
+ virtual const char* kind() const
109
+ { return "sc_clock"; }
110
+
111
+
112
+ #if 0 // @@@@#### REMOVE
113
+ // for backward compatibility with 1.0
114
+
115
+ sc_signal_in_if<bool>& signal()
116
+ { return *this; }
117
+
118
+ const sc_signal_in_if<bool>& signal() const
119
+ { return *this; }
120
+
121
+ static void start( const sc_time& duration )
122
+ { sc_start( duration ); }
123
+
124
+ static void start( double v, sc_time_unit tu )
125
+ { sc_start( sc_time(v, tu) ); }
126
+
127
+ static void start( double duration = -1 )
128
+ { sc_start( duration ); }
129
+
130
+ static void stop()
131
+ { sc_stop(); }
132
+ #endif
133
+
134
+ protected:
135
+
136
+ // processes
137
+ void posedge_action();
138
+ void negedge_action();
139
+
140
+
141
+ // error reporting
142
+ void report_error( const char* id, const char* add_msg = 0 ) const;
143
+
144
+
145
+ void init( const sc_time&, double, const sc_time&, bool );
146
+ void spawn_edge_method( bool );
147
+
148
+ bool is_clock() const { return true; }
149
+
150
+ protected:
151
+
152
+ sc_time m_period; // the period of this clock
153
+ double m_duty_cycle; // the duty cycle (fraction of period)
154
+ sc_time m_start_time; // the start time of the first edge
155
+ bool m_posedge_first; // true if first edge is positive
156
+ sc_time m_posedge_time; // time till next positive edge
157
+ sc_time m_negedge_time; // time till next negative edge
158
+
159
+ sc_event m_next_posedge_event;
160
+ sc_event m_next_negedge_event;
161
+
162
+ private:
163
+
164
+ // disabled
165
+ sc_clock( const sc_clock& );
166
+ sc_clock& operator = ( const sc_clock& );
167
+ };
168
+
169
+
170
+ // IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
171
+
172
+ // processes
173
+
174
+ inline
175
+ void
176
+ sc_clock::posedge_action()
177
+ {
178
+ m_next_negedge_event.notify_internal( m_negedge_time );
179
+ m_new_val = true;
180
+ request_update();
181
+ }
182
+
183
+ inline
184
+ void
185
+ sc_clock::negedge_action()
186
+ {
187
+ m_next_posedge_event.notify_internal( m_posedge_time );
188
+ m_new_val = false;
189
+ request_update();
190
+ }
191
+
192
+ } // namespace sc_core
193
+
194
+ /*****************************************************************************
195
+
196
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
197
+ changes you are making here.
198
+
199
+ Name, Affiliation, Date: Bishnupriya Bhattacharya, Cadence Design Systems,
200
+ 3 October, 2003
201
+ Description of Modification: sc_clock inherits from sc_signal<bool> only
202
+ instead of sc_signal_in_if<bool> and sc_module.
203
+
204
+ Name, Affiliation, Date:
205
+ Description of Modification:
206
+
207
+ *****************************************************************************/
208
+ //$Log: sc_clock.h,v $
209
+ //Revision 1.5 2011/08/26 20:45:39 acg
210
+ // Andy Goodrich: moved the modification log to the end of the file to
211
+ // eliminate source line number skew when check-ins are done.
212
+ //
213
+ //Revision 1.4 2011/08/24 22:05:35 acg
214
+ // Torsten Maehne: initialization changes to remove warnings.
215
+ //
216
+ //Revision 1.3 2011/02/18 20:23:45 acg
217
+ // Andy Goodrich: Copyright update.
218
+ //
219
+ //Revision 1.2 2011/01/20 16:52:15 acg
220
+ // Andy Goodrich: changes for IEEE 1666 2011.
221
+ //
222
+ //Revision 1.1.1.1 2006/12/15 20:20:04 acg
223
+ //SystemC 2.3
224
+ //
225
+ //Revision 1.5 2006/01/25 00:31:11 acg
226
+ // Andy Goodrich: Changed over to use a standard message id of
227
+ // SC_ID_IEEE_1666_DEPRECATION for all deprecation messages.
228
+ //
229
+ //Revision 1.4 2006/01/24 20:43:25 acg
230
+ // Andy Goodrich: convert notify_delayed() calls into notify_internal() calls.
231
+ // notify_internal() is an implementation dependent version of notify_delayed()
232
+ // that is simpler, and does not trigger the deprecation warning one would get
233
+ // using notify_delayed().
234
+ //
235
+ //Revision 1.3 2006/01/18 21:42:26 acg
236
+ //Andy Goodrich: Changes for check writer support, and tightening up sc_clock
237
+ //port usage.
238
+ //
239
+ //Revision 1.2 2006/01/03 23:18:26 acg
240
+ //Changed copyright to include 2006.
241
+ //
242
+ //Revision 1.1.1.1 2005/12/19 23:16:43 acg
243
+ //First check in of SystemC 2.1 into its own archive.
244
+ //
245
+ //Revision 1.14 2005/06/10 22:43:55 acg
246
+ //Added CVS change log annotation.
247
+ //
248
+
249
+ #endif
250
+
251
+ // Taf!
@@ -0,0 +1,72 @@
1
+ /*****************************************************************************
2
+
3
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4
+ more contributor license agreements. See the NOTICE file distributed
5
+ with this work for additional information regarding copyright ownership.
6
+ Accellera licenses this file to you under the Apache License, Version 2.0
7
+ (the "License"); you may not use this file except in compliance with the
8
+ License. You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
+ implied. See the License for the specific language governing
16
+ permissions and limitations under the License.
17
+
18
+ *****************************************************************************/
19
+
20
+ /*****************************************************************************
21
+
22
+ sc_clock_ports.h -- The clock ports.
23
+
24
+ Original Author: Martin Janssen, Synopsys, Inc., 2001-05-21
25
+
26
+ CHANGE LOG IS AT THE END OF THE FILE
27
+ *****************************************************************************/
28
+
29
+ #ifndef SC_CLOCK_PORTS_H
30
+ #define SC_CLOCK_PORTS_H
31
+
32
+
33
+ #include "sysc/communication/sc_signal_ports.h"
34
+
35
+ namespace sc_core {
36
+
37
+ // ----------------------------------------------------------------------------
38
+ // The clock ports.
39
+ //
40
+ // (Provided for backward compatibility reasons.)
41
+ // ----------------------------------------------------------------------------
42
+
43
+ typedef sc_in<bool> sc_in_clk;
44
+ typedef sc_inout<bool> sc_inout_clk;
45
+ typedef sc_out<bool> sc_out_clk;
46
+
47
+ } // namespace sc_core
48
+
49
+ //$Log: sc_clock_ports.h,v $
50
+ //Revision 1.3 2011/08/26 20:45:39 acg
51
+ // Andy Goodrich: moved the modification log to the end of the file to
52
+ // eliminate source line number skew when check-ins are done.
53
+ //
54
+ //Revision 1.2 2011/02/18 20:23:45 acg
55
+ // Andy Goodrich: Copyright update.
56
+ //
57
+ //Revision 1.1.1.1 2006/12/15 20:20:04 acg
58
+ //SystemC 2.3
59
+ //
60
+ //Revision 1.2 2006/01/03 23:18:26 acg
61
+ //Changed copyright to include 2006.
62
+ //
63
+ //Revision 1.1.1.1 2005/12/19 23:16:43 acg
64
+ //First check in of SystemC 2.1 into its own archive.
65
+ //
66
+ //Revision 1.8 2005/06/10 22:43:55 acg
67
+ //Added CVS change log annotation.
68
+ //
69
+
70
+ #endif
71
+
72
+ // Taf!