⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 k_counter.v

📁 一个实现简单的数字锁相环Verilog代码
💻 V
字号:
module k_counter(Kclock,                 reset,                 dnup,enable,                 Kmode,                 carry,                 borrow                  );input  Kclock,       reset,       dnup,       enable;input[2:0]  Kmode;output carry,       borrow;reg[8:0]   count; /*可逆计数器*/reg[8:0]   Ktop;  /*预设模值寄存器*//*根据计数器模值设置信号Kmode来设置预设模值寄存器的值*/always @(Kmode)begincase(Kmode)   3'b001:  Ktop = 7;   3'b010:  Ktop = 15;   3'b011:  Ktop = 31;   3'b100:  Ktop = 63;   3'b101:  Ktop = 127;   3'b110:  Ktop = 255;   3'b111:  Ktop = 511;   default:Ktop = 15;endcaseend/*根据鉴相器输出的加减控制信号dnup进行可逆计数器的加减运算*/always @(posedge Kclock or negedge reset)begin   if(~reset)      count <= 0;   else if(enable)   begin      if(~dnup)    // 进行加运算      begin         if(count==Ktop)            count <= 0;         else            count <= count+1;      end      else begin   // 进行减运算         if(count==0)            count <= Ktop;         else            count <= count-1;      end   endendassign carry = enable&(~dnup)&(count==Ktop);assign borrow = enable&(dnup)&(count==0);endmodule           

⌨️ 快捷键说明

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