了解 SystemC 中的类型
我是 SystemC 编程的初学者,我注意到一件事(查看 SystemC 官方文档):我用来在 VHDL 模拟中处理的所有类型都没有“移植”到 SystemC。
我的意思是:
- 考虑 VHDL 标准库中的 std_logic,SystemC 中没有等效项,但是,在 SystemC 文档中,我看到许多使用 bool 的示例。
- 考虑一下 std_logic_vector,我在 SystemC 中没有看到类似的东西。相反,我可以在许多示例中看到
sc_int
的用法。
所以我认为 SystemC 不提供类型来管理单个位或电信号,但它提供了更高的抽象,就像每个常见的 C/C++ 应用程序一样。
是这样还是我错过了什么?
I am a beginner in SystemC programming and there is one thing I noticed (looking in the SystemC official documentation): all types that I used to deal with in VHDL simulations have not been "ported" to SystemC.
I mean:
- Consider
std_logic
in the VHDL standard library, there is not an equivalent in SystemC, however, in the SystemC documentation, I see many examples usingbool
. - Consider
std_logic_vector
, I see no equivalent in SystemC. Instead I can see, in many examples, usage ofsc_int
.
So I'm thinking that SystemC does not provide types in order to manage single bits or electric signals, but it provides a higher abstraction like in every common C/C++ applications.
Is it so or am I missing something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这并不完全正确。
在 SystemC 中,您可以使用
sc_logic
和sc_lv
T >
分别为std_logic
和std_logic_vector
。您可以将
SC_LOGIC_0
或SC_LOGIC_1
文字分配给sc_logic
。虽然您可以使用整数、十六进制甚至“特定于位”的文字来分配
sc_lv< T> 一个值。
例如:
希望有帮助。
It's not all that correct.
In SystemC you can use
sc_logic
andsc_lv< T >
asstd_logic
andstd_logic_vector
respectively.You can assign to
SC_LOGIC_0
orSC_LOGIC_1
literals tosc_logic
.While you can use integer, hex or even 'bit-specific' literal to assign
sc_lv< T >
a value.For example:
Hope that helps.
它确实有一些类型:
sc_int
、sc_bv
(位向量)等。It does have some types:
sc_int
,sc_bv
(bitvector) etc.