Verilog中的assign以及always

学习 时间:2026-04-09 02:58:10 阅读:5554
Verilog中的assign以及always1.我想给reg a赋值为1, assign a=1'b1;但是不知道为什么他总是报错2.还有always@(posedge clk&a)能不能这么写?clk表示时钟,a表示我赋的值,a在always中不断被赋值,一次always中a被赋一次值,这样,always 是否能够在a变成0之前始终执行呢?求大神释疑

最佳回答

怕黑的含羞草

笨笨的茉莉

2026-04-09 02:58:10

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那么就会自动跳出

最新回答共有2条回答

  • 单纯的含羞草
    回复
    2026-04-09 02:58:10

    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那么就会自动跳出

上一篇 Do you know the reason ( )she got so angry yesterday?

下一篇 歌曲 一直重复着 :if you want me,if you believe me,if you love me ,i