描述
一般描述:
在VHDL中构造case语句时,发生以下错误:
“错误:HDLPARSIES:812 -文件名。VHD线21。一个值丢失的情况下。
当使用类似于下面的VHDL代码时,出现此错误消息:
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
实体样本检验
端口(A:在STdLogLogic向量中(3下降到0);
在StdLogLogic向量中(3下降到0);
C:在StdLogLogic向量中(3下降到0);
D:在STdLogLogic向量(3下降到0);
StdLogLogic向量(1下降到0);
RES:ExtSdLogLogic向量(3下降到0);
终末检验;
CASE测试的体系结构
开始
过程(SEL,A,B,C,D)开始
案例(SEL)
当“00”=Res & lt=a;
当“01”=Res & lt;=B;
当“10”=Re & lt;=C;
当“11”=Re & lt;=D;
结束情况;
结束过程;
终末壳弓;
解决方案
似乎所有的情况都已被指定;但是,因为使用了“STDYLogLogic向量”类型,必须包含除“1”或“0”以外的数据类型来完全指定case语句。尽管上面的示例使用了“STDYLogiCyValm”类型,但是错误消息可以在VHDL中使用任何数据类型发生。
如果不希望指定所有其他数据类型,可以通过添加以下行来避免错误:
当别人=& Res & lt;= a;
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
实体样本检验
端口(A:在STdLogLogic向量中(3下降到0);
在StdLogLogic向量中(3下降到0);
C:在StdLogLogic向量中(3下降到0);
D:在STdLogLogic向量(3下降到0);
StdLogLogic向量(1下降到0);
RES:ExtSdLogLogic向量(3下降到0);
终末检验;
CASE测试的体系结构
开始
过程(SEL,A,B,C,D)开始
案例(SEL)
当“00”=Res & lt=a;
当“01”=Res & lt;=B;
当“10”=Re & lt;=C;
当“11”=Re & lt;=D;
当其他=& gt;Res & lt;= a;-默认语句
结束情况;
结束过程;
终末壳弓;
但是,如果在设计中没有完全指定case语句,则必须确保所有的情况都根据设计规范解决。
没有回复内容