id_counter.v

来自「一个实现简单的数字锁相环Verilog代码」· Verilog 代码 · 共 79 行

V
79
字号
module id_counter(IDclock,                  reset,                  inc,                  dec,                  IDout);input IDclock; /*系统时钟信号*/input reset;   /*全局复位信号*/input inc;   /*脉冲加入信号*/input dec;   /*脉冲扣除信号*/output IDout; /*调整后的输出信号*/wire Q1, Qn1, Q2, Qn2, Q3, Qn3;wire Q4, Qn4, Q5, Qn5, Q6, Qn6;wire Q7, Qn7, Q8, Qn8, Q9, Qn9;wire D7, D8; FFD FFD1(.clock(IDclock),				 .reset(reset),				 .D(inc),				 .Q(Q1),				 .Q_not(Qn1)				 );FFD FFD2(.clock(IDclock),				 .reset(reset),				 .D(dec),				 .Q(Q2),				 .Q_not(Qn2)				 );FFD FFD3(.clock(IDclock),				 .reset(reset),				 .D(Q1),				 .Q(Q3),				 .Q_not(Qn3)				 );FFD FFD4(.clock(IDclock),				 .reset(reset),				 .D(Q2),				 .Q(Q4),				 .Q_not(Qn4)				 );FFD FFD5(.clock(IDclock),				 .reset(reset),				 .D(Q3),				 .Q(Q5),				 .Q_not(Qn5)				 );FFD FFD6(.clock(IDclock),				 .reset(reset),				 .D(Q4),				 .Q(Q6),				 .Q_not(Qn6)				 );assign D7=((Q9 & Qn1 & Q3) | (Q9 & Q5 & Qn3));assign D8=((Qn9 & Qn2 & Q4) | (Qn9 & Q6 & Qn4));FFD FFD7(.clock(IDclock),				 .reset(reset),				 .D(D7),				 .Q(Q7),				 .Q_not(Qn7)				 );FFD FFD8(.clock(IDclock),				 .reset(reset),				 .D(D8),				 .Q(Q8),				 .Q_not(Qn8)				 );JK FFJK(.clock(IDclock),				 .reset(reset),				 .J(Qn7),				 .K(Qn8),				 .Q(Q9),				 .Q_not(Qn9)				 );assign IDout = ~((IDclock)|Q9);endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?