• Techo

[IC設計] 何謂同步reset和非同步reset,使用Asynchronous reset整合global reset、scan reset以及software reset

更新日期:2019年12月15日

電路有分為 synchronous reset(同步reset) 和 Asynchronous reset(非同步reset)

synchronous reset 代表所有的 DFF在同時間 reset 觸發以及同時放開 reset

而電路有先後順序地方開 reset

就是所謂的 Asynchronous reset(非同步reset)了




也就是電路有先後順序地方開reset

這就是所謂的 Asynchronous reset(非同步reset)




圖1中使用 Asynchronous reset(非同步重置)整合電路中的三種 reset

皆是使用負緣觸發(negedge)的 reset

從左上角開始

整個 IP 所接收到的外部重置訊號為 rst_n 和 scan_rst_n

為了因應 scan mode 針對scan flip-flop 所用到的 scan_rst_n

我們必須使用 scan_mode 作為 rst_n 和 scan_rst_n 的選擇訊號

如果 scan_mode 拉起

在最右邊的 rst_n_final 就會直接變成 scan_rst_n

而 rst_n_final 最終將會負緣觸發 IP 內部所有 clock domain 的 reset

所以電路大部分的運作都是處在 scan_mode 為0的狀況下


由左往右看 rst_n 經過 don't touch cell(synthesis不能被化簡的邏輯閘)稱為 rst_n_internal

當 rst_n_internal 從1降為0時

圖一的所有 DFF 的 Q pin 降為0

即使是經過 scan mux 的 rst_n 訊號也降為 0

所有的 DFF 在此時被 reset

以reset的行為來看是同步的(synchronous)


當 rst_n 重新拉為1時(不再討論scan mode)

rst_n_internal 率先拉為1

圖一左邊的兩級 DFF 最先放開 reset

將1的訊號傳遞到 software clear 的 DFF 上

有關 software clear design 的 DFF設計為用此 reset 訊號

在沒有CPU trigger software clear的訊號的時間

software clear level 恆為1

今天 trigger 訊號來時

software clear level 會被拉為0一段時間再重回1

在 software clear level 為0的時間圖1右邊的 and gate 將會輸出 0

此時的 rst_n_final 將會是 0

rst_n_final 將會接上 IP 中所有 clock domain DFF 的 reset pin

為0的話就代表大部分的功能電路重置

只有當 rst_n_internal 和 software clear level 同時為 1時

所有電路才會開始運作

如果今天是 rst_n 先拉為0再拉回1

software clear level 訊號勢必會較慢拉回1

也就是電路有先後順序地方開reset

這就是所謂的 Asynchronous reset(非同步reset)


Logo2020.JPG
  • Instagram - White Circle
  • Google+ - White Circle
  • Facebook - White Circle

Contact Us

Techo私人程式家教

官方LINE ID : @tutortecho

zh-Hant.png

© Copyright 2018 by Sherry Wu and Techo Chao.

Proudly created with Wix.com,

but page loading is too slow,so I don't recommend it.