关于VHDL中case语句多执行语句的书写方式(转载stackoverflow.com并做翻译汇总)
很多国内的教材对于case语句的讲解非常单一,比如:
1 [标号:]CASE 多值表达式 IS 2 WHEN 选择值 => 被赋值变量 <=赋值变量; 3 WHEN 选择值 => 被赋值变量 <=赋值变量; 4 WHEN 选择值 => 被赋值变量 <=赋值变量; 5 ... 6 WHEN OTHERS =>被赋值变量 <=赋值变量; 7 END CASE
这会造成CASE语句“在一个条件下只能执行一条语句”的经典误解,在翻阅了一些资料后我在StackOverflow上找到了CASE语句多执行条件的写法:
1 CASE input24 IS 2 WHEN "00" => 3 output0 <= '1' ; 4 output1 <= '0' ; 5 output2 <= '0' ; 6 output3 <= '0' ; 7 ... 8 WHEN OTHERS => 9 output0 <= 'X'; 10 output1 <= 'X'; 11 output2 <= 'X'; 12 output3 <= 'X'; 13 END CASE;
这样就能实现在一个条件下对多个变量进行处理。
参考:https://stackoverflow.com/questions/25961126/multiple-assignments-in-case-statement-in-vhdl
转载请联系本人并说明出处,严禁商用,谢谢配合
本文仅发布于博客园,如在其他网站看到,皆为洗稿抄袭,特此声明