付費限定

[Verilog] 10分鐘看懂verilog的reset

更新於 發佈於 閱讀時間約 5 分鐘

前篇內容提到說,async reset有著打出glitch的風險,

但除了glitch之外,

如果reset deassert的時間點不對的話可是造出大量metastable的data,

直接導致function fail,

至於assert的時間點因為是async reset,所以何時出發Reg收到時都會立即返應,

只要reset 觸發的時間不要太短,給reg足夠的時間回復到預設值,

基本上assert時沒什麼需要注意的,

因此實際上當觸統觸發reset時基本上都會有個數T的時間.


先講一下最好理解的glitch

glitch的發生是ic運作過程中無法避免的,glitch的形成可能因為外部noise,driving vlotage不穩..,都是glitch的成因

如果async reset的架構下沒有做好Reset處理,當reset path上出現glitch時就會直接讓reg當前的data被洗掉,因為不預期的reset trigger瞬間function fail

raw-image


對於一般操作時的assert來說

rst觸發的時機點來說沒有規定要何時才能觸發,觸發後Reg就會回到預設值上,

觸發時間夠長都不會造成甚麼risk,觸發時間太短則會讓reg內的訊號來不及回覆至預設值

raw-image


對於deassert來說

釋放的時間點格外重要,

如果釋放的時候剛好落於reg clk的valid edge會因為data沒有在setup time check point前達到stable的狀態導致setup time violation (matastable的成因),

簡單說,reset的釋放也像是data path一樣必須被check,

對於在約束reset釋放時間點的則是稱為recovery time和removal time

raw-image


下一篇來介紹一下recovery time和removal time以及怎麼預防async reset的glitch



<note.>

reset assert -> reset功能被觸發,根據reset是high active或low active決定assert的vaule

reset deassert -> reset被放掉,電路從reset vaule回復到normal function



你知道,

除了noise造出的glitch外,chip運算過程中也會有大量的glitch產出嗎

我們一般reg在運作時要怎麼避免glitch的干擾

..

