在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5023|回复: 15

[求助] process内语句的执行顺序问题

[复制链接]
发表于 2010-7-3 18:25:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 hipie 于 2010-7-3 18:27 编辑

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DFF3 IS
PORT(CLK,D1:IN STD_LOGIC;
      Q1:OUT STD_LOGIC);
END;
ARCHITECTURE bhv OF DFF3 IS
      SIGNAL A,B:STD_LOGIC;
      BEGIN
            PROCESS(CLK) BEGIN
                  IF CLK’EVENT AND CLK =’1’ THEN
                        A<=D1;
                        B<=A;
                        Q1<=B;
                  END IF
            END PROCESS;
      END;
END bhv

小弟刚学Vhdl,对process内语句执行顺序,有些糊涂,以上程序中,if语句的三个赋值语句,是在一个CLK上升沿时,同时更新,还是每个赋值语句都需要一个上升沿?


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,再执行第二个if?

请高手们指教啊,谢谢啦!
发表于 2010-7-3 19:02:00 | 显示全部楼层
最简单的方法就是画电路图,一目了然了,是并行执行的!
 楼主| 发表于 2010-7-4 10:36:51 | 显示全部楼层
谢谢楼上啊,小弟刚学还是菜鸟,看书上说的process内的都是顺序执行的啊,怎么是并行呢?
发表于 2010-7-4 10:58:37 | 显示全部楼层
在时序逻辑下,这个顺序的概念,应该是体现在同一时刻上的顺序变化,我也觉得最好是理解了这条语句会转换为什么电路,你可能才能明白其中的深意。
发表于 2010-7-4 19:45:45 | 显示全部楼层
modelsim仿真一哈。
发表于 2010-7-5 09:38:11 | 显示全部楼层
并行,无优先级,可当成case语句的另一种写法。
发表于 2010-7-5 10:09:07 | 显示全部楼层
IF CLK’EVENT AND CLK =’1’ THEN
                        A<=D1;
                        B<=A;
                        Q1<=B;
                  END IF
都是同时实现的
发表于 2010-7-5 10:10:23 | 显示全部楼层
if a='0' then              --第一个IF语句
               outa <= '1';
           end if;

           if b='1' then              --第二个IF语句
               outb <= '0';
           end if;
都是并行实现的
 楼主| 发表于 2010-7-5 19:08:22 | 显示全部楼层
谢谢楼上的各位!再问问,什么时候是并行,什么时候是串行,该怎么去判断?
发表于 2010-7-6 12:47:33 | 显示全部楼层
不要被这两个名词给误导了,最好是拿实际的电路来理解会更好。不要只是从代码层面去理解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-12 01:32 , Processed in 0.031630 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表