Memory Compiler
memory分为两类RAM和ROM。RAM根据读写端口个数又分为三类即单端口RAM(SP),伪双端口RAM(TP)和双端口RAM(DP)。SP只存在一个时钟和一套读写端口,读写复用地址总线,读写不能同时操作。TP存在两个时钟(读、写)和一套读写端口,但是有各自地址总线,读写可以同时操作。DP存在两个时钟和两套读写端口,每一套端口都支持读写操作,这两套操作互补影响。
一般的memory compiler提供五个ram脚本(rf_sp,sram_sp,rf_tp,sram_dp,rom)。考虑面积和性能又划分为High Speed和High Density。
伪双口ram的工作原理,开始的时候以为有两个wea使能信号,一个管写入的数据和地址,一个管读出的数据和地址。但是真正仿真后才发现只有一个wea控制信号。在clka与clkb都为高电平的前提下,当wea为0时,ram只进行写操作,不读,当wea为1时,ram同时进行写和读操作
在很多的时候,我们需要使用IP设计,比如SRAM IP(通常使用memory compiler 生成)得到的是.lib文件而不是.db文件。这时就需要Synopsys提供的library compiler工具将.lib文转为.db文件,提供给DC综合工具。library compiler工具的使用主要包含两步,读入和写出。
一般memory 大小大于1Kbit时可以考虑用SRAM代替寄存器组,面积上的话随着面积越大对应面积:SP<TD<DP。一般窄长形和宽矮型的RAM浪费的SRAM面积越多,因为大容量RAM都是由小的RAM块单元拼凑而成,不规则的窄而长或者宽而矮的RAM,都是由规则的RAM平凑而成,势必导致浪费一定的RAM面积来最终拼凑成需要的RAM size,所以在初期评估RAM size时一定要考虑RAM的形状,以求最大化提高RAM的利用率,尽量不要出现奇葩的RAM size
Memory Compiler相关推荐
- simics虚拟机+solaris 9 sparc系统运行memory compiler(非常详细)
目录 前言 一.simics虚拟机安装 二.solaris 9 sparc系统安装 三.solaris 9 sparc系统配置 3.1 启动solaris系统 3.2 基础知识 3.3 修改peanu ...
- ARM的memory Compiler总结
Memory的结构 ASIC中用到的memory一般是通过memory compiler生成的,生成一个mirco最终放到芯片的版图上. 生成的memory结构如下图所示: 可以看到每个bit是独立的 ...
- 数字芯片后端设计——Memory Complier使用及库导入
ARM公司MC软件使用 Memory Compiler用于生成数字芯片中片上存储SRAM的生成. 关于所生成SRAM的结构和参数概念,参考1即可.在这里只谈一下自己平时需要设置的参数.下图为软件界面, ...
- 不停机还能替换代码?6年的 Java程序员表示不可思议
❝ 相信很多人都有这样一种感受,自己写的代码在开发.测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,而线上调试代码又很麻烦,让人头疼得很.不过, 阿里巴巴出了一款名叫Ar ...
- 如何利用 Arthas 热更新线上代码
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「Kirito的技术分享」 前言 本文是 ...
- java 获取当前ip_不停机还能替换代码?6年的 Java程序员表示不可思议
❝ 相信很多人都有这样一种感受,自己写的代码在开发.测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,而线上调试代码又很麻烦,让人头疼得很.不过, 阿里巴巴出了一款名叫Ar ...
- 怎样在设计中添加FIFO宏模块
quartus软件内置了很多我们经常用到的电路模块,统称为宏模块,在做EDA设计的时候,我们可以直接调用他们来简化设计过程.不要小看了宏模块,如果利用得当,可以省去你一多半的设计时间呢.这里以FIFO ...
- Java开源诊断工具 Arthas 发布v3.1.0
Arthas Arthas 自2018年9月份上线以来「传送门」,已收获近万个star,感谢开发者们的认可.此次Arthas 3.1.0版本的发布,不仅带来大家投票出来的新LOGO,还带来强大的新功能 ...
- 艾为数字ic面试题_每日学习:数字后端面试100问(2019全新版)
关注并标星大同学吧 每天1次,打卡学习 积累1个新知识,增1分职场底气 作者称谓:Tao涛 个人介绍:摸爬滚打多年的数字后端工程师 微信公众号:数字后端IC芯片设计 半导体知识分享第29期 技能升级, ...
最新文章
- Oracle数据库的性能调整
- MATLAB 表数据结构最终篇,如何实现表操作
- java xfire webservice 异步_[Java教程]Java中使用webservice,简化开发(xfire的webservice)...
- 【Ubuntu-Tensorflow】程序结束掉GPU显存没有释放的问题
- Maven的pom.xml文件详解------The Basics
- 几个有用的word小技巧,保准提升效率~
- android导出apk文件_Android测试工具入门介绍(三)
- 推荐系统遇上深度学习(一)--FM模型理论和实践
- IDEA快捷键eclipse版(有自定义部分)
- 4.Java JSON使用
- 数字图像处理 冈萨雷斯 第三版 书中配套图片下载地址
- 这才是程序员该有的桌面壁纸!
- EJB到底是什么,真的那么神秘吗?
- 动态优先级调度、时间片轮转调度
- SQL Server 2008 R2 完全卸载
- PT100恒流源电路及仿真
- 微信小程序—修改日期
- TP、FN、TN、TP详解
- Revit插件中的“喷淋对齐”“链接CAD”功能操作
- 软件设计与体系结构第二版董威_董威-软件设计与体系结构(第2版)-PPT课件.zip-3-4-形式化方法.ppt...
热门文章
- ECCV 2020开源项目合集 (ECCV 2020 paper list with code/data)
- betapubgmobile服务器维护,pubg mobile beta测试版
- 野人参多少钱一斤?走进野人参高价格背后的秘密
- 欧文分校计算机新sat多少分录取,加州大学欧文分校留学托福成绩要求95分 SAT1800分...
- (完结项目)fpga采集双路CCD摄像头1000帧图像上传到上位机显示
- 如何实现ABC三个线程按顺序执行十次
- python 变量大小,进程和内存信息
- 关于mysql本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止问题
- 图的存储-邻接矩阵和邻接表之间的相互转化
- 程序员都是技术宅?他们完全刷新了我们对程序员的认知