modelsim波形输出值出现高阻态是什么原因

2024-11-29 21:50:19
推荐回答(1个)
回答1:

高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。 高阻态的实质: 电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。他的极限可以认为悬空。也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。而实际应用上与引脚的悬空几乎是一样的。 高阻态的意义: 当门电路的输出上拉管导通而下拉管截止时,输出为高电平;反之就是低电平;如上拉管和下拉管都截止时,输出端就相当于浮空(没有电流流动),其电平随外部电平高低而定,即该门电路放弃对输出端电路的控制 。
RT
刚学的VHDL语言,用quartus10.1写好一个3-8译码器后,经过start compilation =>start test bench templte writer,生成了.vho和.vht2个文件,然后调用modelsim仿真,可是出现的只有红线,是不是少了什么激励信号啊?如果是的话应该怎样用VHDL写这个激励信号,然后加入工程进行仿真呢?是不是所有的激励信号都差不多呢?小弟初学quartus,还有好多不明白的地方啊,一个仿真搞得头都大了,哪位达人具体介绍一下吧····
3-8译码器程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_ARITH.ALL;
use ieee.std_logic_UNSIGNED.ALL;

entity decoder is
port(a,b,c,e1,e2,e3:in std_logic; --in design
y:out std_logic_vector(7 downto 0) --out design
);
end decoder;
architecture rt1 of decoder is
signal indata: std_logic_vector(2 downto 0); --signal design
begin
indata<= c&b&a;
process(indata,e1,e2,e3)
begin
if(e1='0'and e2='0'and e3='1') then
case indata is
when "000"=>y<="11111110";
when "001"=>y<="11111101";
when "010"=>y<="11111011";
when "011"=>y<="11110111";
when "100"=>y<="11101111";
when "101"=>y<="11011111";
when "110"=>y<="10111111";
when "111"=>y<="01111111";
when others=>y<="11111111";
end case;
else
y<="00000000";
end if;
end process;
end rt1;