My title page contents

相邻两个0之间最大间隔检测设计Verilog代码ISE仿真

名称:相邻两个0之间最大间隔检测设计Verilog代码ISE仿真

软件:ISE

语言:Verilog

代码功能:

相邻两个0之间最大间隔检测

1、设计代码检测相邻两个0之间最大间隔

2、输入数据为32位


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

间隔检测.doc

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仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员