vhdl的元件例化是不是不能放在在case下?要怎么让它在case下
例如CASEselISWHEN"000"=>D0:plusportmap(ci1,a1,b1,ALU_OUT1,co1);...
例如
CASE sel IS
WHEN "000"=> D0:plus port map(ci1,a1,b1,ALU_OUT1,co1); 展开
CASE sel IS
WHEN "000"=> D0:plus port map(ci1,a1,b1,ALU_OUT1,co1); 展开
展开全部
CASE语句是顺序语句,是用来进行行为描述的,必须放到进程体中或者子程序(函数、过程)中;而元件例化语句是并行语句,是用来进行结构描述的,不能出现在进程体中。
所以元件例化语句是不可以在CASE语句中出现的。
行为描述是用来描述真值表或者状态图的;RTL描述是用来描述逻辑表达式或者逻辑方程的;结构描述是用来描述逻辑电路图的。功能不同,不同混淆。
所以元件例化语句是不可以在CASE语句中出现的。
行为描述是用来描述真值表或者状态图的;RTL描述是用来描述逻辑表达式或者逻辑方程的;结构描述是用来描述逻辑电路图的。功能不同,不同混淆。
追问
但是我想让sel为000时进行加运算,001时进行减运算……有好多运算,要怎么办呢
追答
将你的各种运算写成函数或者过程,然后在CASE语句的WHEN子句中调用不同的函数或者过程。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询