---
# System prepended metadata

title: 阻塞與非阻塞 2
tags: [verilog]

---

# 時鐘的意義


![image](https://drive.google.com/uc?id=1iMi6kfO3TpK-N82kE4avXwpLVcOdWoeH&export=download)


要搞懂這樣的波型圖，要知道波型圖的意義：

對 `posedge` 來說：

$$
\displaylines{
\large
上升沿的左半邊沒有值，則判斷時就是沒有值\\
\large
上升沿右半邊的值，代表是該\ \text{cycle}\ 過後才有值\\
}
$$

`negedge` 也是相同的道理

$$
\displaylines{
\large
下降沿的左半邊沒有值，則判斷時就是沒有值\\
\large
下降沿右半邊的值，代表是該\ \text{cycle}\ 過後才有值\\
}
$$

## 阻塞

上面的例子中用了非阻塞賦值，那如果換成用阻塞賦值，就可以達到常見程式語言的「由上而下」的效果。

![image](https://drive.google.com/uc?id=1OTemhIwij6aiknBHXTOMsMjtNt7shH3Q&export=download)




:::warning
但是通常阻塞跟非阻塞要小心不要輕易嘗試混用，除非你很確定你電路的行為。
:::