verilog设计一个串行数据检测器(共3页).doc
-
资源ID:13854171
资源大小:32.50KB
全文页数:3页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
verilog设计一个串行数据检测器(共3页).doc
精选优质文档-倾情为你奉上题目:设计一个串行数据检测器。要求是:连续4个或4个以上为1时输出为1,其他输入情况下为0。代码如下:module four_one( x, z, clk, rst, state);input x, clk, rst;output z;output2:0 state;reg2:0 state;wire z;parameter IDLE = 'd0, A = 'd1, B = 'd2,C = 'd3,D = 'd4;assign z = (state = D) ? 1 : 0;always (posedge clk or negedge rst)if (!rst)begin state <= IDLE;endelsecasex (state)IDLE: if (x = 1)begin state <= A;endelsebeginstate <= IDLE;endA: if (x = 1)begin state <= B;endelsebeginstate <= IDLE;endB: if (x = 1)begin state <= C;endelsebeginstate <= IDLE;endC: if (x = 1)begin state <= D;endelsebeginstate <= IDLE;endD: if (x =1)begin state <= D;endelsebeginstate <= IDLE;enddefault: state <= IDLE;endcaseendmodule测试代码如下:timescale 1ns / 1psmodule four_one_tst;reg x;reg clk, rst;wire z;wire 2:0 state;always #20 clk = clk;always (posedge clk)begin#20 x <= $random%2;endfour_one uut (.x(x), .z(z), .clk(clk), .rst(rst), .state(state);initialbeginx = 0;clk = 0;rst = 1;#2 rst = 0;#50 rst = 1; #500 $stop;end endmodule使用ModelSim仿真波形:专心-专注-专业