付費限定

[Verilog] 再次征戰FIFO地獄 - (4) async fifo

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

上篇文中最後提到的為甚麼async不用Dmux傳ptr就好,

究竟有甚麼缺點又或是不可行,

這邊來探討一下.


首先我們先來看一下Dmux解CDC issue的原理

raw-image

dmux架構可以分為兩個部分,

Data path和CTRL path,

我們會在CTRL的path的部分在clkA的trigger下製造一個pulse的enable (en_clkA)訊號,

在enable打出的同時fix Data path上的data (Data_clkA)內容,

接著等clkB trigger下的2DFF解完metastable後輸出的en_clkB傳給mux來切換Data_clkB的input,

此時就會去latch下Data_clkA的data,

當然這個架構要work會有一些假設的條件,必須要滿足才能確保能順利的傳輸,

以行動支持創作者!付費即可解鎖
本篇內容共 1186 字、0 則留言,僅發佈於IC面試專班你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
留言
avatar-img
留言分享你的想法!
avatar-img
數位IC設計第一品牌
88會員
26內容數
數位IC設計第一品牌 從0到1用嘴做IC 觀念大權
2025/05/16
在了解sync fifo後,可以開始來研究一下何謂asyc fifo? 小弟在這邊盡量利用了sync fifo的架構圖來呈現async fifo的運作, 以方便各位更容易的理解其中的奧妙 以Top view來看,基本上和sync fifo沒太大的不同, 最大的差異則是clk和rst長出了兩組
Thumbnail
2025/05/16
在了解sync fifo後,可以開始來研究一下何謂asyc fifo? 小弟在這邊盡量利用了sync fifo的架構圖來呈現async fifo的運作, 以方便各位更容易的理解其中的奧妙 以Top view來看,基本上和sync fifo沒太大的不同, 最大的差異則是clk和rst長出了兩組
Thumbnail
2025/05/09
前面介紹完sync fifo的function block用途後, 這篇開始來帶入code要怎麼implement. Full code: module sync_fifo #(parameter N=8, parameter depth=8) (input clk, input rst_
Thumbnail
2025/05/09
前面介紹完sync fifo的function block用途後, 這篇開始來帶入code要怎麼implement. Full code: module sync_fifo #(parameter N=8, parameter depth=8) (input clk, input rst_
Thumbnail
2025/05/02
FIFO題目答得好不好可以直接看出面試者的程度為何, FIFO看似簡單卻濃縮了非常多的design細節在裡面, 在這邊來和各位分享一下我個人的心得. 作為designer最常使用到的fifo就只有兩種屬性 1.sync fifo 2.async fifo 那這邊的sync或asy
Thumbnail
2025/05/02
FIFO題目答得好不好可以直接看出面試者的程度為何, FIFO看似簡單卻濃縮了非常多的design細節在裡面, 在這邊來和各位分享一下我個人的心得. 作為designer最常使用到的fifo就只有兩種屬性 1.sync fifo 2.async fifo 那這邊的sync或asy
Thumbnail
看更多
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
我們在「【Message Queue - Kafka】不斷的試誤…, 用Docker來嘗試安裝Kafka」有介紹如何架設kafka, 其中我們使用環境變數來進行kafka的配置, 但除了環境變數之外, 其實還能夠用檔案配置的方式來對kafka進行配置, 如此一來我們就可以將配置檔與啟動檔完全分開,
Thumbnail
我們在「【Message Queue - Kafka】不斷的試誤…, 用Docker來嘗試安裝Kafka」有介紹如何架設kafka, 其中我們使用環境變數來進行kafka的配置, 但除了環境變數之外, 其實還能夠用檔案配置的方式來對kafka進行配置, 如此一來我們就可以將配置檔與啟動檔完全分開,
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
分享一個有趣的套件,名為 await-to-js。 可以讓 Promise 與 await 的寫法更簡潔。
Thumbnail
分享一個有趣的套件,名為 await-to-js。 可以讓 Promise 與 await 的寫法更簡潔。
Thumbnail
更快、更短、更即時是串流傳輸必要的元素, 而我們常常在使用Python請求API時都是等待式回應, 也就是一個請求過去之後, 待對方處理完畢後再行回應, 但假設需要下載的檔案、內容非常大時, 是不是使用者只能傻傻的等待整個傳輸結束後才能顯示? 這樣的使用者體驗也實在太糟糕了, 對於使用者來說除了完全
Thumbnail
更快、更短、更即時是串流傳輸必要的元素, 而我們常常在使用Python請求API時都是等待式回應, 也就是一個請求過去之後, 待對方處理完畢後再行回應, 但假設需要下載的檔案、內容非常大時, 是不是使用者只能傻傻的等待整個傳輸結束後才能顯示? 這樣的使用者體驗也實在太糟糕了, 對於使用者來說除了完全
Thumbnail
Lua 開檔寫檔的運用 io.output()...
Thumbnail
Lua 開檔寫檔的運用 io.output()...
Thumbnail
2023 Vue直播班筆記 - 動態路由Props,接續之前的一般動態路由。分為 "寫死" 及 "彈性" 兩種。
Thumbnail
2023 Vue直播班筆記 - 動態路由Props,接續之前的一般動態路由。分為 "寫死" 及 "彈性" 兩種。
Thumbnail
前年第一次藉公司機會,參加了DevOpsDay的活動。雖然devOps一詞各自表述,大多狀況還是偏向維運會遇到的技術為主,做為平時開發、跟使用者訪談需求的工作內容來說,參加聚會如果沒有一定的知識,對講者所提到的狀況比較難有共鳴...
Thumbnail
前年第一次藉公司機會,參加了DevOpsDay的活動。雖然devOps一詞各自表述,大多狀況還是偏向維運會遇到的技術為主,做為平時開發、跟使用者訪談需求的工作內容來說,參加聚會如果沒有一定的知識,對講者所提到的狀況比較難有共鳴...
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News