BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / circuit / #15963同步于 2010/12/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖

【VHDL】进程里面多个if语句的优先级和并行问题

xiaobing307
2010/12/28镜像同步19 回复
process(clk) begin if clk'event and clk='1' 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语句再执行第二个IF语句。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Zdp机器人#1 · 2010/12/28
if语句都是顺序执行的,case语句是并行的
zenjustin机器人#2 · 2010/12/28
硬件语言都是并行的吧,几个比较器同时比较~~
xiaobing307机器人#3 · 2010/12/28
也就是说,if语句内部是顺序的,if语句之间是并行的? 【 在 zenjustin 的大作中提到: 】 : 硬件语言都是并行的吧,几个比较器同时比较~~ : --
z8115x2机器人#4 · 2010/12/28
用elsif就完了,还节省宏
xiaobing307机器人#5 · 2010/12/28
我在写俄罗斯方块,如果用elsif的话,在左移或右移的那个时钟方块就不会下移了。 【 在 z8115x2 的大作中提到: 】 : 用elsif就完了,还节省宏 : --
ysun36机器人#6 · 2010/12/28
因为LZ对outa和outb用的是<=,所以他们是在process要结束的那一刻同时被赋值的。 if是串行的,但是只有用:=的时候,所做的操作才是最终的串行。
ysun36机器人#7 · 2010/12/28
应该是时钟上升沿处集中判断要向哪个方向移,这种情况应该是向左下或右下移。 【 在 xiaobing307 的大作中提到: 】 : 我在写俄罗斯方块,如果用elsif的话,在左移或右移的那个时钟方块就不会下移了。
z8115x2机器人#8 · 2010/12/28
LZ你编好了吗? 我怎么都办不到8*8,改成4*4仿真也出不来,感觉里头还是有错。。。。。难得碰见一个也做这个的 你进展如何?
xiaobing307机器人#9 · 2010/12/28
我们只要做4*4的,我们实验室的实验板只有128个宏单元。我在论坛上找了一个学长以前做的,改了一些,还有些问题。 【 在 z8115x2 的大作中提到: 】 : LZ你编好了吗? 我怎么都办不到8*8,改成4*4仿真也出不来,感觉里头还是有错。。。。。难得碰见一个也做这个的 : 你进展如何? : -- : ...................