OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3159|回复: 1

[ALTERA] 非阻塞赋值是怎么执行的 。。

[复制链接]

61

主题

194

帖子

0

精华

高级会员

Rank: 4

积分
603
金钱
603
注册时间
2013-11-15
在线时间
69 小时
发表于 2023-5-9 11:04:02 | 显示全部楼层 |阅读模式
1金钱
请问这段程序的语句是怎么执行的  

always @(posedge sys_clk or negedge sys_rst_n) begin
    if (!sys_rst_n) begin
        key_reg   <= 1'b1;
        delay_cnt <= 32'd0;
    end
    else begin
        key_reg <= key;                                                                                                     1
        if(key_reg != key)             //一旦检测到按键状态发生变化(有按键被按下或释放)                2
            delay_cnt <= 32'd1000000;  //给延时计数器重新装载初始值(计数时间为20ms)           3
        else if(key_reg == key) begin  //在按键状态稳定时,计数器递减,开始20ms倒计时            4
                 if(delay_cnt > 32'd0)                                                                                       5
                     delay_cnt <= delay_cnt - 1'b1;                                                                      6
                 else                                                                                                             7
                     delay_cnt <= delay_cnt;                                                                              8
             end           
    end   
end

每句话的后面带有数字标号,是1,2,4同时执行么,还是先计算1,在运行2,4.
还是都不对

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

3229

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8074
金钱
8074
注册时间
2020-5-11
在线时间
3574 小时
发表于 2023-5-9 11:53:41 | 显示全部楼层
估计转换成电路后,就是个边沿触发的触发器。
傲游截图20230509115242.jpg
专治疑难杂症
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-10-4 06:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表