对Systemc的一点个人看法

    Systemc对位操作的支持low到令人发指,当然这只是相比于verilog的个人感觉,现在已经把《A Systemc Primer》(second edition)粗略过了一遍,给我印象最深的就两点:
    1).不允许对信号和端口进行直接的范围和位的选择。
    2).对信号和端口的赋值不是立即发生的,而总是发生在一个Δ延迟之后。
    对于第一点。我是相当不适应的!因为在verilog中想要取谁的几个bit就取谁的几个bit,在systemc就不行了,你得先把端口或信号的值.read()到一个变量里面,然后对这个变量进行取位操作,没办法这是人家的规则,必须得遵守,再说了,如果systemc对位操作支持得像verilog那么好,可能就verilog没什么事儿了。systemc的C++特性才是其最大优势。
    对于第二点,相当于verilog中的非阻塞赋值,虽然这本书没有说这个词,但整本书的例子都是非阻塞赋值,并且操作符只有“ = ”没有“ <= ”,容易误认为是立即生效,毕竟,在c语言,C#,verilog中“ = ”都是值生效以后才执行下一句。其实,作者在许多章节强调了第二点,甚至到了啰嗦的地步,我认为这就是老外人性化的一点,知道你要在这个地方犯错误,我就不断地重复,不断地提醒你,不像天朝一些教程,给个非阻塞赋值的定义就完了,犯了错误自己再回去看非阻塞赋值的定义。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值