赞
踩
题目描述:编写一个模块,输入一个64比特的比特流,识别匹配出101101的最后的位置,并输出位置信息。
思路:移位比较的思路进行比较,count计数输出位置信息;
module top( input clk, input rstn, input valid, input din, output done, output [5:0] pos ); reg [5:0] shift_reg; reg [5:0] cnt; reg [5:0] pos_r; reg done_r; always @(posedge clk or negedge rstn) begin if(!rstn) begin cnt<='b0; end else if(valid) begin if(&cnt) cnt<='b0; else cnt<=cnt+1'b1; end end always @(posedge clk or negedge rstn) begin if(!rstn) begin shift_reg<='b0; end else if(valid) begin shift_reg<={shift_reg[4:0],din}; end end always @(*) begin if(!rstn) begin pos_r<='b0; end else if(shift_reg==6'b101001) begin pos_r<=cnt-6; end end assign pos=pos_r; always @(posedge clk or negedge rstn) begin if(!rstn) begin done_r<='b0; end else if(&cnt && valid) begin done_r<=cnt; end end assign done_r=done; endmodule
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。