出一張嘴做IC

含有「出一張嘴做IC」共 18 篇內容
全部內容
發佈日期由新至舊
付費限定
到了最後一個階段, 我們做了這麼多CG cell insertion後, 要怎麼知道到底是不是對Design有幫助的呢? 是否有個rule又或是量化的數據來解釋說CG的效果如何 在下面這篇paper中提到了幾種觀測CG cell efficiency的方法 J. Srinivas, M
Thumbnail
DaDa995-avatar-img
2025/04/10
大佬要怎麼私訊您問題? 是不是需要改別的方案才可以? 想問CRPR要怎麼畫圖去分析解釋阿? 感謝
出一張嘴-avatar-img
發文者
2025/04/18
DaDa995 Hi 您好, 因為我都有空時才會看回覆及寫文章,所以沒有開啟私訊, 有想問的可能需要麻煩您留言,我如果剛好知道相關的知識會回覆您. 以下是關於我對CPPR的理解, 先描述一下CPPR在做甚麼, 以往我們在STA check timing的時候都會用最嚴謹的方式做sign off, 因為可以最保險降低出錯的機率, 所以大多時候我們都是over constraint的, 但是以現在的chip design來說, 我們希望可以省下更多的area或是power消耗, 雖然越嚴苛的條件可以讓你的chip容忍越大的variance, 副作用卻是增大了area和power,所以並不是沒有缺點的, 因此cppr就誕生了, cppr目的就是要補償回我們曾經太嚴苛的條件, 實際上根本不會發生的case, 他所觀測的點是clk tree的common path. 在clk tree的建置過程,某種策略下希望common path越長越好然後到reg周遭開始branch開, 但是我們在分析timing時會因為希望預留OCV margin所以會給予一個uncertainty, 就是您於timing report中看到的derate項 在setup check下, derate會對於launch path的timing總和乘上>1的倍率 對於capture path的timing總和乘上<1的倍率 可以想像成arrvial time我假設只要走1ps,但是我為了抓margin給他走1.1ps 對於require time 原本可以走1個cycle 2ps,但是為了抓margin給剩給他1.8ps 讓setup check 的require-arrival變緊達到預防ocv的效果 但是,這樣很純粹的算法會對common path的地方同時作放大跟縮小, 在預期上common path的路徑上不論對於req或arrival都是做出一樣的貢獻, 因此cppr就是在補償回原先這段path所多算的時間 可以參考下面這篇文章 https://vlsi.pro/common-path-clock-reconvergence-pessimism-removal/
前面文章曾經提到說, 除了我們在寫rtl當下直接撰寫加入的cg cell外, 實際上我們有些clk gating cell是靠tool自己幫忙插的, [Verilog] 10分鐘由淺入深看懂 clock gating -2 那麼tool是怎麼判斷說哪邊要插gating cell的呢?
Thumbnail
Jun-Tsung Wu-avatar-img
3 天前
大佬您好,由於最近有使用clock gating的設計與合成(第一次碰CG),在Timing上也遇到一些困擾,剛好看到您這幾篇覺得受益良多。不過我這邊的問題似乎還是想不到如何解決,因此想請教您看看! 我在rtl code中應該是寫ICG的寫法,然而利用design compiler合成(應該是有合成出CG cell)。 其中,會出現gclk與clk之間有延遲(D),而原本要被gclk posedge時trigger的訊號(flag) 因為合成加入timing 資訊後,與主要clk也會有些微延遲(d)。 而合成後發現,D>d,會導致gc沒有在正確時間trigger flag,導致simulation有錯。 我在design compiler中是使用compile -gated_clock進行合成 但也沒很確定合出來的結果是否正確。 以上想請教一下大佬,麻煩您了,謝謝!
前面文章提到過clk gating check實際上就是在check gating cell的enable訊號 檢查enable的timing是否能滿足STA的check, 不過不知道各位有沒有發現到, 這條path看起來很單純呀而且我還用上了latch大法, 可能讓訊號走完1整個cycle
Thumbnail
由於前篇提到說純的logic gate 的CG cell有些先天上的缺點在, 像是enable output 必須在指定的區間內才能trigger, 這也使的這條path上的timing變得更嚴苛, 因此就開發出了一個新的架構來解決上述的問題, 也就是大家常看到的latch based的cl
Thumbnail
付費限定
介紹完了基本的概念後, 這邊來看個例子, 以and gated的CG來說 ,clk_enable 訊號由前一級的reg輸出(1) , 經由Q輸出en後落在clk負緣的時候toggle (2), 下一個cycle的clk即會被鎖在0 (3) 對於or based的來說 clk_en
Thumbnail
曾崇義-avatar-img
2025/03/29
您好,想請問第一級reg是 負緣觸發嗎
出一張嘴-avatar-img
發文者
2025/03/31
曾崇義 clk_enable在正緣觸發,但是對於AND gate來說需強迫signal在負緣後才能開始運作,避免夾出glitch的clk source給後面的register,因此為了要達到這個目的,有幾種方法. 1.靠timing constraint 2.靠latch
上篇文章提到說 由於STA的設計上沒辦法去檢查不同clk domain的兩個register之間timing是否可以滿足所需, 因為沒有一個比較的基準點, 所以需要
Thumbnail
eating LIN-avatar-img
2024/12/19
作者好,想請教在講解 req 最短要拉多久的第一張圖。 為什麼在 clk1 第 3 個 clk edge 所採樣到的 是 o.o.x, 不是 o 或 x
出一張嘴-avatar-img
發文者
2024/12/19
eating LIN 抱歉我字寫太隨便>< 第三個edge是O or X 沒錯唷 來張高清版
想要跨入Verilog的領域時 總是發現好像不像c code一樣有滿滿的資源 對於新手來說必須要先了解甚麼是design甚麼又是testbench 要怎麼在tesebench中產出stimulate及比對最後output的bit ture 可能在很多人想跨入時,發現這個的門檻極高,就直接放棄
Thumbnail
付費限定
前面探討完setup time / hold time violation的原因跟解法, 來更進一步探討一下現實面, 實際ic design中, 我們有可能會碰到一個狀況, synthesis過後path出現了setup time violation 或 hold time violatio
Thumbnail
付費限定
Voltage island 字面上的意思為電壓島, 概念上是把不同function的module給予不同的driving volatge 然而在ic design中有個rule, driving voltage 越高就能讓logic動的越快 也就是說,當你希望邏輯運算的越快,原則上就需
Thumbnail
付費限定
對於現在的IC來說, 除了追求性能外另外一個重點就是如何降低工耗, 以APPLE 最新的A18 Core來說對比A16的power consumption降低了35%, 那對於ic design的過程中有甚麼手法有機會讓chip的功耗降低呢 在這邊來探討一下 以現今主流的low p
Thumbnail