Chapter 3 -- SystemC From Gound 读书心得

supported data type = Native C++ data type + STL data type + SystemC datatype( logic, integers and fixed-point)

systemc 还提供了systemc data type 和 C++ data type 之间的转化函数。 所有的systemc data type都属于sc_dt namespace。

 

1. logic : sc_bv<W>,  sc_lv<W>, bool, sc_logic<W>,

    注意sc_bit 被 C++里面的 bool取代了。

 

2. integer: sc_int<W>, sc_uint<W>  (其中W<=64)  , sc_bigint<BITWIDTH>, sc_biguint<BITWIDTH> (其中BITWIDTH>64)

    systemC的integer比传统的C++的integer类型提供了bit操作和concatination以及可配置位宽。

 

3. fixed point: sc_fixed<WL,IWL[,QUANT[,OVFLW[,NBITS]>

    以前DSP算法都是用C++的浮点直接表示,但是为了更精确以及综合的方便,systemC引入了fixed-point类型。它定义了整个的bit宽度以及整数部分的bit宽度(WL,IWL)。加_fast后缀的指定精度限制再53bit之内。ed这个过去式表明在compile的时候就固定了,无法改变。

 

 

4. 由于systemc扩展了自己的datatype,这些datatype就是一个类。它们的赋值以及初始化,有时会使用字符串。譬如

            sc_lv<6>    mask = "10ZX11"

    这些datatype变量值的打印,实际上是先把它们转化成字符串,然后打印出来。譬如

            cout<<mask.to_string(SC_BIN, true)<<endl;

 

            

 

    当然,也可以直接给mask赋值(因为systemc重载了=以及stream operator << , >>):

            sc_lv<6>   mask = 15;

            cout<< mask

 

 

5.  SystemC data type重载并扩展了所有C++的操作符。类似于C++,不同类型的data type进行运算必须显示的转化其中之一。

           

 

6.  常用的STL

     vector<T>, map<T>,set<T>, List<T>,deque<T>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值