--- slideOptions: transition: slide --- # always block 是什麼? ###### tags: `verilog` `digital design` `邏輯設計` `邏設` --- [TOC] ## 意義 <font color =#164aa>如果我符合某項條件,我就執行這個 block 裡面的 code 。</font> --- ## 模板 ```clike= always@(條件)begin 要執行的動作 end ``` --- 講解: - 條件:可以是一個參數或是多個參數。 ```clike= always@(a,b,c)begin ... end ``` --- 通常放在小括號裡面的東西,會是要執行動作的<font color=#bf2222>所有條件參數</font>,少一個都不行。 如果擔心自己少放了話,可以用<font color = #bf2222> “*” </font>代替, 這個意思是說,只要有任何參數得值改變,我都跑一次這個 always block。 --- - 要執行的動作 通常是一個 <font color=#bf2222>case </font> 或是 <font color = #bf2222>if else</font> 的 mux 寫法,或是任何要執行的動作。 --- ```clike= always@(*)begin if(a == 1'b0) begin out = 1'b0; end else begin out = 1'b1; end end ``` --- # [:maple_leaf:Homepage:maple_leaf:](https://hackmd.io/s/ByZ-fyuHV)