女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

科普Register file和SRAM

sakobpqhz6 ? 來源:IP與SOC設計 ? 2023-03-31 10:56 ? 次閱讀

前兩期,我們分別對OTP和MTP,RAMROM進行了比較。這一次,我們來談談Memory Compiler,以及通過它生成的Register file和SRAM。

什么是Memory Compiler ?

Memory Compiler,內存編譯器。顧名思義,是用來生成不同容量memory的工具,輸入參數,我們就可以得到生成的文件。生成的文件包括:前端設計verilog模型、邏輯綜合的時序庫、后端需要的電路網表和LEF/GDS版圖文件、其他DFT驗證相關的、datasheet手冊等等。

Memory Compiler由供應商提供,往往是不通用的,界面也不盡相同。同一個廠商的不同工藝下,Memory Compiler不同。相同工藝,不同廠商,Memory Compiler也不同。內存編譯器通常是供應商的知識產權,其功能是根據客戶的需求生成各種類型的memory。

一般的Memory Compiler提供五個ram腳本(rf_sp,sram_sp,rf_tp,sram_dp,rom)。這意味著可以生成1 Port Register file、Single Port SRAM、2 Port Register file、Dual Port SRAM以及ROM。不同的廠商或許還擁有特殊工藝。

一般來說,MC只生成常用的memory,特殊的往往需要定制或者組合。

考慮到面積和性能,又可以劃分為High Speed和High Density等等。

d9d4004e-cec7-11ed-bfe3-dac502259ad0.jpg

圖源知乎:SMIC 的Memory Compiler,由Artisan公司提供

Memory Compiler使用介紹

在使用Memory Compiler時,請務必確保你的RAM從頭到位的規格與設定都相同,否則會造成一些不可避免的錯誤。

首先在RTL代碼階段,要用到RAM就要用到verilog代碼,此時不需要著急產生其他后階段的必要數據,因為RTL代碼階段只需要行為級模型即可。

當進入門級代碼后,RAM compiler就要產生其他的相關數據了,同時要考慮RAM版圖的位置與方向。由于重大的設計不會一蹴而就,所以有兩個重點,第一個是每次使用RAM compiler時都一定要讓它產生特性設置文檔,避免忘記自己做過的設定。第二件事是對應的文件名要定義好,否則RAM的方向不同但是又用到了相同的文件名,就會把原始數據覆蓋掉。

RTL階段

在RTL階段主要只是產生verilog行為級和設置文件。因為在RTL階段不需要考慮RAM的位置信息。Memory Compiler提供多種選擇,在這個階段,選擇生成RF或是SRAM,以及確定端口數量。如果容量比較大的話,相同設置下,單端口比雙端口面積要小,速度也要快,功耗要低。

綜合與布局布線階段

為了避免重新啟用Memory Compiler與以前設置有出入,所以最好一次性將Memory Compiler能夠產生的相關數據一并輸出。在這里,Memory Compiler還需要產生3種數據。

.LIB 該數據是RAM的時序信息文件

.VCLEF 布局布線工具需要使用的物理信息文件

.SPEC RAM的注釋文件

在布局布線前,需要考慮RAM的長與寬,估計它的位置與方向,盡量讓功能想關的模塊靠近一些。

將產生的.LIB文件轉換成.DB文件,就可以把Memory Compiler生成的RAM加入到代碼中進行綜合了。在綜合工具的腳本中的serch_path下加入RAM的DB文件地址即可。

以上為Memory Compiler大致的使用流程,不同的工具在細節上或許有所區別,但大體流程如此。

d9ed9efa-cec7-11ed-bfe3-dac502259ad0.png

蘇州騰芯微電子的Memory Compiler界面

接下來,我們來聊一聊,生成的memory——Register file和SRAM。

Register file與SRAM的比較

首先,厘清一下概念上的問題,Register file和很多的registers不是同一個概念。我們在IC設計里談到register時,常常是指D觸發器,而Register file是一種memory。

