微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教下,关于用verilog实现一个从2开始的模8计数器

请教下,关于用verilog实现一个从2开始的模8计数器

时间:10-02 整理:3721RD 点击:

这是利用一个4位二进制计数器实现一个从2开始的模8计数器。
关于4位二进制计数器的端口说明:
1.QD,QC,QB,QA为输出计数值
2.ABCD为预制初值
3.LDbar=0时,QD=D,QC=C,QB=B,QA=A
4.CLRbar=0时,QD,QC,QB,QA都为0。

这个模8计数器,从2开始计数到9就跳回2,Q8为从9到2时输出一个负脉冲。

而现在问题是,我的模块代码如下,生成的电路图并Q8端口并没有连在电路上,
按理来说,应该条件语句中给他赋值了,应该就会有导线连在Q8了吧?
请大家帮忙分析下,谢谢!

  1. module octal_counter(
  2.     input CP,M,
  3.     output QA,QB,QC,QD,Q8
  4.     );
  5.     begin
  6.     reg A,B,C,D,LDbar,CLRbar,Q8;
  7.     initial
  8.         begin
  9.             A<=0;
  10.             B<=1;
  11.             C<=0;
  12.             D<=0;
  13.             CLRbar<=1;
  14.             LDbar<=1;
  15.         end
  16.     //LDbar=0时,QD=D,QC=C,QB=B,QA=A
  17.     binary_counter_4bit t1(A,B,C,D,M,LDbar,CLRbar,CP,QA,QB,QC,QD,QCCbar);
  18.    
  19.     always @(posedge CP)
  20.         begin
  21.             if(QD&&QA) //当QDQCQBQA=1001时,恢复预设值ABCD
  22.                 begin
  23.                     Q8=0;
  24.                     LDbar=0;
  25.                 end
  26.             else
  27.                 begin
  28.                     Q8=1;
  29.                     LDbar=1;
  30.                 end
  31.         end
  32.     end
  33. endmodule

复制代码




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

网站地图

Top