日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ARM的memory Compiler总结

發布時間:2023/12/8 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ARM的memory Compiler总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Memory的結構

ASIC中用到的memory一般是通過memory compiler生成的,生成一個mirco最終放到芯片的版圖上。

生成的memory結構如下圖所示:

?可以看到每個bit是獨立的一個小矩形塊,矩形塊的行數是r,列數是m,r*m即為ram的深度。例如,一個字寬4bit、字長1024的ram,其r*m即為1024.

其中m代表Multiplexer,一般取值4/8/16/32. 在ram字寬、字長確定的情況下,m的值決定了整個ram micro的形狀。例如,m從4變為16,則每個bit的小矩形塊的列數就從4變為16,總深度不變的情況下,行數會變成原來的1/4,小矩形塊會變得更寬、更矮,整個ram micro的形狀也會變得更寬、更矮。

?

上述是舉例的最簡單的single-bank情形,實際往往是多個bank的,如下圖這樣。但上述結論是一致的。

?

Memory Compiler的使用

ARM的memory compiler大家一般都用過,下面主要分析部分容易混淆的細節。

1、MUX值

MUX值就是上節提到的Multiplexer width,又稱地址低位譯碼尺寸,深度要求是Muliplexer width的倍數。

2、尺寸限制?

為了加快讀寫,RAM陣列一般分為多個bank和slice,若是兩個bank,兩個slice,所以地址必須是(Muliplexer width * 4)的倍數

記住以下結論:

  • 字長*字寬=行數*列數
  • 行數=字長/MUX
  • 列數=字寬*MUX
  • MUX越大,行數越少,列數越多,micro尺寸越矮、越寬

補充說明:

? ? 最近用到TSMC 28nm的compiler工具,它生成的mem尺寸剛好跟SMIC 40nm的尺寸相反,即字長對應了列數、字寬對應了行數。所以,使用不同廠家提供的工具時,要注意區別。但是上述結論都是統一的。

?

ARM的ram compiler支持的RAM array的尺寸是有限的,最大能生成256行和320列的array(UG里面說的是Rmax=512,Cmax=576,但實際并不是這樣)

那么,

MAX Number of words = MAX Number of rows *?Muliplexer width = 256 *?Muliplexer width

例如,Muliplexer width=4時,最大字數為256*4=1024

MAX Number of bits = MAX Number of columns /?Muliplexer width = 320 /?Muliplexer width

例如,Muliplexer width=8時,最大字寬為320/8=40

?

總結

以上是生活随笔為你收集整理的ARM的memory Compiler总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。