没有合适的资源?快使用搜索试试~ 我知道了~
首页2012版SystemC语言参考手册:IEEE标准
IEEE Standard for Standard SystemC LRM(系统C语言参考手册标准)是针对系统级设计和验证而制定的重要行业规范。它由设计自动化标准委员会(Design Automation Standards Committee, DAC)赞助,由IEEE计算机学会(IEEE Computer Society)发布,旨在为软件开发者提供一套统一、可扩展的硬件描述语言标准。该标准在2011年进行了修订,从IEEE Std 1666-2005升级至IEEE Std 1666™-2011。
SystemC是一种高级、模块化的硬件描述语言,特别适合于系统级建模,包括硬件/软件接口描述、嵌入式系统、模拟电路设计等。这个语言允许设计师以面向对象的方式组织系统组件,提供了抽象层次,使设计者能够快速地进行模型的构建和仿真。SystemC的核心特性包括:
1. 组件模型:它定义了类(Class)和接口(Interface),使得设计者可以创建具有状态和行为的实体,并通过继承和组合来实现复用和模块化。
2. 异步和同步交互:SystemC支持事件驱动的编程模型,允许组件之间的非阻塞通信,同时也能处理同步事件和线程。
3. 时间和模拟:SystemC内置了时间模型,支持精确的时间尺度控制,这对于实时系统和混合信号设计至关重要。此外,它还提供了用于模拟和验证的工具。
4. 跨平台支持:IEEE Std 1666定义了标准库和行为模型,确保了SystemC设计的可移植性,可以在多种硬件和软件环境中运行。
5. 标准化过程:文档中的"Approved 10 September 2011 IEEE-SA Standards Board"表明该标准已经过严格的标准化审查并得到了批准,保证了其权威性和一致性。
该标准的发布日期是2012年1月9日,同时提供了纸质版(ISBN 978-0-7381-6801-2)和电子版(ISBN 978-0-7381-6802-9),便于不同需求的用户获取。购买和遵循IEEE Standard for Standard SystemC LRM有助于提高设计效率,降低风险,确保硬件和软件间的协同工作符合业界最佳实践。
xiv
Copyright © 2012 IEEE. All rights reserved.
6.22 sc_fifo_out_if........................................................................................................................... 172
6.22.1 Description................................................................................................................... 172
6.22.2 Class definition ............................................................................................................ 172
6.22.3 Member functions ........................................................................................................ 173
6.23 sc_fifo ...................................................................................................................................... 173
6.23.1 Description................................................................................................................... 173
6.23.2 Class definition ............................................................................................................ 173
6.23.3 Template parameter T.................................................................................................. 174
6.23.4 Constructors ................................................................................................................. 175
6.23.5 register_port ................................................................................................................. 175
6.23.6 Member functions for reading ..................................................................................... 175
6.23.7 Member functions for writing...................................................................................... 176
6.23.8 The update phase ......................................................................................................... 176
6.23.9 Member functions for events ....................................................................................... 177
6.23.10Member functions for available values and free slots ................................................. 177
6.23.11Diagnostic member functions ...................................................................................... 177
6.23.12operator<<.................................................................................................................... 177
6.24 sc_fifo_in ................................................................................................................................. 178
6.24.1 Description................................................................................................................... 178
6.24.2 Class definition ............................................................................................................ 178
6.24.3 Member functions ........................................................................................................ 179
6.25 sc_fifo_out ............................................................................................................................... 179
6.25.1 Description................................................................................................................... 179
6.25.2 Class definition ............................................................................................................ 179
6.25.3 Member functions ........................................................................................................ 180
6.26 sc_mutex_if.............................................................................................................................. 182
6.26.1 Description................................................................................................................... 182
6.26.2 Class definition ............................................................................................................ 182
6.26.3 Member functions ........................................................................................................ 182
6.27 sc_mutex .................................................................................................................................. 182
6.27.1 Description................................................................................................................... 182
6.27.2 Class definition ............................................................................................................ 182
6.27.3 Constructors ................................................................................................................. 183
6.27.4 Member functions ........................................................................................................ 183
6.28 sc_semaphore_if ...................................................................................................................... 184
6.28.1 Description................................................................................................................... 184
6.28.2 Class definition ............................................................................................................ 184
6.28.3 Member functions ........................................................................................................ 184
6.29 sc_semaphore........................................................................................................................... 185
6.29.1 Description................................................................................................................... 185
6.29.2 Class definition ............................................................................................................ 185
6.29.3 Constructors ................................................................................................................. 185
6.29.4 Member functions ........................................................................................................ 185
6.30 sc_event_queue........................................................................................................................ 186
6.30.1 Description................................................................................................................
... 186
6.30.2 Class definition ............................................................................................................ 186
6.30.3 Constraints on usage .................................................................................................... 187
6.30.4 Constructors ................................................................................................................. 187
6.30.5 kind .............................................................................................................................. 187
6.30.6 Member functions ........................................................................................................ 187
7. SystemC data types.......................................................................................................................... 189
7.1 Introduction.............................................................................................................................. 189
xv
Copyright © 2012 IEEE. All rights reserved.
7.2 Common characteristics........................................................................................................... 191
7.2.1 Initialization and assignment operators ....................................................................... 192
7.2.2 Precision of arithmetic expressions ............................................................................. 193
7.2.3 Base class default word length..................................................................................... 193
7.2.4 Word length ................................................................................................................. 194
7.2.5 Bit-select ...................................................................................................................... 194
7.2.6 Part-select..................................................................................................................... 195
7.2.7 Concatenation ..............................................................................................................196
7.2.8 Reduction operators ..................................................................................................... 197
7.2.9 Integer conversion........................................................................................................ 198
7.2.10 String input and output ................................................................................................ 198
7.2.11 Conversion of application-defined types in integer expressions ................................. 199
7.3 String literals............................................................................................................................ 199
7.4 sc_value_base† ........................................................................................................................ 201
7.4.1 Description................................................................................................................... 201
7.4.2 Class definition ............................................................................................................ 201
7.4.3 Constraints on usage .................................................................................................... 201
7.4.4 Member functions ........................................................................................................ 202
7.5 Limited-precision integer types ............................................................................................... 202
7.5.1 Type definitions ...........................................................................................................202
7.5.2 sc_int_base................................................................................................................... 203
7.5.3 sc_uint_base................................................................................................................. 208
7.5.4 sc_int............................................................................................................................ 213
7.5.5 sc_uint.......................................................................................................................... 215
7.5.6 Bit-selects..................................................................................................................... 217
7.5.7 Part-selects ................................................................................................................... 222
7.6 Finite-precision integer types................................................................................................... 227
7.6.1 Type definitions ...........................................................................................................227
7.6.2 Constraints on usage .................................................................................................... 227
7.6.3 sc_signed...................................................................................................................... 227
7.6.4 sc_unsigned.................................................................................................................. 234
7.6.5 sc_bigint....................................................................................................................... 240
7.6.6 sc_biguint..................................................................................................................... 242
7.6.7 Bit-selects..................................................................................................................... 244
7.6.8 Part-selects ................................................................................................................... 248
7.7 Integer concatenations ............................................................................................................. 253
7.7.1 Description................................................................................................................... 253
7.7.2 Class definition ............................................................................................................ 253
7.7.3 Constraints on usage .................................................................................................... 255
7.7.4 Assignment operators .................................................................................................. 255
7.7.5 Implicit type conversion .............................................................................................. 255
7.7.6 Explicit type conversion .............................................................................................. 255
7.7.7 Other member functions .............................................................................................. 256
7.8 Generic base proxy class.......................................................................................................... 256
7.8.1 Description................................................................................................................... 256
7.8.2 Class definition ............................................................................................................ 256
7.8.3 Constraints on usage .................................................................................................... 256
7.9 Logic and vector types............................................................................................................. 257
7.9.1 Type definitions ...........................................................................................................257
7.9.2 sc_logic ........................................................................................................................ 257
7.9.3 sc_bv_base ................................................................................................................
... 262
7.9.4
sc_lv_base.................................................................................................................... 267
7.9.5 sc_bv ............................................................................................................................ 273
7.9.6 sc_lv ............................................................................................................................. 275
xvi
Copyright © 2012 IEEE. All rights reserved.
7.9.7 Bit-selects..................................................................................................................... 277
7.9.8 Part-selects ................................................................................................................... 280
7.9.9 Concatenations.............................................................................................................286
7.10 Fixed-point types ..................................................................................................................... 293
7.10.1 Fixed-point representation ........................................................................................... 293
7.10.2 Fixed-point type conversion ........................................................................................ 294
7.10.3 Fixed-point data types.................................................................................................. 295
7.10.4 Fixed-point expressions and operations....................................................................... 296
7.10.5 Bit and part selection ................................................................................................... 299
7.10.6 Variable-precision fixed-point value limits ................................................................. 300
7.10.7 Fixed-point word length and mode.............................................................................. 300
7.10.8 Conversions to character string.................................................................................... 302
7.10.9 Finite word-length effects............................................................................................ 304
7.10.10sc_fxnum...................................................................................................................... 327
7.10.11sc_fxnum_fast.............................................................................................................. 332
7.10.12sc_fxval........................................................................................................................ 337
7.10.13sc_fxval_fast ................................................................................................................ 341
7.10.14sc_fix............................................................................................................................ 346
7.10.15sc_ufix.......................................................................................................................... 349
7.10.16sc_fix_fast.................................................................................................................... 352
7.10.17sc_ufix_fast.................................................................................................................. 355
7.10.18sc_fixed........................................................................................................................ 358
7.10.19sc_ufixed...................................................................................................................... 360
7.10.20sc_fixed_fast ................................................................................................................ 362
7.10.21sc_ufixed_fast .............................................................................................................. 365
7.10.22Bit-selects..................................................................................................................... 367
7.10.23Part-selects ................................................................................................................... 369
7.11 Contexts ................................................................................................................................... 375
7.11.1 sc_length_param .......................................................................................................... 375
7.11.2 sc_length_context ........................................................................................................ 377
7.11.3 sc_fxtype_params ........................................................................................................ 378
7.11.4 sc_fxtype_context ........................................................................................................ 380
7.11.5 sc_fxcast_switch ..........................................................................................................381
7.11.6 sc_fxcast_context.........................................................................................................382
7.12 Control of string representation ............................................................................................... 383
7.12.1 Description................................................................................................................... 383
7.12.2 Class definition ............................................................................................................ 383
7.12.3 Functions...................................................................................................................... 384
8. SystemC utilities .............................................................................................................................. 385
8.1 Trace files ................................................................................................................................ 385
8.1.1 Class definition and function declarations................................................................... 385
8.1.2 sc_trace_file ................................................................................................................. 385
8.1.3 sc_create_vcd_trace_file.............................................................................................. 386
8.1.4 sc_close_vcd_trace_file ...............................................................................................
386
8.1.5 sc_write_comment ....................................................................................................... 386
8.1.6 sc_trace ........................................................................................................................ 386
8.2 sc_report................................................................................................................................... 388
8.2.1 Description................................................................................................................... 388
8.2.2 Class definition ............................................................................................................ 388
8.2.3 Constraints on usage .................................................................................................... 389
8.2.4 sc_verbosity ................................................................................................................. 389
8.2.5 sc_severity ................................................................................................................... 389
xvii
Copyright © 2012 IEEE. All rights reserved.
8.2.6 Copy constructor and assignment ................................................................................ 390
8.2.7 Member functions ........................................................................................................ 390
8.3 sc_report_handler..................................................................................................................... 391
8.3.1 Description................................................................................................................... 391
8.3.2 Class definition ............................................................................................................ 391
8.3.3 Constraints on usage .................................................................................................... 393
8.3.4 sc_actions..................................................................................................................... 393
8.3.5 report............................................................................................................................ 393
8.3.6 set_actions.................................................................................................................... 394
8.3.7 stop_after ..................................................................................................................... 395
8.3.8 get_count...................................................................................................................... 396
8.3.9 Verbosity level............................................................................................................. 396
8.3.10 suppress and force........................................................................................................396
8.3.11 set_handler ................................................................................................................... 397
8.3.12 get_new_action_id ....................................................................................................... 398
8.3.13 sc_interrupt_here and sc_stop_here............................................................................. 398
8.3.14 get_cached_report and clear_cached_report................................................................ 398
8.3.15 set_log_file_name and get_log_file_name .................................................................. 399
8.4 sc_exception............................................................................................................................. 399
8.4.1 Description................................................................................................................... 399
8.4.2 Class definition ............................................................................................................ 399
8.5 sc_vector .................................................................................................................................. 400
8.5.1 Description................................................................................................................... 400
8.5.2 Class definition ............................................................................................................ 400
8.5.3 Constraints on usage .................................................................................................... 403
8.5.4 Constructors and destructors........................................................................................ 403
8.5.5 init and create_element ................................................................................................ 404
8.5.6 kind, size, get_elements ............................................................................................... 405
8.5.7 operator[] and at........................................................................................................... 406
8.5.8 Iterators ........................................................................................................................ 406
8.5.9 bind .............................................................................................................................. 406
8.5.10 sc_assemble_vector ..................................................................................................... 408
8.6 Utility functions ....................................................................................................................... 410
8.6.1 Function declarations................................................................................................... 410
8.6.2 sc_abs........................................................................................................................... 411
8.6.3 sc_max ......................................................................................................................... 411
8.6.4 sc_min.......................................................................................................................... 411
8.6.5 Version and copyright.................................................................................................. 411
9. Overview of TLM-2.0...................................................................................................................... 413
9.1 Compliance with the TLM-2.0 standard.................................................................................. 414
10. Introduction to TLM-2.0.................................................................................................................. 415
10.1 Background.............................................................................................................................. 415
10.2 Transaction-level modeling, use cases, and abstraction .......................................................... 415
10.3 Coding styles............................................................................................................................ 416
10.3.1 Untimed coding style ................................................................................................... 416
10.3.2 Loosely-timed coding style and temporal decoupling ................................................. 417
10.3.3 Synchronization in loosely-timed models.................................................................... 418
10.3.4 Approximately-timed coding style .............................................................................. 418
10.3.5 Characterization of loosely-timed and approximately-timed coding styles ................ 419
10.3.6 Switching between loosely-timed and approximately-timed modeling ...................... 419
xviii
Copyright © 2012 IEEE. All rights reserved.
10.3.7 Cycle-accurate modeling ............................................................................................. 419
10.3.8 Blocking versus non-blocking transport interfaces ..................................................... 419
10.3.9 Use cases and coding styles ......................................................................................... 420
10.4 Initiators, targets, sockets, and transaction bridges ................................................................. 420
10.5 DMI and debug transport interfaces ........................................................................................ 423
10.6 Combined interfaces and sockets.............................................................................................423
10.7 Namespaces ............................................................................................................................. 423
10.8 Header files and version numbers............................................................................................424
10.8.1 Software version information ...................................................................................... 424
10.8.2 Definitions ................................................................................................................... 424
10.8.3 Rules ............................................................................................................................ 425
11. TLM-2.0 core interfaces .................................................................................................................. 426
11.1 Transport interfaces ................................................................................................................. 426
11.1.1 Blocking transport interface......................................................................................... 426
11.1.2 Non-blocking transport interface ................................................................................. 430
11.1.3 Timing annotation with the transport interfaces .......................................................... 438
11.1.4 Migration path from TLM-1 ........................................................................................ 442
11.2 Direct memory interface .......................................................................................................... 442
11.2.1 Introduction.................................................................................................................. 442
11.2.2 Class definition ............................................................................................................ 443
11.2.3 get_direct_mem_ptr method ........................................................................................ 444
11.2.4 template argument and tlm_generic_payload class ..................................................... 445
11.2.5 tlm_dmi class ............................................................................................................... 445
11.2.6 invalidate_direct_mem_ptr method ............................................................................. 448
11.2.7 DMI versus transport ................................................................................................... 449
11.
2.8 DMI and temporal decoupling..................................................................................... 449
11.2.9 Optimization using a DMI hint.................................................................................... 450
11.3 Debug transport interface......................................................................................................... 450
11.3.1 Introduction.................................................................................................................. 450
11.3.2 Class definition ............................................................................................................ 450
11.3.3 TRANS template argument and tlm_generic_payload class ....................................... 451
11.3.4 Rules ............................................................................................................................ 451
12. TLM-2.0 global quantum................................................................................................................. 453
12.1 Introduction.............................................................................................................................. 453
12.2 Header file................................................................................................................................ 453
12.3 Class definition ........................................................................................................................ 453
12.4 Class tlm_global_quantum ...................................................................................................... 454
13. Combined TLM-2.0 interfaces and sockets..................................................................................... 455
13.1 Combined interfaces ................................................................................................................ 455
13.1.1 Introduction.................................................................................................................. 455
13.1.2 Class definition ............................................................................................................ 455
13.2 Initiator and target sockets....................................................................................................... 456
13.2.1 Introduction.................................................................................................................. 456
13.2.2 Class definition ............................................................................................................ 456
13.2.3 Classes tlm_base_initiator_socket_b and tlm_base_target_socket_b.......................... 460
13.2.4 Classes tlm_base_initiator_socket and tlm_base_target_socket.................................. 460
13.2.5 Classes tlm_initiator_socket and tlm_target_socket.................................................... 461
剩余637页未读,继续阅读
2011-04-23 上传
2019-01-04 上传
2014-01-15 上传
2013-05-29 上传
2021-10-01 上传
2021-10-01 上传
2013-05-10 上传
babydream520
- 粉丝: 65
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功