相邻两个0之间最大间隔检测设计Verilog代码ISE仿真
名称:相邻两个0之间最大间隔检测设计Verilog代码ISE仿真
软件:ISE
语言:Verilog
代码功能:
相邻两个0之间最大间隔检测
1、设计代码检测相邻两个0之间最大间隔
2、输入数据为32位
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. 仿真图

下图,相邻两个0之间最大间隔是3

下图,相邻两个0之间最大间隔是4

下图,相邻两个0之间最大间隔是0

下图,相邻两个0之间最大间隔是30

下图,相邻两个0之间最大间隔是0

下图,相邻两个0之间最大间隔是4

部分代码展示:
module bit0_32( input clk,//输入时钟 input rst,//复位高有效 input [31:0]Data,//输入DATA output reg [4:0]Gap//检测结果 ); parameter s_idle=4'd0;//空闲状态 parameter s_data_load=4'd1;//加载输入值 parameter s_detecting=4'd2;//检测 parameter s_detect_0=4'd3;//检测到0 parameter s_end=4'd4;//结束 reg [31:0]Data_buf=32'd0; reg [3:0]state=s_idle; integer shift_num=32;//当前检测位置 reg detection_0_en=0;//检测到0拉高 //状态机控制 always@(posedge clk) begin if(rst) begin state <=s_idle; end else begin case(state) s_idle : state<=s_data_load; s_data_load://加载输入值 begin state <=s_detect_0; Data_buf<=Data;//加载输入值 shift_num <=32; end s_detect_0: begin shift_num<=shift_num-1; if(shift_num==0)//判断是否检测完毕 begin state<=s_end;//结束 end else begin if(Data_buf[shift_num-1]==0)//检测当前位是不是0 begin state <=s_detecting; end
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 相邻两个0之间最大间隔检测设计Verilog代码ISE仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 相邻两个0之间最大间隔检测设计Verilog代码ISE仿真
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm