通过在VHDL中监视相同的管脚,将值设置为管脚

通过在VHDL中监视相同的管脚,将值设置为管脚,vhdl,Vhdl,在监控同一引脚中的值后,是否可以将inout引脚设置为特定值。例如,如果我们有一个inout信号,那么如果该信号上的值为1,那么在执行特定操作后,我们可以在vhdl中将该引脚的值设置为零。您所描述的内容没有多大意义。你确定你正确理解了需求吗 您的加载信号听起来像是输入模块的外部控制信号。您不应该试图更改该信号的值-控制模块的人应该这样做 只要断言了加载信号(1),您就可能正在加载移位寄存器,并且可能在不同的输入信号上提供了任何值(例如,并行数据)。当外部逻辑解除对加载信号的评估(0)时,您可能应

在监控同一引脚中的值后,是否可以将inout引脚设置为特定值。例如,如果我们有一个inout信号,那么如果该信号上的值为1,那么在执行特定操作后,我们可以在vhdl中将该引脚的值设置为零。

您所描述的内容没有多大意义。你确定你正确理解了需求吗

您的
加载
信号听起来像是输入模块的外部控制信号。您不应该试图更改该信号的值-控制模块的人应该这样做

只要断言了
加载
信号(
1
),您就可能正在加载移位寄存器,并且可能在不同的输入信号上提供了任何值(例如,
并行数据
)。当外部逻辑解除对
加载
信号的评估(
0
)时,您可能应该开始在每个时钟周期将加载数据的一位移出到输出信号(例如,
串行数据

请注意,不需要双向信号


<>这都是基于我所登记的移位寄存器的典型行为,可能会或可能不符合你想要达到的目标。

< P>这听起来不是一个好的计划,我不完全确定你想做,但是我想如果你能把事情安排好:

  • 你有一个电阻把电线拉到地上
  • 您的外部设备会将电线拉得很高
  • FPGA捕获高电平引脚,然后将其驱动到高电平
  • 外部源在看到引脚变高后变为三态
  • 当FPGA想要标记它已经完成(或其他)时,它可以设置引脚三态,电阻器将再次将其拉低
  • 重复
我想这一功能的一个用途是外部设备触发一些处理,FPGA指示何时完成,在这种情况下,FPGA代码可能类似于:

pin_name <= '1' when fpga_is_processing = '1' else 'Z';
start_processing <= '1' when pin_name = '1' and pin_name_last = '0';
pin_name_last <= pin_name when rising_edge(clk); 

pin_name解释你想要做什么,你尝试过什么?我必须实现一个移位寄存器,它有一个异步信号负载,输入输出。当它的值为1时,我必须加载数据,当它的值为0时,我们必须移动数据。所以加载数据后,负载信号必须为零。即加载中出现“1”后,我们必须将该值更改为0。