首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JK FlipFlop代码调试

JK FlipFlop代码调试
EN

Stack Overflow用户
提问于 2013-10-05 16:23:30
回答 1查看 3.1K关注 0票数 0

以下是JK FlipFlop的代码:

代码语言:javascript
复制
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号线。解析错误,意外标识符

第21行是s<=j&k;,所以请帮助我纠正这段代码的语法,并告诉我这里出了什么问题。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-05 16:43:59

明白了。

在架构体中初始化一个新的信号,但在进程体内定义该值。

因此,将第21行移到进程内。

正确代码:-

代码语言:javascript
复制
   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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19199958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档