0

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

我的 FPGA 项目

4

1 回答 1

0

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

于 2020-05-31T08:05:11.183 回答