在VHDL中的(2)个模块之间链接(2)个投标人端口

问题描述 投票:0回答:1

我有一个FPGA,它接受来自两个微控制器的8位地址和数据总线(两个都使用1条总线)。使用2:1多路复用器,我的FPGA一次只能选择一个器件输入(地址和数据),并且选择是基于到FPGA的外部信号进行的。我还有一个单独的解码器和寄存器模块,微控制器可以对其进行读写。所以我的问题是,如何使用端口映射分配将来自我的多路复用器的比迪尔输出信号链接到更高级别的解码器/寄存器比迪尔输入模块。使用std_logic_vector(7..0)无效,因为出现错误“此信号已连接到多个驱动程序”。我认为我需要对两者进行三态陈述,但不确定。看下面的图片,绿色圆圈是我要粘在一起的东西。由于我是新用户,因此目前无法嵌入图片。

My FPGA Project

vhdl fpga bidirectional mux inout
1个回答
0
投票

您以为您需要三态是正确的,但是这需要在FPGA的边缘,即在IO引脚上。您不能在FPGA内具有双向端口。因此,对于每个比迪尔销钉,您都具有三个信号,即传入传出信号和方向。如果所有引脚始终具有相同的方向,则可以对所有引脚使用相同的信号。您的数量为四,这意味着您无需将输入信号进行复用,因为它们可以被拆分(一个信号到多个实例),但是您需要一个输出信号(多个实例到一个信号)。

© www.soinside.com 2019 - 2024. All rights reserved.