Switch statement NPN不在VHDL中模拟
我为一个VHDL NPN开关编写了以下代码,但出于某种原因,尽管语法正确且编译良好,但输出在模拟中不起作用Switch statement NPN不在VHDL中模拟,switch-statement,vhdl,Switch Statement,Vhdl,我为一个VHDL NPN开关编写了以下代码,但出于某种原因,尽管语法正确且编译良好,但输出在模拟中不起作用 LIBRARY ieee; LIBRARY work; USE ieee.std_logic_1164.all; entity npn is port ( p_In : in std_logic; p_Gate: in std_logic; p_Out : out std_logic ); end; architecture Simple of n
LIBRARY ieee;
LIBRARY work;
USE ieee.std_logic_1164.all;
entity npn is port (
p_In : in std_logic;
p_Gate: in std_logic;
p_Out : out std_logic
);
end;
architecture Simple of npn is
begin
process(p_In, p_Gate)
variable control: std_Logic;
begin
case p_Gate is
when '0' | 'L' =>
p_Out <= '0';
when '1' | 'H' =>
p_Out <= p_In;
when others =>
p_Out <= '0';
end case;
end process;
end;
ieee库;
图书馆工作;
使用ieee.std_logic_1164.all;
实体npn是端口(
p_In:In标准逻辑;
p_门:标准_逻辑中;
p_Out:输出标准逻辑
);
结束;
npn的架构非常简单
开始
过程(p_-In,p_-Gate)
变量控制:标准逻辑;
开始
案例p_门是
当“0”|“L”=>
p_Out
p_Out
p_Out您应该使用或而不是
case p_Gate is
when '0' or 'L' => p_Out <= '0';
when '1' or 'H' => p_Out <= p_In;
when others => p_Out <= '0';
end case;
案例p_门是
当“0”或“L”=>p_Out p_Out p_Out时,您是否可以包括您看到的使您认为输出错误的确切内容?也许是模拟的截图?可能是过渡失败了?这应该是NPN晶体管还是MOSFET?好的,问题是不管我在p_-in和p_门中使用的输入如何,模拟显示0过渡。有什么问题吗?你能发布你的测试台吗?嗨,我没有使用测试台进行编译和模拟。我希望这不会带来问题。另外,我的wifi不稳定,很抱歉响应太慢。不,你不应该使用或。恐怕你弄错了或
是VHDL中的or运算符<代码>|
用于case语句的备选方案|
是正确的语法或
甚至不编译,因为案例
语句中的此类表达式需要是一个简单表达式。