• Techo

[IC設計] 利用 Don't touch cell 結合 Gated-clk 讓 Memory (Sram, Rom) idle 時更省電

下圖是一個使用 AXI protocal來存取 sram 的接線圖

圖的正中間有個非常明顯的 OR gate

它的作用就是省電

但是必須被設定成 don't touch cell

上面那段話細節到底是什麼意思

首先呢

ceb 是chip enable的功能

也就是整塊電路裡面是否需要 toggle 的開關

他把 mread 和 mwrite or 在一起

也就是只有sram 需要讀或是寫的時候需要被啟動

這其實是廢話

但是加上這個功能整個電路就會大幅省電

因為節省了運行中的 dynamic power

但是這個 OR邏輯元件在合成(Synthesis)的時候會被最佳化掉

因為 design compiler 或是 genus tool根本不知道你有這個用意

所以我們通常會使用 gate-level的 cell 直接寫在 RTL code 中

並且在 instance name取上 dont_touch 的 prefix

這樣子就能透過下command給 EDA tool

例如DC的 set_dont_touch command

這樣子 tool 就會知道這個 gate是有特別作用

不會在優化過程中將其拿掉了


但是有一些 memory hard macro 並沒有 ceb (chip enable)的 pin

那這時要怎麼辦

我們就必須自己接上 gated-clock 的 don't touch cell instance

也就是將 sram clock 前面接上一個 AND gate

將外部的 clock 與 memory enable (代表memory讀寫 enable) and 在一起

代表同時有 clock 且同時有 read write enable 才要toggle整個 sram

並將此 AND gate 設成 don't touch cell

這樣就能達到 low power的目的




0 次瀏覽
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.