通过在VHDL中监视相同的管脚,将值设置为管脚
在监控同一引脚中的值后,是否可以将inout引脚设置为特定值。例如,如果我们有一个inout信号,那么如果该信号上的值为1,那么在执行特定操作后,我们可以在vhdl中将该引脚的值设置为零。您所描述的内容没有多大意义。你确定你正确理解了需求吗 您的通过在VHDL中监视相同的管脚,将值设置为管脚,vhdl,Vhdl,在监控同一引脚中的值后,是否可以将inout引脚设置为特定值。例如,如果我们有一个inout信号,那么如果该信号上的值为1,那么在执行特定操作后,我们可以在vhdl中将该引脚的值设置为零。您所描述的内容没有多大意义。你确定你正确理解了需求吗 您的加载信号听起来像是输入模块的外部控制信号。您不应该试图更改该信号的值-控制模块的人应该这样做 只要断言了加载信号(1),您就可能正在加载移位寄存器,并且可能在不同的输入信号上提供了任何值(例如,并行数据)。当外部逻辑解除对加载信号的评估(0)时,您可能应
加载
信号听起来像是输入模块的外部控制信号。您不应该试图更改该信号的值-控制模块的人应该这样做
只要断言了加载
信号(1
),您就可能正在加载移位寄存器,并且可能在不同的输入信号上提供了任何值(例如,并行数据
)。当外部逻辑解除对加载
信号的评估(0
)时,您可能应该开始在每个时钟周期将加载数据的一位移出到输出信号(例如,串行数据
)
请注意,不需要双向信号
<>这都是基于我所登记的移位寄存器的典型行为,可能会或可能不符合你想要达到的目标。 < P>这听起来不是一个好的计划,我不完全确定你想做,但是我想如果你能把事情安排好:
- 你有一个电阻把电线拉到地上
- 您的外部设备会将电线拉得很高
- 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。