集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 7608|回复: 7

VHDL的If语句的优先级和并行问题

[复制链接]
I2C 发表于 2010-4-9 23:09:07 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-10-29 09:35 编辑

process(clk)
begin
    if rising_edge(clk) then

           if a='0' then              --第一个IF语句
               outa <= '1';
           end if;

           if b='1' then              --第二个IF语句
               outb <= '0';
           end if;
end if;
end process;

我像知道的是:在执行进程语句的时候,第一个和第二个是不是并发执行的,还是先执行完第一个IF语句再执行第二个IF语句
 楼主| I2C 发表于 2010-4-9 23:09:26 | 显示全部楼层
执行时是串行的!

看你要实现什么功能,如果你要最终先执行第一个再第二个的话,还是要改改代码了
 楼主| I2C 发表于 2010-4-9 23:09:37 | 显示全部楼层
在process中,语句是串行执行的,在process外,语句是并行执行。这个里面肯定是顺序执行的
 楼主| I2C 发表于 2010-4-9 23:09:49 | 显示全部楼层
资料   短消息 编辑 删除 引用 第4楼  


建议:在同一进程中最好只放入一个IF语句
TCL 发表于 2011-7-1 15:00:28 | 显示全部楼层
VHDL的If语句的优先级
蓝余 发表于 2011-7-5 18:39:50 | 显示全部楼层
这个问题看起来不怎么起眼,确实是需要注意的,一开始就保持良好的代码书写规范是很重要的。
honhu 发表于 2011-7-8 19:56:33 | 显示全部楼层
process内的语句是顺序执行。
liujilei311 发表于 2011-7-13 14:39:25 | 显示全部楼层
process内的语句是顺序执行的,process外边的语句是并行执行的,画程序流程图的时候一定要注意了!!!!!!!!
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-6-17 21:24 , Processed in 0.066820 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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