标题:
FPGA程序 当第一个时钟沿来后,第二个always的if语句会不会认为a等于1
[打印本页]
作者:
宮梓萱
时间:
2018-2-28 10:09
标题:
FPGA程序 当第一个时钟沿来后,第二个always的if语句会不会认为a等于1
always@(posedge clk or negedge rst)
if(!rst) a<=5'd0;
else a<=a+1'b1;
always@(posedge clk or negedge rst)
if(!rst) b<=5'd0;
else if(a==1'b1) b<=a;
else ;
当第一个时钟沿来后,第二个always的if语句会不会认为a等于1
作者:
KawhiL
时间:
2018-2-28 18:01
这里估计没人会FPGA,这里基本都是搞单片机的。
作者:
rally
时间:
2018-2-28 19:13
因为是clk,所以 a<=5'd0; 第二个 if(!rst) b<=5'd0;
else if(a==1'b1) b<=a;
else ;
应该执行b<=5'd0; 吧。
作者:
1499369743
时间:
2018-2-28 20:54
FPGA啊 爱莫能助了 帮顶起来
作者:
blangle
时间:
2018-2-28 21:14
有用 标记一下
作者:
奋斗de小青年
时间:
2018-2-28 21:38
虽然我学的是VHDL,但是verilog我也能看懂一些,你这个明显就是基础知识非常不过关,我随手查了一下所有的always块是并行的,如果来个脉冲两个语句同时执行,你说下面那个会不会认为a=1,如果这个问题还不明白,拿起你手边任何一本verilog书把基础再看一下,搞清楚一个脉冲来临之后变量是如何变化的
作者:
宮梓萱
时间:
2018-3-1 13:13
奋斗de小青年 发表于 2018-2-28 21:38
虽然我学的是VHDL,但是verilog我也能看懂一些,你这个明显就是基础知识非常不过关,我随手查了一下所有的a ...
是的,我刚开始学习。嗯嗯,也就是这个时候判断a的值还是0
作者:
出来逛逛
时间:
2018-3-8 15:56
非阻塞赋值是先把右侧计算好后统一赋给左侧,第一个时钟沿a应该是0,这样容易产生BUG,编译一下看看吧
作者:
loobing
时间:
2018-3-8 17:30
不会,可以仿真看一下,复位解除后 第一个时钟周期a=1,b=0.
作者:
qq448193918
时间:
2018-3-9 21:36
不太懂FPGA,帮顶
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1