新手求教关于verilog 语法问题

[复制链接]
834|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

粉丝
快速回复 在线客服 返回列表 返回顶部