打印

新手求教关于verilog 语法问题

[复制链接]
674|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyz5534402|  楼主 | 2018-4-22 17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
always @ (posedge bclk or negedge rst)                       
      begin
      cnt<=cnt+1'b1;
        case (cnt)
        23:begin
        scl<=1'b0;       
        if (sda==1'b0) //ack
        begin cnt<=24;led[0]<=1'b1;end//指示灯1亮
        else
         begin cnt<=22;end
        end
               
        24:begin en<=1'b1;end//sda输出
        25:

当cnt=23的时候 需要等待sda的应答信号   在等待完成时候cnt<=24 那下一次bclk 的上升沿来时,cnt在case语句前加一了,为什么是执行的case(24)而不是case(25)

相关帖子

沙发
nethopper| | 2018-4-24 22:24 | 只看该作者
并行处理,本次轮回的输出值,下一个轮回才能当输入值,而本次轮回的输入值是上个轮回的输出值。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