程序声明

时间:2015-07-16 08:36:15

标签: vhdl

我想知道以下程序声明之间是否存在任何功能差异:

TypeError: not all arguments converted during string formatting

我试图找到信息,但也许我不知道我能在哪里得到它。感谢您的回复

1 个答案:

答案 0 :(得分:1)

VHDL-2008标准在“4.2.2.1正式参数列表”中描述了这一点:

  

对于那些带模式的参数,过程的形式参数允许的唯一模式是   in,inout和out。如果模式为in且未明确指定对象类,则假定为常量。如果   mode是inout或out,并且没有显式指定对象类,假定变量。

由于spi_data_mosi的模式是in,因此在第一种情况下没有明确的对象类constant类,而在第二种情况下,类被明确地赋予{{ 1}}。

VHDL-2008稍后将在“4.2.2.1正式参数列表”中描述;

  

在子程序调用中,与类信号的形式参数相关联的实际指示符(见6.5.7.1)应为表示信号的名称。与类变量形式相关的实际指示符应为a   表示变量的名称。与类常量形式相关联的实际指示符应为表达式。

这也给出了Brian Drummonds评论的背景,因为类signalsignal的参数需要同一类的形式,其中类variable的参数只需要一个表达式,可以使用文字,信号和变量创建。