0

以下は、JK FlipFlop のコードです。

entity jkasync is
Port ( j : in std_logic;
       k : in std_logic;
       r : in std_logic;
       clk : in std_logic;
       q : inout std_logic);
 end jkasync;

architecture Behavioral of jkasync is
signal s: std_logic_vector(1 downto 0);
s <= j&k;
begin

  process (j,k,r,clk)
  begin

        if (r='1') then
        q<='0';
        elsif (falling_edge(clk)) then
        case    s is
        when "00" =>q<=q;
        when "01" =>q<='0';
        when "10" =>q<='1';
        when "11" =>q<= not q;
        when others =>q<='0';
        end case;
        end if;
    end process;


  end Behavioral;

そして、次のエラーが表示されます:-

21 行目。解析エラー、予期しない IDENTIFIER

21行目はどこs<=j&k; ですか?このコードの構文を修正するのを手伝ってください。ここで何が間違っているのか教えてください。ありがとうございました。

4

1 に答える 1

0

とった。

新しいシグナルはアーキテクチャ本体で初期化されますが、値はプロセス本体内で定義されます。

SO 行 21 をプロセス内に移動します。

正しいコード:-

   architecture Behavioral of jkasync is
  signal s: std_logic_vector(1 downto 0);

  begin
  s <= j&k;
  process (j,k,r,clk)
  begin

        if (r='1') then
        q<='0';
        elsif (falling_edge(clk)) then
        case    s is
        when "00" =>q<=q;
        when "01" =>q<='0';
        when "10" =>q<='1';
        when "11" =>q<= not q;
        when others =>q<='0';
        end case;
        end if;
    end process;


        end Behavioral;
于 2013-10-05T16:43:59.870 に答える