在 verilog hdl 语言中 <=表示什么??比如q<=4'h0怎么解释

 我来答
ziseouranle
2015-02-03 · TA获得超过682个赞
知道小有建树答主
回答量:486
采纳率:0%
帮助的人:377万
展开全部
这就表示q在下一个时钟沿会变成0,4代表4bit位宽,h代表16进制,具体是上升沿还是下降沿就看你自己控制了,一般是上升沿,<=就表示非阻塞赋值,如果使用=那代表阻塞赋值,使用阻塞方式对一个变量进行赋值时,此变量的值在在赋值语句执行完后就立即改变。
使用非阻塞赋值方式进行赋值时,各个赋值语句同步执行;因此,通常在一个时钟沿对临时变量进行赋值,而在另一个时钟沿对其进行采样。
追问
感谢大神回复,可以举例说一下嘛!!!加20悬赏
追答
例子:
module bloc(clk,a,y);
input clk, a;
output b; reg b;

always @(*)
begin
b=a;
end
endmodule
在这段代码中,一旦a变化,b也会马上跟着变化,就是b就是等于a的。
module bloc(clk,a,y);
input clk, a;
output b; reg b;

always @(posedge clk)
begin
b<=a;
end
endmodule
在这段代码中,如果a在某一时刻变化了,那么b会等待时钟的上升沿,等到clk的上升沿出现之后,b才会将a的值拿过来,也就是说,不是直接等于,而是跟时钟同步的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式