以行動支持創作者!付費即可解鎖
本篇內容共 1757 字、1 則留言,僅發佈於10分鐘看懂IC設計你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
留言
avatar-img
留言分享你的想法!
出一張嘴-avatar-img
發文者
2024/11/15
[Verilog] 10分鐘看懂CDC的2DFF提及了這篇文章,趕快過去看看吧!
avatar-img
數位IC設計第一品牌
76會員
26內容數
數位IC設計第一品牌 從0到1用嘴做IC 觀念大權
2024/12/28
到了最後一個階段, 我們做了這麼多CG cell insertion後, 要怎麼知道到底是不是對Design有幫助的呢? 是否有個rule又或是量化的數據來解釋說CG的效果如何 在下面這篇paper中提到了幾種觀測CG cell efficiency的方法 J. Srinivas, M
Thumbnail
2024/12/28
到了最後一個階段, 我們做了這麼多CG cell insertion後, 要怎麼知道到底是不是對Design有幫助的呢? 是否有個rule又或是量化的數據來解釋說CG的效果如何 在下面這篇paper中提到了幾種觀測CG cell efficiency的方法 J. Srinivas, M
Thumbnail
2024/12/16
前面文章曾經提到說, 除了我們在寫rtl當下直接撰寫加入的cg cell外, 實際上我們有些clk gating cell是靠tool自己幫忙插的, [Verilog] 10分鐘由淺入深看懂 clock gating -2 那麼tool是怎麼判斷說哪邊要插gating cell的呢?
Thumbnail
2024/12/16
前面文章曾經提到說, 除了我們在寫rtl當下直接撰寫加入的cg cell外, 實際上我們有些clk gating cell是靠tool自己幫忙插的, [Verilog] 10分鐘由淺入深看懂 clock gating -2 那麼tool是怎麼判斷說哪邊要插gating cell的呢?
Thumbnail
2024/12/11
前面文章提到過clk gating check實際上就是在check gating cell的enable訊號 檢查enable的timing是否能滿足STA的check, 不過不知道各位有沒有發現到, 這條path看起來很單純呀而且我還用上了latch大法, 可能讓訊號走完1整個cycle
Thumbnail
2024/12/11
前面文章提到過clk gating check實際上就是在check gating cell的enable訊號 檢查enable的timing是否能滿足STA的check, 不過不知道各位有沒有發現到, 這條path看起來很單純呀而且我還用上了latch大法, 可能讓訊號走完1整個cycle
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
Thumbnail
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
Thumbnail
題目已經給了依照起點升序排列好的區間陣列。 接下來新插入一個區間,插入後如果和原本的區間重疊,請把他們合併,要求我們輸出插入後的結果。 這是一個線性掃苗,所需時間為O(n)的演算法。 題目已經幫我們排序好區間順序,我們只要接著依序檢查區間、(假如有重疊的話)合併區間。
Thumbnail
題目已經給了依照起點升序排列好的區間陣列。 接下來新插入一個區間,插入後如果和原本的區間重疊,請把他們合併,要求我們輸出插入後的結果。 這是一個線性掃苗,所需時間為O(n)的演算法。 題目已經幫我們排序好區間順序,我們只要接著依序檢查區間、(假如有重疊的話)合併區間。
Thumbnail
題目敘述 題目會給我們一個定義好的類別和function介面,要求我們實作建構子和ping() function來滿足指定的需求。 RecentCounter類別的建構子 建構子應該初始化來電紀錄,內容為空(零筆資料) int ping(int t) t代表來電時刻,單位是毫秒m
Thumbnail
題目敘述 題目會給我們一個定義好的類別和function介面,要求我們實作建構子和ping() function來滿足指定的需求。 RecentCounter類別的建構子 建構子應該初始化來電紀錄,內容為空(零筆資料) int ping(int t) t代表來電時刻,單位是毫秒m
Thumbnail
題目敘述 題目會給定一個輸入陣列intervals,陣列元素都是一組pair, intervals[i] = [starti, endi],分別代表區間的起點,和區間的終點。 請問我們最少要刪除幾個區間,才能讓剩下的區間彼此都不重疊? 題目的原文敘述 測試範例 Example 1:
Thumbnail
題目敘述 題目會給定一個輸入陣列intervals,陣列元素都是一組pair, intervals[i] = [starti, endi],分別代表區間的起點,和區間的終點。 請問我們最少要刪除幾個區間,才能讓剩下的區間彼此都不重疊? 題目的原文敘述 測試範例 Example 1:
Thumbnail
題目敘述 題目會給定一個整數陣列nums,原本裡面包含有整數1到n,但是中間不小心出了差錯,導致有一個數字消失了,而另一個數字重複了。 請找出重複的數字以及消失的數字,並且 以陣列的形式[重複的數字, 消失的數字]返回這兩個數字。 例如: [1,3,3,4] 消失的數字是2,重複的數字是
Thumbnail
題目敘述 題目會給定一個整數陣列nums,原本裡面包含有整數1到n,但是中間不小心出了差錯,導致有一個數字消失了,而另一個數字重複了。 請找出重複的數字以及消失的數字,並且 以陣列的形式[重複的數字, 消失的數字]返回這兩個數字。 例如: [1,3,3,4] 消失的數字是2,重複的數字是
Thumbnail
題目敘述 題目會給我們一個整數陣列,裡面包含各種正整數,每回合可以消去兩個相同的數字,或者消去三個相同的數字。問最少需要幾次消去,才能讓陣列為空? 如果無解,則返回-1 詳細的題目可在這裡看到 測試範例 Example 1: Input: nums = [2,3,3,2,2,4,2,3,
Thumbnail
題目敘述 題目會給我們一個整數陣列,裡面包含各種正整數,每回合可以消去兩個相同的數字,或者消去三個相同的數字。問最少需要幾次消去,才能讓陣列為空? 如果無解,則返回-1 詳細的題目可在這裡看到 測試範例 Example 1: Input: nums = [2,3,3,2,2,4,2,3,
Thumbnail
這篇文章介紹了如何建立一個時間限制的異步函數,以確保操作在指定時間內完成。 - 知識點包括異步編程、Promise使用、計時器函數和函數引數處理,以及錯誤處理。 - 應用情境包括網頁請求超時控制、前端性能優化和遊戲開發。 - 提高應用程式的可靠性和用戶體驗,確保操作不會花費過長的時間。 - 文章內
Thumbnail
這篇文章介紹了如何建立一個時間限制的異步函數,以確保操作在指定時間內完成。 - 知識點包括異步編程、Promise使用、計時器函數和函數引數處理,以及錯誤處理。 - 應用情境包括網頁請求超時控制、前端性能優化和遊戲開發。 - 提高應用程式的可靠性和用戶體驗,確保操作不會花費過長的時間。 - 文章內
Thumbnail
嗨,大家好!今天我們來聊聊什麼是延遲評估模式,它的好處是啥,還有在 Go 裡面是怎麼玩的。
Thumbnail
嗨,大家好!今天我們來聊聊什麼是延遲評估模式,它的好處是啥,還有在 Go 裡面是怎麼玩的。
Thumbnail
嗨!我是格蘭特,歡迎來到軟體工程師面試大哉問! 近二十家公司面試經驗大公開,本篇是系列文的第七篇。 格蘭特這次要分享的是在遊戲領域中的佼佼者,自產及代理多種知名遊戲的遊戲橘子(Gamania)。 本次機會是由 Headhunter 在 LinkedIn 主動聯繫,職位是資深後端工程師。 由於篇
Thumbnail
嗨!我是格蘭特,歡迎來到軟體工程師面試大哉問! 近二十家公司面試經驗大公開,本篇是系列文的第七篇。 格蘭特這次要分享的是在遊戲領域中的佼佼者,自產及代理多種知名遊戲的遊戲橘子(Gamania)。 本次機會是由 Headhunter 在 LinkedIn 主動聯繫,職位是資深後端工程師。 由於篇
Thumbnail
在工作中遇到的問題實在是千奇百怪,跟C++搏鬥了好一陣子了,仍然還是跟它不是很熟,最近工作上更遇到了bug之王的segmentation fault錯誤,雖然還沒找出root cause,不過在找了一陣子未果後,想說透過更系統性的方法來調查甚麼原因會導致segmentation fault。
Thumbnail
在工作中遇到的問題實在是千奇百怪,跟C++搏鬥了好一陣子了,仍然還是跟它不是很熟,最近工作上更遇到了bug之王的segmentation fault錯誤,雖然還沒找出root cause,不過在找了一陣子未果後,想說透過更系統性的方法來調查甚麼原因會導致segmentation fault。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News