if.. else..的使用
在同一个begin end块中连续使用几个if else 好吗?像这样
begin
if()
;
else
;
if()
;
else
;
end
这样用好吗,有什么坏处吗? 可以呀,也可尝试用switch语句吧。。。 既然是多个连续判断,用switch可能会更好。 楼上都错了..lz是 多个 if()else(); 不是if() else if() else if()...
判断的条件都不一样的话 就这样吧 LZ是用在那里的 ? 同一个always block里面两个if/else对不同的寄存器赋值是可以的,对同一个寄存器赋值是禁止的,因为编译器并不知道在同一个时钟沿到底应该判断哪个if/else 没什么问题的。。。。 同上,標準用法 写法这东西很灵活,软件综合之后都会有自己的优化 michrome 发表于 2014-10-21 17:49
楼上都错了..lz是 多个 if()else(); 不是if() else if() else if()...
判断的条件都不一样的话 就这样吧 ...
恩,是的,判断的是不同的变量,这样用好吗? markdif 发表于 2014-10-21 17:35
可以呀,也可尝试用switch语句吧。。。
判断的是不同的变量,不能用switch的 cumtgao 发表于 2014-10-21 17:39
既然是多个连续判断,用switch可能会更好。
判断的是不同的变量 怎么写都行,只要能实现功能,效率不太差,不要纠结于形式 比特 发表于 2014-10-22 09:10
怎么写都行,只要能实现功能,效率不太差,不要纠结于形式
好的,谢谢 这玩意没什么讲究吧 判断不同变量,完全没问题;
注意加注释及对齐就OK了; maingg 发表于 2014-10-22 09:24
判断不同变量,完全没问题;
注意加注释及对齐就OK了;
嗯嗯,谢谢帮助 连续用IF表示的是几个不相关的条件,而else if表示的的是如果那个if条件不满足才会跳到else if里面 偶是来学习的。 我一般也这样用,不知道好不好~ 没问题,其实综合出来就是几个逻辑电路,想搞多少个if else都行,只要把每个逻辑块表达清楚。 不能用这种方法用多个IF判断一个变量, 每太明白楼上的意思,按楼上说的如果有一段程序
{
if(a==0){
功能1;
}
else{
}
if(a==0){
功能2;
}
else{
}
}
执行结果是什么样的,顺序执行功能1和功能2,还是只有一个功能可以得到执行? 当然可以用 没问题的,能实现功能就行 switch 代码看起来舒服点~~ 没问题的,能实现功能就行,但是不是很好理解,23楼的写法比较容易理解! 有时候不方便在条件有交集的时候 路过 帮顶 这样有机会编译出你不想要的结果,我遇到过。
这样有点简单问题复杂化了!
页:
[1]