1)systemc 使用.to_string()方法输出非十进制无符号数时会在前面加0。
2)负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
3)在case语句中,敏感表达式与各项值之间的比较,是一种全等比较。
casez与casex语句是case语句的两种变体,
三者的表示形式中唯一的区别是三个关键词case、casez、casex的不同。
在casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就会忽略,不予考虑,而只关注其他位的比较结果。
在casex语句中,则把这种处理方式进一步扩展到对x的处理,即如果比较双方有一方的某些位的值是z或x,那么这些位的比较就不予考虑。
case treats ‘z’ & ‘x’ as it is
casez treats ‘z’ as dont care
casex treats ‘z’ & ‘x’ as dont care
再有就是case/casez/casex其实都是可综合的,这一点也要记住。
1、我们在写代码的时候如果用了case,那么就不要在index列表里面出现x/z/?,综合工具认不出这些,都会当做don’t care
2、casez和casex综合的结果是一致的。
3、最重要的一点就是,casez和casex其实没有孰优孰劣。