【发布时间】:2020-12-08 17:14:20
【问题描述】:
我对 VHDL 和硬件编程比较陌生,我对端口映射和信号有疑问。
我想在当前项目中读取和写入一个特定信号,但我的讲师告诉我不应该使用“inout”,但当我问他为什么没有详细说明时。有人能告诉我为什么我不应该使用它而不是定义“输入”或“输出”信号吗?
对不起,如果这是一个愚蠢的问题或以前有人问过。
谢谢!
【问题讨论】:
-
感谢您提供此链接,很抱歉提出有人已经提出并得到答案的问题! :)
我对 VHDL 和硬件编程比较陌生,我对端口映射和信号有疑问。
我想在当前项目中读取和写入一个特定信号,但我的讲师告诉我不应该使用“inout”,但当我问他为什么没有详细说明时。有人能告诉我为什么我不应该使用它而不是定义“输入”或“输出”信号吗?
对不起,如果这是一个愚蠢的问题或以前有人问过。
谢谢!
【问题讨论】:
这是特定于 VHDL 的。当您使用模式定义端口时,您将赋予该端口某些架构属性。数据从模式为 IN 的端口流入实体。对于模式为 OUT 的端口,数据仅流出实体。因此,您无法读取实体内部的 OUT 端口。假设你有一个 foo: out std_logic;你不能写出 fi
我并不是要制作 foo: inout std_logic;但这可能是这样做的一个理由。 inout 允许分配和读取。
如果我不需要将端口作为实体的输入,我会亲自将其分配为 OUT。我会使用内部信号进行分配和读取,并从信号驱动输出端口。
【讨论】: