首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我已经写了JK触发器的verilog代码使用primitive

我已经写了JK触发器的verilog代码使用primitive
EN

Stack Overflow用户
提问于 2019-12-23 00:10:55
回答 1查看 309关注 0票数 0
代码语言:javascript
运行
复制
  primitive ffjk (Q, Clk, set, reset, J, K);
    output Q;
    input Clk, set, reset, J, K;
    reg Q;
    table
//      Clk  set  reset  J   K   :  Q  :  Qnew
        ?     1     0    ?   ?   :  ?  :    1;
        ?     0     1    ?   ?   :  ?  :    0;
        ?    10     0    ?   ?   :  ?  :    -;
        ?     0    10    ?   ?   :  ?  :    -;
       01     0     0    0   0   :  ?  :    -;
       01     0     0    0   1   :  ?  :    0;
       01     0     0    1   0   :  ?  :    1;
       01     0     0    1   1   :  0  :    1;
       01     0     0    1   1   :  1  :    0;
        ?     0     0    ??  ??  :  ?  :    -;
    endtable
endprimitive

module ff(Q, Clk, set, reset, J, K);
    input Clk, set, reset, J, K;
    output reg Q;

    ffjk M1(Q,Clk,set,reset,J,K);
endmodule

我已经制作了一个JK FF的原语。然后我制作了一个模块,并在其中使用了原语。我还编写了一个测试平台来执行这段代码。我经常在第二行遇到语法错误。

代码语言:javascript
运行
复制
jkff.v:2: syntax error

投降了。

EN

回答 1

Stack Overflow用户

发布于 2019-12-23 02:12:44

这是iverilog的一个问题。它只接受非常旧的Verilog语法。在单独的行上编写reg声明。

代码语言:javascript
运行
复制
primitive ffjk (Q, Clk, set, reset, J, K);
    output Q;
    input Clk, set, reset, J, K;
    reg Q;

用Verilog-2001/SystemVerilog编写这段代码的正确方法是

代码语言:javascript
运行
复制
primitive ffjk (output reg Q,
                input Clk, set, reset, J, K );

然后,您将会遇到表的问题。如果你不能解决这个问题,你将不得不问另一个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59445877

复制
相关文章

相似问题

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