[VHDL] 怎样理解下面的if嵌套语句

[复制链接]
2885|3
 楼主| sunboy25 发表于 2018-7-10 11:44 | 显示全部楼层 |阅读模式
本帖最后由 sunboy25 于 2018-7-11 16:21 编辑

process(q(14))
        begin
                if(q(14)'event and q(14)='1') then
                        if second<"111011" then
                                second <= second+1;
                        else
                                second <="000000";
                                if minl < "1001" then
                                        minl <= minl+1;
                                else
                                        minl <= "0000";
                                        if minh < "101" then
                                                minh <= minh+1;
                                        else
                                                minh <="000";
                                                if hourh <"10" then
                                                        if hourl < "1001" then
                                                                hourl <= hourl+1;
                                                        else
                                                                hourl <= "0000";
                                                                hourh <= hourh+1;
                                                        end if;
                                                else if hourh = "10" then
                                                                if hourl <"0011" then
                                                                        hourl <= hourl+1;
                                                                else
                                                              hourl <= "0000";
                                                                        hourh <= "00";
                                                                end if;
                                                        end if;
                                                end if;
                                        end if;
                                end if;
                        end if;
                end if;
        end process;
我想问一下怎样理解上面的if嵌套语句,后面结尾end if需要多少个,是怎样来的,有谁对这样的嵌套语句有好的理解方式的请不吝赐教?
ucx 发表于 2018-7-13 16:28 来自手机 | 显示全部楼层
任何一个if都要有一个end if和其配对。然后这种写法不仅可读性差,而且生成的电路逻辑延时较大。在QUARTUS的早期软件,明确建议在else中不再嵌套if。
 楼主| sunboy25 发表于 2018-8-9 13:41 来自手机 | 显示全部楼层
谢谢高手指教!
liyang950813 发表于 2019-7-27 16:25 | 显示全部楼层
if else 嵌套最好不要超过5级
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

24

帖子

2

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