微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog小白入门,求助初值设置问题?

verilog小白入门,求助初值设置问题?

时间:10-02 整理:3721RD 点击:
小白一枚,打算熟悉一下门级描述。利用边沿触发器搭建一个摩尔电路。边沿触发器检查过了没有问题,但最终仿真波形中为不定态。应该是相互连接的问题,初值怎么设置都不对。请各位帮忙解答。代码如下:
module Detff(q,cp,d);
  input d;
  input cp;
  output q;
  wire d_,cp_,q,q_,g3,g4,g5,g5_,g6,g7,g8;
  not(d_,d);
  not(cp_,cp);
  nand(g8,d_,cp);
  nand(g7,d,cp);
  nand(g6,g5,g8);
  nand(g5,g6,g7);
  not(g5_,g5);
  nand(g4,cp_,g5_);
  nand(g3,cp_,g5);
  nand(q_,q,g4);
  nand(q,q_,g3);
endmodule
module spg(cp,p1,p2,p3,p4,p5);
  input cp;
  output p1,p2,p3,p4,p5;
  wire s;
  Detff D1(p1,cp,s);
  Detff D2(p2,cp,p1);
  Detff D3(p3,cp,p2);
  Detff D4(p4,cp,p3);
  Detff D5(p5,cp,p4);
  nor(s,p1,p2,p3,p4);
endmodule
  
module stimulus;
  reg CP;
  spg f(CP,P1,P2,P3,P4,P5);
  initial
  CP=1'b0;
  always
  #10 CP=~CP;
endmodule



玩门级的都是高手


呃 不是不是 看的palnitkar那本书 这书先讲的门级 所以就随便找个电路试试 结果 貌似是因为数据类型的问题吧 还望赐教啊

p1 p2 p3 p4 p5 为output,又作为Detff的输入,但是没有模块对它们赋值。


谢谢!我听懂问题出在哪里了。但是,我还是不知道,该怎么debug。就是,这种摩尔型的时序电路,本身就没有输入值。变量定义都是wire型的,我怎么在代码中实现呢?



   这样的仿真我还没有做过,主要应该是仿真软件的问题,从代码上看好像没有问题。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top