vhdl中如何在process的if语句中调用定义的component
我的编程中多次用到相同的功能模块,我想在过程中直接引用一个component,省去代码的编写和代码行。但是总是出错。之前已经例化过component。if(。。。)the...
我的编程中多次用到相同的功能模块,我想在过程中直接引用一个component,省去代码的编写和代码行。但是总是出错。之前已经例化过component。
if(。。。)then
u0:multi
port map ();
错提示:少括号或是“.”或“ '”,不知错在何处,求赐教 展开
if(。。。)then
u0:multi
port map ();
错提示:少括号或是“.”或“ '”,不知错在何处,求赐教 展开
1个回答
展开全部
过程是可以共享的进程,过程中的语句与进程中的语句一样,只能是顺序语句,而元件例化语句是并行语句,不能够出现在过程中。
你的描述:
if(。。。)then
u0:multi port map ();
不符合硬件设计的规律。
你的描述用文字来表达就是:如果某个条件成立,则硬件中就有元件multi,否则硬件中就没有这个元件。这是不可能实现的。
你的描述:
if(。。。)then
u0:multi port map ();
不符合硬件设计的规律。
你的描述用文字来表达就是:如果某个条件成立,则硬件中就有元件multi,否则硬件中就没有这个元件。这是不可能实现的。
追问
如果我想实现类似功能,应该怎么做?用函数function可以吗?不用component例化,若果可以应该怎么做,或者有没有其他方法
追答
在过程中可以调用其它过程或者函数。
如果你有元件的行为描述(用顺序语句和进程语句),则可以将其写成过程(有多个输出)或者函数(只有一个输出),然后就可以在其它行为描述(例如进程体或者过程体中)的地方调用了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询