DC综合时Memory(ram、rom)的处理
目录
前言
一、DC综合memory遇到的问题
二、Memory(ram、rom)处理
1.解决思路
2.Memaker安装
3.Memaker使用
3.1 打开Memaker
3.2 Ram的生成
4.Lib Complier
4.1 新建一个db文件夹,一个lib文件夹
4.2 转换的所有lib文件复制到lib文件夹内
4.3 编写tcl脚本,命名为autolib2db
4.4 运行tcl脚本
前言
在进行DC综合前,我们看一些工程的filelist可以发现,会有许多memory模块的存在,比如ram、rom之类,而进行综合如果直接将memory综合进去,结果可能会不可信,并且遇到大的工程时综合memory会出现卡死的状况,所以本文将会讲解如何对DC综合的memory进行处理。
一、DC综合memory遇到的问题
之前使用DC综合的是一个工程的一小部分,比如之前综合的e203的core,并没有涉及到对于memory的处理。
但是这次项目需要,要综合C910来看资源的利用,这种整个大工程的综合我也是第一次去做,问了同组一个小伙伴,他们之前做过e906整个工程综合,我看他们的filelist,直接将memory读进去进行的综合。可以看下图。
可以看到e906的ram是比较少的,所以他们没有出现卡死的状况,但是我这次综合的C910,可以看一下这个filelist中ram部分。
这是一部分,总共有大约80多个memory,一开始我并没有去管,直接写好脚本去综合,发现综合到中间就卡死了,出现了下面的情况。
所以对于memory我们不可以直接综合,要进行处理。
二、Memory(ram、rom)处理
1.解决思路
那么具体的解决方法,就是利用Memory Complier工具,去生成所需要的memory,就比如这次我所需要的ram。那么利用这个工具生成的是lib格式,之后回到服务器,用Lib complier转成db格式,在DC综合时,将ram当作library读入即可。
2.Memaker安装
有了解决思路,那么就是使用工具去使用。但是网上并没有现成的Memory Complier,所以使用的是老师提供的Memaker。
所需文件:
虚拟机软件 VMware
虚拟机镜像 CentOS7-x86_64-DVD-2009
memaker压缩包 FSF0L_Memaker_202101.3.0.tar
license文件 memaker.dat
插件libXScrnSaver-1.2.2-6.1.el7.i686
一、打开VMware,创建好新的虚拟机
二、把memaker压缩包拖进虚拟机,解压出来
解压好后把memaker.dat拖到安装目录下的
注:memaker中的hostname和VENDOR ftclmd地址需要自己更改
三、修改memaker.env中memlib地址
四、设置ip地址(用su指令开管理员权限)
CentOS 7更改网卡名eth0和配置网卡_openbox2008的博客-CSDN博客_centos7网卡配置
1.、编辑 grub 配置文件
# vim /etc/default/grub 或 vim /etc/sysconfig/grub
增加 net.ifnames=0 biosdevname=0 在GRUB_CMDLINE_LINUX
2、用 grub2-mkconfig 命令重新生成GRUB配置并更新内核
# grub2-mkconfig -o /boot/grub2/grub.cfg
只要做完这步,然后重新启动 Linux 操作系统,通过# ip addr 可以看到网卡名称已经变为 eth0 ,网络能正常使用,但网络配置文件还是ifcfg-ens33 .
3、修改网卡配置文件
将原来网卡配置文件名称为 ifcfg-ens33,这里需要修改为 eth0 ,ifcfg-ens34改为eth1 ,并适当调整网卡配置文件
#mv ifcfg-ens33 ifcfg-eth0
#mv ifcfg-ens34 ifcfg-eth1
并修改网卡配置文件
4.重启虚拟机
五、打开终端,输入Han.txt中指令
如果提示license有问题,将系统时间回调至2022年10月之前再试。
五、如果提示缺少libXScrnSaver插件则安装后重新尝试。
下载插件压缩包,拖入虚拟机安装。
或者管理员模式输入yum install libXScrnSaver。
3.Memaker使用
3.1 打开Memaker
通过命令行输入直接打开,可以进入下面GUI界面。
3.2 Ram的生成
因为已知了Ram的大小,所以直接选择Memory Type去生成。
已其中一个Ram举例,我要生成的是128✖️16的Ram,并且C910使用的都是单端口的Ram,所以第一步在Memory Famile选择“single port ram”;第二步word代表地址位,填入128;第三步Bit代表数据位宽,填入16,其余默认,之后第四步点击Preview。
之后可以看到生成的各个ram的预览界面,我们需要用第一种,所以勾选第一种即可。
下一步会显示你所勾选器件的一些基本信息,可以检查一下是否有误,并且可以将名字更改为你所需要的名字,这里都是默认名字。
之后在这一步可以选择你所希望生成的信息,有很多选项,因为我只需要lib文件,所以我只勾选了lib和生成.v文件,生成.v我主要是想看一下里面写的是什么样子。之后点击Generate,就可以成功生成我们所需要的东西。
我们可以看一下生成的文件,除了.v文件之外,lib生成了许多,这里拆分一下各个lib的命名规则。
以后缀ff1p32v85c和ss1p08vm40c为例子,这个后缀代表了两部分,首先第一部分代表电压:1p32v代表1.32v,1p08代表1.08v;其次第二部分代表温度:85c代表85度,m40c代表-40度。
4.Lib Complier
这个很简单,写一个转化脚本,将所有lib转成db就可以。写脚本时候需要知道Lib Complier的命令.
4.1 新建一个db文件夹,一个lib文件夹
4.2 转换的所有lib文件复制到lib文件夹内
4.3 编写tcl脚本,命名为autolib2db
set enable_write_db_mode Trueset files [split [glob lib/*.lib] " "]foreach file $files {
read_lib $file
set libname [lindex [split [lindex [split $file "/"] [expr [llength [split $file "/"]]-1]] "."] 0]
write_lib -output db/${libname}.db $libname
remove_design
}exit
4.4 运行tcl脚本
得到所有转换后的db文件,存入db文件夹中,之后作为library导入dc工程中即可。
DC综合时Memory(ram、rom)的处理相关推荐
- 20211028:DC综合时的内部时钟处理
DC综合时的内部时钟处理 问题描述 分析与处理方法 总结 问题描述 综合时出现未约束的endpoints. 分析与处理方法 利用vcs和netlist文件来检索出现的endpoints,追溯至最原始的 ...
- DC综合——学习笔记
DC综合--学习笔记 一.DC综合简介 1.1 什么是综合? 1.2 综合需要的文件 1.3 综合输出的文件 1.4 电路综合的要求 1.4.1 综合脚本的要求 1.4.2 综合结果的要求 二.DC综 ...
- DC综合脚本中文详细解释
#script for Design Compiler DC综合编译脚本 #language:TCL 语言说明 #Usage: 使用说明 1)make sure the lib in the curr ...
- 【芯片前端】第一次看DC综合报告时看些什么内容
前言 最近又要频繁的看DC综合报告,发现之前的东西忘得是差不过了,因此用这篇文章用来做下笔记,记录下第一眼看DC综合报告时看些什么内容. 看哪个报告 这是第一次综合完之后的终极问题,我根本不知道应该看 ...
- 有关计算机存储器的几个名词的概念和辨析(内存,外存,RAM,ROM,磁盘等)
自己总结: 1.内存不一定都是RAM,ROM也可以是内存的一部分. (ROM是只读存储器(Read-Only Memory),也是计算机内部存储器中的一种,而硬盘是外部存储器) 内部存储器 内部存储器 ...
- 对RAM,ROM,NOR/NAND FLASH等常见内存设备类型的理解
对RAM,ROM,NOR/NAND FLASH等常见内存设备类型的理解 RAM DRAM SDRAM DDR SDRAM SRAM ROM EEPROM FLASH NOR FLASH NAND FL ...
- RAM ROM FLASH的区别
文章目录 一.ROM 程序存储器 二.Falsh存储器 三.RAM随机访问存储器 四.三者之间的区别 作为一个初学单片机的初学者,常常把ROM RAM FLASH这几个都单词搞得晕头转向的.由此记下此 ...
- RAM,ROM,EPROM,EEPROM,FLASH ROM的区别
RAM,ROM,EPROM,EEPROM,FLASH ROM的区别 1.RAM指的是"随机存取存储器",即Random Access Memory.它可以随时读写,而且速度很快,缺 ...
- 计算机术语列是,计算机术语-RAM ROM
计算机术语 abp: address bit permuting,地址位序列改变 atc(access time from clock,时钟存取时间) bsram(burst pipelined sy ...
最新文章
- python写文件读文件-python--文件流读写
- 持续集成篇:jenkins搭建和job运行
- 怎样用python批量处理文件夹_套娃式文件夹如何通过Python批量处理
- python paas_到底什么是PaaS?——【PaaS概述科普文】
- (130)FPGA面试题-FPGA设计中波特率和比特率的区别
- java 数组对象属性数组_Java中数组的特性
- 软考信息安全工程师好考吗?
- 【Direct3D - 6】DirectX有哪些组件?
- 汉字编码计算机,计算机汉字编码,computerbased Chinese codings,音标,读音,翻译,英文例句,英语词典...
- 手机自动阅读挣钱,这次用脚本写
- B2 Spice A/D v4.1.2.0 Pro
- cs224n课后作业
- 将罗马字符串转换为整数(C#)
- Topaz Mask AI 人工智能抠图插件
- 【树莓派】使用VNC远程桌面
- Field属性(域)
- 【高级持续性威胁追踪】当黑客不讲武德,安全专家也容易被骗
- Windows7 SP1 OEM 简体中文旗舰版
- 考试,一种严格的水平鉴定方法。
- Linux 块设备层中的Multi-queue分析
热门文章
- 是什么原因导致在进行电缆交流耐压试验之后绝缘降低了?
- 汉字书写评价的计算机实现,汉字书法、书写及计算机.doc
- T550 HiDPI Ubuntu 16.04安装流水帐
- 装修 —— 刮腻子和刷乳胶漆的区别
- excel 删除空白各自所在的行
- 宽php边框粗细_phpexcel导出excel外边框加粗,边框细线,合并单元格,换行,居中,上边距,左边距,打印设置...
- Android auto 对接步骤
- 【9】疯壳开源蓝牙智能健康手表(心率血压血氧心电监测可定制)_存储
- Remora:仅CSS的下拉菜单
- 利用计算机打开电视盒子,创维盒子教您如何使用计算机连电视?