那么,同為Memory Compiler生成,RF和SRAM有什么區別呢?在比較中,不同規格相比較顯然不夠客觀,也不能讓我們更清晰地認識到它們的差異。

在比較前,我們需要先把端口的概念搞清楚:

1 port,single port:單端口,讀寫同端口,需要WE控制輸入輸出

2 port:雙端口,讀寫分開,輸入輸出端口固定,可以不用WE控制

dual port:同樣是雙端口,但讀寫端口不固定,且都可讀可寫

da10c1f0-cec7-11ed-bfe3-dac502259ad0.png

RF 的端口示意圖

da2180b2-cec7-11ed-bfe3-dac502259ad0.png

SRAM 的端口示意圖

所以我們應當把1P RF和SP SRAM,2P RF和DP SRAM比較,才有意義。

1 Port Register file 和 Single Port SRAM

同為單端口,從外部端口看,難以區分1P RF和SP SRAM的區別,但是我們可以從以下幾個方面,來進行區分。

首先我們以Memory Size:512*32的1P RF和SP SRAM為例。

da37186e-cec7-11ed-bfe3-dac502259ad0.png

此為1P RF

da49f98e-cec7-11ed-bfe3-dac502259ad0.png

此為SP SRAM

從datasheet直觀上來看,SRAM比Register file多了OEN(輸出使能)。

除此之外,Register file和SRAM兩者相比,SRAM的最大容量比RF要大。相同配置下,RF的面積更大,功耗更低。

在mem比較小的情況下用RF劃算,并且同樣的mem,RF的長寬比會更小,方便后端floorplan。大容量的時候,SRAM的速度是有優勢的。并且SRAM速度快,面積小。同樣大小的RF,面積就很大了,速度也慢下來了。

所以簡單來說,小容量選RF,大容量選SRAM。

da68721a-cec7-11ed-bfe3-dac502259ad0.jpg

2P Register file 和 Dual Port SRAM

比起1P RF與SP SRAM的比較,2P RF與DP SRAM的差異較為直觀。

2P RF有一個輸入數據總線,一個輸出的數據總線。DP SRAM有兩個數據輸入總線,兩個數據輸出總線。

換句話說,2P RF是一組信號,讀寫端口固定;而DP SRAM則有兩組信號,讀寫不分開。

且兩組信號,每組都有自己的地址,輸入數據總線,輸出數據總線,時鐘,讀/寫控制。這兩組可以分別往存儲單元寫,或從存儲單元讀出。讀可以一直讀,寫時數據可能存儲單元數據更新,數據也可能輸出端口。

DP SRAM就好像2個SP SRAM共用存儲單元。

具體的應用,需要結合設計人員和項目自身的需求來選用。小容量,地址少的用RF。有兩個外設要同時讀寫SRAM的,就要用DP SRAM。涉及到具體的選取,則需要由設計人員自己做判斷了。

以下為讀寫時序圖:

da7c434e-cec7-11ed-bfe3-dac502259ad0.jpg

圖源:數字IC自修室

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • sram
    +關注

    關注

    6

    文章

    783

    瀏覽量

    115680
  • 內存
    +關注

    關注

    8

    文章

    3109

    瀏覽量

    75006
  • Memory
    +關注

    關注

    1

    文章

    79

    瀏覽量

    29588
  • Register
    +關注

    關注

    0

    文章

    36

    瀏覽量

    14128
  • 編譯器
    +關注

    關注

    1

    文章

    1656

    瀏覽量

    49907

原文標題:科普:Register file和SRAM

