返回信息流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语句。
这是一条镜像帖。来源:北邮人论坛 / circuit / #15963同步于 2010/12/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖
【VHDL】进程里面多个if语句的优先级和并行问题
xiaobing307
2010/12/28镜像同步19 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
也就是说,if语句内部是顺序的,if语句之间是并行的?
【 在 zenjustin 的大作中提到: 】
: 硬件语言都是并行的吧,几个比较器同时比较~~
: --
我在写俄罗斯方块,如果用elsif的话,在左移或右移的那个时钟方块就不会下移了。
【 在 z8115x2 的大作中提到: 】
: 用elsif就完了,还节省宏
: --
因为LZ对outa和outb用的是<=,所以他们是在process要结束的那一刻同时被赋值的。
if是串行的,但是只有用:=的时候,所做的操作才是最终的串行。
应该是时钟上升沿处集中判断要向哪个方向移,这种情况应该是向左下或右下移。
【 在 xiaobing307 的大作中提到: 】
: 我在写俄罗斯方块,如果用elsif的话,在左移或右移的那个时钟方块就不会下移了。
我们只要做4*4的,我们实验室的实验板只有128个宏单元。我在论坛上找了一个学长以前做的,改了一些,还有些问题。
【 在 z8115x2 的大作中提到: 】
: LZ你编好了吗? 我怎么都办不到8*8,改成4*4仿真也出不来,感觉里头还是有错。。。。。难得碰见一个也做这个的
: 你进展如何?
: --
: ...................