Memory Compiler
memory分為兩類(lèi)RAM和ROM。RAM根據(jù)讀寫(xiě)端口個(gè)數(shù)又分為三類(lèi)即單端口RAM(SP),偽雙端口RAM(TP)和雙端口RAM(DP)。SP只存在一個(gè)時(shí)鐘和一套讀寫(xiě)端口,讀寫(xiě)復(fù)用地址總線,讀寫(xiě)不能同時(shí)操作。TP存在兩個(gè)時(shí)鐘(讀、寫(xiě))和一套讀寫(xiě)端口,但是有各自地址總線,讀寫(xiě)可以同時(shí)操作。DP存在兩個(gè)時(shí)鐘和兩套讀寫(xiě)端口,每一套端口都支持讀寫(xiě)操作,這兩套操作互補(bǔ)影響。
一般的memory compiler提供五個(gè)ram腳本(rf_sp,sram_sp,rf_tp,sram_dp,rom)。考慮面積和性能又劃分為High Speed和High Density。
偽雙口ram的工作原理,開(kāi)始的時(shí)候以為有兩個(gè)wea使能信號(hào),一個(gè)管寫(xiě)入的數(shù)據(jù)和地址,一個(gè)管讀出的數(shù)據(jù)和地址。但是真正仿真后才發(fā)現(xiàn)只有一個(gè)wea控制信號(hào)。在clka與clkb都為高電平的前提下,當(dāng)wea為0時(shí),ram只進(jìn)行寫(xiě)操作,不讀,當(dāng)wea為1時(shí),ram同時(shí)進(jìn)行寫(xiě)和讀操作
在很多的時(shí)候,我們需要使用IP設(shè)計(jì),比如SRAM IP(通常使用memory compiler 生成)得到的是.lib文件而不是.db文件。這時(shí)就需要Synopsys提供的library compiler工具將.lib文轉(zhuǎn)為.db文件,提供給DC綜合工具。library compiler工具的使用主要包含兩步,讀入和寫(xiě)出。
一般memory 大小大于1Kbit時(shí)可以考慮用SRAM代替寄存器組,面積上的話(huà)隨著面積越大對(duì)應(yīng)面積:SP<TD<DP。一般窄長(zhǎng)形和寬矮型的RAM浪費(fèi)的SRAM面積越多,因?yàn)榇笕萘縍AM都是由小的RAM塊單元拼湊而成,不規(guī)則的窄而長(zhǎng)或者寬而矮的RAM,都是由規(guī)則的RAM平湊而成,勢(shì)必導(dǎo)致浪費(fèi)一定的RAM面積來(lái)最終拼湊成需要的RAM size,所以在初期評(píng)估RAM size時(shí)一定要考慮RAM的形狀,以求最大化提高RAM的利用率,盡量不要出現(xiàn)奇葩的RAM size
總結(jié)
以上是生活随笔為你收集整理的Memory Compiler的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 新一代杂志新一代杂志社新一代编辑部202
- 下一篇: 微信响应菜单点击事件php,微信开发实现