INOUT为输入输出双向端口,即从端口内部看,可以对端口进行赋值,即输出数据。也可以从此端口读入数据,即输入。
BUFFER为缓冲端口,功能与INOUT类似,区别在于当需要读入数据时,只允许内部回读内部产生的输出信号,即反馈。举个例子,设计一个计数器的时候可以将输出的计数信号定义为BUFFER,这样回读输出信号可以做下一计数值的初始值
buffer顾名思义就是缓存,它是作为输出使用的,因为在模块内,是不可以将输出赋值给其他信号的,例如定义b: out std_logic;我们现在要将b赋值给信号a,就会出错,但是如果b的类型为buffer就可以执行操作;
inout是双向端口,即可以作为输入也可以作为输出,跟buffer的作用完全不同,要注意的是inout类型的数据在不作为输入使用时必须被置为高阻“Z”状态,否则它作为输出的功能将不能正确执行
用户44421 2009-6-6 11:13
用户44421 2009-6-6 11:12