在设置为Z状态VHDL的同时下拉引脚输出

时间:2015-04-23 12:32:50

标签: vhdl fpga

当我在Z' Z'陈述它保持它以前的状态。

例如:

if rising_edge(Clock) then
   counter <= counter + 1;
   case counter is
      when 0 =>
        PIN <= '0';
      when 1 =>
        PIN <= 'Z';
      others =>
   end case;
end process;

如果我执行此代码,我会将PIN设置为&#39; 0&#39;在&#39; Z&#39;状态。

if rising_edge(Clock) then
   counter <= counter + 1;
   case counter is
      when 0 =>
        PIN <= '1';
      when 1 =>
        PIN <= 'Z';
      others =>
   end case;
end process;

如果我执行此代码,我的PIN码设置为&#39; 1&#39;在Z州。

我需要的是将PIN设置为&#39; 0&#39;在Z州,不管以前的状态如何。但是我需要在不使用额外的时钟周期来设置PIN码的情况下完成此操作。到&#39; 0&#39;然后到&#39; Z&#39;。这可能吗?

1 个答案:

答案 0 :(得分:1)

如果您需要将FPGA引脚设为三态,并且还需要下拉,则必须在工具链的引脚配置工具中设置下拉。我不知道任何FPGA工具链会推断从分配到'L'的下拉,这似乎是你想要的(与下拉三态似乎相当于&#39;弱低&#39;)。如果您仅运行模拟,请尝试设置PIN <= 'L'