if-else语句所表达的电路逻辑语义具有串行性,也就是说生成的数字逻辑电路要在逻辑上满足if-else所表达的先后判断优先性语义。
if-else语句在综合时会生成纯组合逻辑和带latch的时序逻辑。
例1 :纯组合逻辑的生成
if语句的纯组合逻辑的生成的充要条件是不会出现无else配对的if语句,因为缺失else配对的if语句会隐含保持值原来的不变,会引入latch。
例2 :带有latch生成的电路
case语句在语义上有并行的含义,会生成mutiplexer电路,但是同时要注意,如果case没有完全覆盖所有情况,那么暗含着保持原来值的语义,会生成latch,可以加入default语句来避免这种情况。
例3 :case没有完全覆盖所有情况,default影响latch生成
原文:https://www.cnblogs.com/ycc1997/p/11815691.html