名称:基于FPGA的可变模计数器Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
试用 verilog语言描述一个变模计数器,在s和T的控制下实现同步模10模12模24和模60计数,其模数控制表如6.7.4所示,并要求具有异步清零和暂时计数的能,然后用quartus软件进行逻功能仿真,并给出仿真波形。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 题目
2. 工程文件
3. 程序文件
4. 程序编译
5. 仿真图设置
6. 仿真图
整体仿真
异步清零,reset_n为低电平时计数器输出0
异步清零,reset_n为低电平时计数器输出0
暂停计数,enable为低电平时,暂停计数,高电平时正常计数
模10计数器,S=0,T=0
模12计数器,S=0,T=1
模24计数器,S=1,T=0
模60计数器,S=1,T=1
部分代码展示:
module mod_counter( input clk, input reset_n,//复位清零信号 input S,// input T,// input enable,//暂停控制信号,为1时正常计数,为0时暂停 output reg [5:0] counter//计数器输出 ); wire [1:0] ST; assign ST={S,T};//输入ST reg [5:0] mod_cnt=6'd0; always@(posedge clk or negedge reset_n) if(!reset_n)//低电平复位 mod_cnt<=6'd0; else case(ST) 2'b00:mod_cnt<=6'd10;//模10计数 2'b01:mod_cnt<=6'd12;//模12计数 2'b10:mod_cnt<=6'd24;//模24计数 2'b11:mod_cnt<=6'd60;//模60计数 default:; endcase always@(posedge clk or negedge reset_n) if(!reset_n)//低电平复位 counter<=6'd0; else if(enable==1)
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=669
阅读全文
623