文章出處:【微信號:IC學習,微信公眾號:IC學習】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    什么是Register Renaming(寄存器重命名)/R

    什么是Register Renaming(寄存器重命名)/Resource contention(資源沖突)  Register Renaming: (寄存器重命名)把一個指令的輸出
    發表于 02-04 10:35 ?2458次閱讀

    什么是Register Pressure(寄存器不足) /

    什么是Register Pressure(寄存器不足) / Register Renaming(寄存器重命名)?   Register Pressure(寄存器不足) 軟件算法執行時所需
    發表于 02-04 11:02 ?1391次閱讀

    什么是Remark/Register Contention/

    什么是Remark/Register Contention/Register Pressure   Remark: (芯片頻率重標識)芯片制造商為了方便自己的產品定級,把大部分CPU都設
    發表于 02-04 11:32 ?524次閱讀

    什么是File

    什么是File   英文原義:File Protocol 中文釋義:本地文件傳輸協議 注  解:File協議主要用于
    發表于 02-23 11:41 ?1178次閱讀

    SRAM,SRAM原理是什么?

    SRAM,SRAM原理是什么? 靜態隨機存取存儲器SRAMSRAM主要用于二級高速緩存(Level2 C ache)。它利用晶體管來存儲數據。與DRAM相比,
    發表于 03-24 16:11 ?9010次閱讀

    C語言register變量和extern及static等知識總結

    一、register變量 關鍵字regiter請求編譯器盡可能的將變量存在CPU的寄存器中。有以下幾點注意的地方。 register變量必須是能被CPU寄存器所接受的類型,這通常意味著
    發表于 11-21 10:20 ?5次下載

    Linux命令file的案例說明

    有人的地方,就有江湖。人往往是最難揣摩的。如果有一面神奇的魔鏡能看出一個人的內心,世界會不會變得更加美好呢? Linux 的世界里,file 就是這樣一面魔鏡,它可以看到每個文件的內心。file
    的頭像 發表于 12-24 11:41 ?2185次閱讀

    ADAU7118 Automated Register Window Builder XML File

    ADAU7118 Automated Register Window Builder XML File
    發表于 01-31 13:31 ?1次下載
    ADAU7118 Automated <b class='flag-5'>Register</b> Window Builder XML <b class='flag-5'>File</b>

    Land Pattern File

    Land Pattern File
    發表于 02-02 08:25 ?4次下載
    Land Pattern <b class='flag-5'>File</b>

    進行design partition時,為什么推薦使用register out的方式

    在進行design partition時,相比register in更推薦register out,請問為什么呢?如果前后兩個模塊時鐘域不同,register in會有什么問題?
    的頭像 發表于 08-18 11:54 ?1444次閱讀

    Gowin RAM Based Shift Register用戶指南

    電子發燒友網站提供《Gowin RAM Based Shift Register用戶指南.pdf》資料免費下載
    發表于 09-15 14:29 ?0次下載
    Gowin RAM Based Shift <b class='flag-5'>Register</b>用戶指南

    Gowin RAM Based Shift Register參考設計

    電子發燒友網站提供《Gowin RAM Based Shift Register參考設計.pdf》資料免費下載
    發表于 09-15 14:28 ?1次下載
    Gowin RAM Based Shift <b class='flag-5'>Register</b>參考設計

    科普Register fileSRAM

    Memory Compiler由供應商提供,往往是不通用的,界面也不盡相同。同一個廠商的不同工藝下,Memory Compiler不同。相同工藝,不同廠商,Memory Compiler也不同。內存編譯器通常是供應商的知識產權,其功能是根據客戶的需求生成各種類型的memory。
    的頭像 發表于 03-28 11:41 ?8996次閱讀

    電源關斷模塊中的retention register低功耗設計

    在電源關斷模塊有可能要求register對關斷前的數據進行鎖存或者在電源打開后要求對鎖存的數據進行恢復,這就需要特殊的單元Retention Register
    發表于 06-29 12:46 ?959次閱讀
    電源關斷模塊中的retention <b class='flag-5'>register</b>低功耗設計

    科普EEPROM 科普 EVASH Ultra EEPROM?科普存儲芯片

    科普EEPROM 科普 EVASH Ultra EEPROM?科普存儲芯片
    的頭像 發表于 06-25 17:14 ?957次閱讀