相同點:CASE語句中各子句的條件不能有重疊,必須包容所有的條件;WITH_SECLECT語句也不允許選擇值有重疊現象,也不允許選擇值涵蓋不全的情況。
另外,兩者對子句各選擇值的測試都具有同步性,都依賴於敏感信號的變化。不同點:CASE語句只能在進程中使用,至少包含一個條件語句,可以有多個賦值目標;
WITH_SECLECT語句根據滿足的條件,對信號進行賦值,其賦值目標只有一個,且必須是信號。
其實在最后的邏輯綜合階段,達到的效果是一樣的。
但是在代碼書寫階段為了自己思維的方便而分成兩種。
case是順序語句中用的,
with_select在並行語句中用