ทุกคนสามารถบอกความแตกต่างระหว่างโครงสร้าง If-Else และคำสั่ง Case ของกระบวนการใน VHDL ในแง่ของวิธีการที่โค้ดถูกอนุมานในวงจร RTL โดยเครื่องมือสังเคราะห์ได้หรือไม่
if-elsif-elseสร้างอนุมานลำดับความสำคัญของเครือข่ายเส้นทาง:

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab
สิ่งนี้สอดคล้องกับ
if bool_expr_1 then
    sig <= val_expr_1;
elsif bool_expr_2 then
    sig <= val_expr_2;
elsif bool_expr_3 then
    sig <= val_expr_3;
else
    sig <= val_expr_4;
end if;
caseสร้างบนมืออื่น ๆ ที่อ้างถึงใหญ่ 'ol MUX:

สิ่งนี้สอดคล้องกับ
case case_expr is
  when c0 =>
    sig <= val_expr_0;
  when c1 =>
    sig <= val_expr_1;
  when c2 =>
    sig <= val_expr_2;
      ...
  when others =>
    sig <= val_expr_N;
end case;
เห็นได้ชัดว่านี่คือการออกแบบที่ง่ายมากโดยมีนิพจน์ค่าเดียวเท่านั้นทำให้ได้ผลลัพธ์เดียว
  พิจารณากรณีของหลาย ๆ if-else ที่ซ้อนกันและผสม case-statement ด้วย if-else สร้างขึ้นภายในกระบวนการ
ตามข้างต้นคุณสามารถดูว่าพวกเขาจะทำรัง / ผสมอย่างไร
  นอกจากนี้เมื่อใดที่จะใช้สิ่งก่อสร้าง?
เนื่องจากมีif-elseลำดับความสำคัญ infers ควรใช้เมื่อเงื่อนไขอินพุตมากกว่าหนึ่งอาจเกิดขึ้น การใช้caseมืออีกข้างหนึ่งมีความเหมาะสมเมื่อปัจจัยการผลิตเป็นพิเศษร่วมกัน
               
              
dec/jzคำสั่งซึ่งมีประสิทธิภาพมากขึ้น อาจใช้การเพิ่มประสิทธิภาพที่คล้ายกันนี้