VHDL的If语句的优先级和并行问题
本帖最后由 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语句 执行时是串行的!
看你要实现什么功能,如果你要最终先执行第一个再第二个的话,还是要改改代码了 在process中,语句是串行执行的,在process外,语句是并行执行。这个里面肯定是顺序执行的 资料 短消息 编辑 删除 引用 第4楼
建议:在同一进程中最好只放入一个IF语句 VHDL的If语句的优先级 这个问题看起来不怎么起眼,确实是需要注意的,一开始就保持良好的代码书写规范是很重要的。 process内的语句是顺序执行。 process内的语句是顺序执行的,process外边的语句是并行执行的,画程序流程图的时候一定要注意了!!!!!!!!
页:
[1]