Verilog中的assign以及always1.我想给reg a赋值为1, assign a=1'b1;但是不知道为什么他总是报错2.还有always@(posedge clk&a)能不能这么写?clk表示时钟,a表示我赋的值,a在always中不断被赋值,一次always中a被赋
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 06:07:41
Verilog中的assign以及always1.我想给reg a赋值为1, assign a=1'b1;但是不知道为什么他总是报错2.还有always@(posedge clk&a)能不能这么写?clk表示时钟,a表示我赋的值,a在always中不断被赋值,一次always中a被赋
Verilog中的assign以及always
1.我想给reg a赋值为1, assign a=1'b1;但是不知道为什么他总是报错
2.还有always@(posedge clk&a)能不能这么写?clk表示时钟,a表示我赋的值,a在always中不断被赋值,一次always中a被赋一次值,这样,always 是否能够在a变成0之前始终执行呢?
求大神释疑
Verilog中的assign以及always1.我想给reg a赋值为1, assign a=1'b1;但是不知道为什么他总是报错2.还有always@(posedge clk&a)能不能这么写?clk表示时钟,a表示我赋的值,a在always中不断被赋值,一次always中a被赋
1、reg是always块里用的,要用在时序逻辑里,不能用组合逻辑assign定义.
2、always@(posedge clk&a)一般没有这么写的.
always@(这里要写条件,循环执行语句的条件),比如说你要在clk上升沿时执行赋值语句,那么就在里面填写posedge clk,如果你要在a变化一次时在always块里的语句执行一次可以在括号里面只写a.说明执行条件是a的变化.
a不能既是输出又是执行语句条件.如果是那样的话,那么你可以在always块里写成
if(a)
begin
下面是要循环的语句
end
如果a是0那么就会自动跳出