我想创建一个具有两个输入时钟和一个使能的电路 和三个输出。我想要这个电路做的是它有一个 变量(续)从“00”变为“11”和两个输出 (sal_1和sal_2)取cont(0)和cont(1)的值并转到 输入ttl(AND,OR,XOR)然后输出ttl ic 返回到电路并在此之后保存(结果)矢量 根据ttl ic输出的不同结果创建的是 与已预定义的矢量进行比较,找到匹配的矢量 它并返回值。
我很难用输出然后输入时间,似乎 有一种特殊的方法可以做到这一点。
这是我的代码:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;
use IEEE.std_logic_arith.all;
entity ttl_finder is
port( clk, ena, sal_ttl : in std_logic;
sal_1, sal_2 : out std_logic;
sal_f : out std_logic_vector(3 downto 0));
end entity;
architecture ttl_tester of ttl_finder is
signal cont : std_logic_vector(1 downto 0) := "00";
signal results : std_logic_vector(3 downto 0) := "0000";
begin
process(clk, ena)
variable c : std_logic;
variable d : std_logic;
variable e : std_logic;
begin
if ena = '1' then
if cont < "11" then
sal_1 <= cont(0);
sal_2 <= cont(1);
if rising_edge(clk) then
results(conv_integer(cont)) <= sal_ttl;
end if;
cont <= cont + 1;
else
sal_1 <= cont(0);
sal_2 <= cont(1);
if rising_edge(clk) then
results(conv_integer(cont)) <= sal_ttl;
end if;
cont <= "00";
end if;
end if;
end process;
sal_f <= results;
end ttl_tester;