【发布时间】:2020-06-02 18:24:19
【问题描述】:
我正在尝试编写一个包含 inout 端口的 vhdl 代码,并且怀疑 inout 端口是否在同一程序中充当输入和输出。就像我知道使用 inout 引脚的原因是它可以双向工作,但是我的疑问是,如果您考虑像在微控制器中这样的实际示例,我看到引脚充当一个程序或应用程序的输入,并作为另一个程序或应用程序的输出。引脚工作可以在同一个程序中同时询问输入和输出吗?这可能吗?(如 1时钟周期它的输入和另一个它的输出) 实际上它似乎不可能发生。但是有人可以帮忙回答一下
【问题讨论】:
-
我建议您主要将其设计为单独的输入和输出,并在 I/O 焊盘或边缘附近的某个地方将输入、输出、输出启用等组合在一起。并且是否可以同时是由那个I/O pad或类似的决定的。这样您就可以灵活地使用相同的代码来支持这两种情况。
-
它们不能真正同时作为输出在做某事时会以某种方式干扰您将其用作输入。如果它那么弱,那么它的输出就不多。但如果回答有人实施了一个,只需要一个案例就可以肯定它已经发生了。
-
VHDL 没有引脚,并且端口可以与设计层次结构中的网络相关联。 VHDL 还提供行为设计描述,可以模拟 或使用符合合成条件的子集生成硬件。该子集包括使用可以模拟双向引脚的模式 inout 的顶级端口。请注意现有答案和前面的 cmets 做出了不同的假设。你能澄清你的问题吗?
标签: vhdl microcontroller avr digital