Modelsim 仿真无反应 求帮助啊!

2019-07-16 01:40发布

今天在modelsim里进行程序仿真, 但是无论用手动激励还是激励文件,点击RUN以后modelsim就没有反应了,点stop也没有反应,不能停止仿真,而且左下角始终显示运行了0ps,不知道是不是编写的程序有问题?请各位大神帮帮忙看看!万分感谢
代码如下:

  1. module count96( add_clk,d_in,en,adder,lp,red,d_out,sel,i,cl );
  2. input add_clk,sel,en; //地址计数时钟,8分频
  3. output adder,d_out,lp,red,i,cl; //地址输出,lp为锁存移位信号
  4. input[7:0] d_in;


  5. reg[15:0] adder,adder1;
  6. reg lp,red,i,a;
  7. reg[15:0] count1;
  8. reg[7:0] count2,d_out;
  9. reg count3;


  10. wire clk,cl;

  11. parameter dely = 10;
  12. parameter zero = 8'h00;


  13. //
  14. //初始化内部计数数据
  15. //
  16. initial begin
  17. count1 <= 0;
  18. count2 <= 0;
  19. count3 <= 0;
  20. i <= 0;
  21. a <= 0;
  22. red <= 0;
  23. end

  24. //
  25. //输出逻辑组合
  26. //
  27. assign clk = a & add_clk; //使能控制时钟输出
  28. assign cl = clk; //移位脉冲


  29. always if(en) a <= 1; //将出发信号转换成使能信号

  30. else if(count1 == 0)
  31. @(negedge add_clk) #(7*dely) a <= 0;

  32. always if(a) begin d_out <= (sel)? d_in:zero ; //使能控制数据输出.通过sel判断输出数据
  33. adder <= adder1;
  34. end
  35. else begin d_out <= 8'hzz;
  36. adder <= 16'd0;
  37. end

  38. //
  39. //地址信号产生模块
  40. //

  41. always @(posedge add_clk)

  42. if(count1 == 38399) begin //计数MAX`h9600
  43. adder1 = count1;
  44. i = ~i;
  45. count1 = 0;
  46. end
  47. else if( en |(count1 != 0)) begin
  48. adder1 = count1;
  49. count1 = count1 + 16'd1;
  50. end


  51. //
  52. //LP信号计数模块
  53. //每120个时钟产生一个1时钟宽的高电平out信号

  54. always @(posedge add_clk)
  55. if(count2 == 119) begin
  56. count3 = 1;
  57. count2 = 0;

  58. end
  59. else if ( a | (count2 != 0)) begin
  60. count3 = 0;
  61. count2 = count2 + 8'd1;

  62. end
  63. //
  64. //LP信号产生模块
  65. //当out为高时,生成一个80ns脉宽的lp信号

  66. always @(negedge clk )
  67. if( count3 & a ) begin
  68. lp <= 1;
  69. #( 8*dely ) lp <= ~lp ; //使lp产生80ns脉宽的出发信号
  70. end
  71. else lp<=0;

  72. //
  73. //读信号red产生模块
  74. //脉宽130ns

  75. always @(posedge add_clk )if (a) begin
  76. #(3*dely) red <= 0;
  77. #(13*dely) red <= ~red; //脉宽100ns

  78. end
  79. endmodule
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。