SystemC 数据类型
来源:互联网 发布:linux oracle启动 编辑:程序博客网 时间:2024/05/21 22:56
一. 关于赋值语句
赋值的目标可以是:变量、信号、端口、位选择[]、范围Rang(),位选择运算[]和范围函数Rang()仅能作用于变量(向量类型,如sc_bv、sc_lv、sc_int、sc_uint、sc_bigint、sc_biguint)
二. to_string()
向量类型变量可以使用to_string函数,第一个参数指定格式:SC_BIN、SC_OCT、SC_DEC、SC_HEX,第二个参数指定是否显示基数信息true、false
三. sc_bit/sc_bv
常量:'0'以及'1'/0,1串
局部变量可初始化为全1,如sc_bv<8> temp ('1');
四. sc_logic/sc_lv
常量:'0','1','X','Z'或SC_LOGIC_0,SC_LOGIC_1,SC_LOGIC_X,SC_LOGIC_Z或sc_logic('0'),sc_logic('1'),sc_logic('X'),sc_logic('Z')/0,1,X,Z串
局部变量可以初始化为全'X'或全'Z',如sc_lv<8> temp('X');
五. sc_bv/sc_lv
1. sc_bv/sc_lv不支持算术操作,若要完成算术运算,先赋值给signed/unsigned变量,运算后再回赋。
2. sc_bv/sc_lv可以和signed/unsigned之间相互赋值,sc_bv/sc_lv之间也可相互赋值,但在赋值给非sc_lv时若包含'X'或'Z'时,则导致运行时警告并且结果不确定。
3. signed赋值给sc_bv/sc_lv时进行符号扩展,unsigned赋值给sc_bv/sc_lv时进行0扩展。
六. sc_int/sc_uint
1. 固定精度,最大宽度64位,底层实现以及底层运算均按64位进行,不足64位时按照类型进行扩展,运算结果根据精度进行截断。
2. sc_int/sc_uint之间可相互赋值,底层按64位进行,最后根据精度截断。
3. 进行位运算操作时,用等效的位向量表示形式参与运算。
4. 与其他C++整数类型兼容
七. sc_bigint/sc_biguint
任意精度类型,同六的3和4。
八. 端口/信号多驱动
普通类型的端口以及信号不能在多个进程中赋值,但可以通过使用Resolved类型来解决此问题,sc_out_resoleved、sc_inout_resolved、sc_signal_resolved、sc_out_rv<WIDTH>、sc_inout_rv<WIDTH>、sc_signal_rv<WIDTH>
- SystemC 数据类型
- SystemC分析(1)-基本数据类型的实现
- fuck systemc
- systemc学习
- SystemC概述
- SystemC Modules
- SystemC Install
- Why SystemC
- SystemC 初始化步骤
- SystemC 初始化步骤
- SystemC 初始化步骤
- SystemC 初始化步骤
- SystemC 初始化步骤
- SystemC 初始化步骤
- SystemC 初始化步骤
- SystemC 初始化步骤
- SystemC 初始化步骤
- SystemC 初始化步骤
- 整理一些提高PHP性能的技巧
- racle 10g RAC 在HP-UX v3+MC ServiceGuard环境的安装【转】
- ASP.net(c#)生成条形码
- 一个登陆程序及问题若干
- 用SQLLDR将Linux的用户文件passwd导入数据库
- SystemC 数据类型
- 用SQLLDR将Linux的用户文件passwd导入数据库
- 把字符串转换成整数--总结
- 认识 GCC 4
- 两种数据库,四种分页算法的效率比较
- 网站制作流程
- 自学PHP
- Fdisk使用详解
- soso六月产品亮点