在监视同一个引脚中的值后,是否可以将输入引脚设置为特定值。如果我们有一个输入信号,那么如果该信号上的值为1,那么在执行特定操作后我们可以设置该引脚的值在vhdl中为零。
答案 0 :(得分:0)
你所描述的内容并没有多大意义。您确定正确理解要求吗?
您的load
信号听起来像一个外部控制信号,是您模块的输入。您不应该尝试更改该信号的值 - 无论谁控制您的模块都应该这样做。
只要load
信号被置位(1
),您可能应该使用可能在不同输入信号上提供的任何值加载移位寄存器(例如,{{1} })。当外部逻辑将parallel_data
信号置为无效(load
)时,您应该开始将每个时钟周期的一位加载数据移出到输出信号(例如,0
)
请注意,不需要双向信号!
这完全基于我认为移位寄存器的典型行为,并且可能与您想要实现的内容相匹配。
答案 1 :(得分:0)
这听起来不是一个好的计划,我不完全确定你想要这样做,但我想如果你可以这样设置:
我认为这样做的一个用途是外部设备触发一些处理,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);
start processing
将在pin_name
信号的上升沿产生单个时钟脉冲。 fpga_is_processing
将是处理块的输出,在外部设备停止将引脚驱动为高电平之前必须“返回”。
你可能想要对pin_name
信号上的边缘检测器进行“去噪”,以减少外部故障触发处理的可能性。有各种方法可以实现这一目标。