数字系统中最常见的四个逻辑为:
‘0’——逻辑低电平;
‘1’——逻辑高电平;
‘Z’——高阻态;
‘X’——不定值。
在SystEMC中,这四个值用‘0’ 、‘1’ 、‘Z’、 ‘X’或者SC_LOGIC_0、SC_LOGIC_1、SC_LOGIC_Z和SC_LOGIC_X表示,其中虽然是在sc_logic.h中定义的,也可以用于对sc_bit类型进行赋值。
sc_bit只有’1’(true)和’0’(false)两种值,这对于仿真那些只有’1’ 和’0’两种逻辑的场合足够用了。sc_logic比sc_bit多’X’和’Z’,实现起来必然更复杂一些,仿真速度也要慢一些。虽然多数情况下可以使用sc_logic代替sc_bit,但是推荐的做法是在能够使用sc_bit的时候尽量不要使用sc_logic。在进行布尔代数操作时sc_bit可与C++的bool类型混合使用。
sc_bit支持的运算符如下表所示
表2-5 sc_bit支持的运算符
位操作
与& 或 | 异或 ^ 取反 ~ 赋值操作 与赋值&= 或赋值|= 异或赋值^= 直接赋值= 逻辑操作 等于== 不等于!=下面的操作是合法的:
而下面的操作是非法的:
同样a~=b也是非法的。
本文关键字:暂无联系方式电脑-单片机-自动控制,电子学习 - 基础知识 - 电脑-单片机-自动控制