新浪博客

ModelSim编译错误:case choice must be a locally static expression

2011-10-28 11:28阅读:
ModelSimSE 6.5在编译一段VDHL代码时,出现如下错误:
case choice must be a locally static expression
查到错误位于WHEN语句:
CASE state IS

WHEN st_idle =>
sclk_logic <= '1';
sdata_logic <= '1';
get_bit <= '0';

而变量声明语句为SIGNAL st_idle : INTEGER :=0;

若是将该变量声明语句改为Constant st_idle : INTEGER :=0;
则编译顺利通过。

究其原因,应该是ModelSim 6.5版本有些低,而早期版本对于case-choice的约束较为严格;若使用ModelSim10.0版本,利用VHDL2008来编译,则仅会给出一个warning
详见http://www.velocityreviews.com/forums/t743703-case-choice-must-be-a-locally-static-expression.html


我的更多文章

下载客户端阅读体验更佳

APP专享