-1
实际上我想制作一个本地控制器来启用锁存器。 正如你可以在我的代码下面看到的,信号en将从w AND x的输出中启用锁存器。之后,w和x将取得en。例如,最初,假设w和x值从1开始,en将变为1,并使锁存器从data_in中将数据提取到data_out。之后,en将成为w和x的输入并导致锁存器禁用。但是,当我使用大学波形程序对其进行测试时,电路不工作。 data_out没有取data_in的值。我无法弄清楚在VHDL中我还是个新问题。希望你能协助/建议我:)对不起,我的英语不好。如何控制本地控制器的输入引脚
library ieee;
use ieee.std_logic_1164.all;
entity gasp_ctrl is
port(
w,x : inout std_logic; --! bidirectional wire
data_in : in std_logic; --! Data In when latch is enable
data_out: out std_logic --
);
end gasp_ctrl;
architecture ctrl of gasp_ctrl is
signal en, ww, xx : std_logic;
begin
en <= w and x; ------
ww <= en;
xx <= not en;
w <= ww;
x <= xx;
-------- Latch ------
process(en)
begin
if(en = '1') then
data_out <= data_in;
end if;
end process;
end gasp_ctrl;
您的VHDL代码不会分析。结构体的结束状态应该是'end ctrl;'或'end architecture;'或'end architecture ctrl;'而不是'end gasp_ctrl;'。输入端口信号模式的值应该是输出值和输入端设置值之间的分辨率值。如果没有时间控制哪个'结束'驱动器在什么时候你看起来没有尝试这个值,那么你试图归属于这两个信号'x'和'w'的函数并不可行。它也不可能是合成的资格。 – user1155120 2014-12-02 09:07:15