verilog 里面,always和always@(*)有区别吗?

一般always@(*)是指里面的语句是组合逻辑的。*代替了敏感变量。而一般时序逻辑要写成always@(posedge clk or negedge rst)//时钟信号clk上升沿或者复位信号rst下降沿的时候执行always块内的代码。
1.always@后面内容是敏感变量,always@(*)里面的敏感变量为*,意思是说敏感变量由综合器根据always里面的输入变量自动添加,不用自己考虑。 2.如果没有@,那就是不会满足特定条件才执行,而是执行完一次后立马执行下一次,一直重复执行,比如testbench里面产生50Mhz的时钟就(假设时间尺度是1ns)可以写成 always #20 CLK_50Mhz = ~CLK_50Mhz;
文章标签:

本文链接:https://www.u1e.cn/baike/a/d3cd62794cbf3da9ddaeca72 [复制]

猜你喜欢

歇后语大全

还没有人回应过