微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 如何让begin ... end 内的程序严格顺序执行呢

如何让begin ... end 内的程序严格顺序执行呢

时间:10-02 整理:3721RD 点击:
个问题,如何让begin ... end里面的程序语严格顺序执行呢,因为我发现我的程序里面它会偶尔不是按照我的意思执行,比如说,我下面的程序语句
else if ((pulse_peak > 602) && (pulse_peak <= 2048))
                                                                                 
         begin
                                                                                         
                  number_46_50 <= number_46_50 + 1;  //record the number of channel 20
                  total_number <= total_number + 1;  
                  transit_time <= 0;  //reset the transit_time equals zero,
                                                                                    
         end
我的原意是当符合else if 内的条件时, number_46_50 自动加1,然后总数total_number 也加1,可是我最后的结果却是total_number 都会严格加1,可是number_46_50 有时就不动,还保留原值。具体可以看图件Signal Tap所抓的实时波形,total_number 由08H增加到09H,可是number_46_50仍保持08H,为什么呢?有没什么方法可以克服?
谢谢各位路过的先!


看看你这个变量是不是还有其他地方赋值?

大哥,你需要学习基本的数字设计的知识。这不是写C, C++程序。

把程序贴全

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top