gpt4 book ai didi

vhdl - 与0或1比较,检测高阻抗

转载 作者:行者123 更新时间:2023-12-04 22:56:05 25 4
gpt4 key购买 nike

我知道在可综合的 VHDL 代码中不允许与 XZ 进行比较。但是是否允许编写代码,将信号与 01 进行比较以检测 Z 并暂停操作?代码如下:

process(clk)
begin
if rising_edge(clk ) then
if(rst = '0') then
reg_0 <= (others => 'Z');
elsif(btf_start = '1') then
reg_0 <= "ZZ" & frame_in;
elsif(t_btf_finish = '1') then
reg_0 <= (others => 'Z');
end if;
end if;
end process;

process(clk)
begin
if rising_edge(clk) then
if(reg_0(0) = '0' or reg_0(0) = '1') then
-- DO SOME OPERATIONS
else
-- DO NOTHING
end if;
end if;
end process;

最佳答案

不,这行不通。物理数字信号可以有两种状态,“0”和“1”。状态由信号上的电压定义:小于某个电压为“0”,大于该电压为“1”。即使是 float (高阻)信号也会有一些电压,这些电压将被解释为“1”或“0”。

“Z”基本上表示某个源不驱动信号,允许不同的源驱动“0”或“1”。对于没有源驱动信号的情况,信号通常会有一个上拉或下拉电阻,以默认将其保持在定义的“1”或“0”状态。

关于vhdl - 与0或1比较,检测高阻抗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17781265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com