目录

前言

一、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)的处理相关推荐

  1. 20211028:DC综合时的内部时钟处理

    DC综合时的内部时钟处理 问题描述 分析与处理方法 总结 问题描述 综合时出现未约束的endpoints. 分析与处理方法 利用vcs和netlist文件来检索出现的endpoints,追溯至最原始的 ...

  2. DC综合——学习笔记

    DC综合--学习笔记 一.DC综合简介 1.1 什么是综合? 1.2 综合需要的文件 1.3 综合输出的文件 1.4 电路综合的要求 1.4.1 综合脚本的要求 1.4.2 综合结果的要求 二.DC综 ...

  3. DC综合脚本中文详细解释

    #script for Design Compiler DC综合编译脚本 #language:TCL 语言说明 #Usage: 使用说明 1)make sure the lib in the curr ...

  4. 【芯片前端】第一次看DC综合报告时看些什么内容

    前言 最近又要频繁的看DC综合报告,发现之前的东西忘得是差不过了,因此用这篇文章用来做下笔记,记录下第一眼看DC综合报告时看些什么内容. 看哪个报告 这是第一次综合完之后的终极问题,我根本不知道应该看 ...

  5. 有关计算机存储器的几个名词的概念和辨析(内存,外存,RAM,ROM,磁盘等)

    自己总结: 1.内存不一定都是RAM,ROM也可以是内存的一部分. (ROM是只读存储器(Read-Only Memory),也是计算机内部存储器中的一种,而硬盘是外部存储器) 内部存储器 内部存储器 ...

  6. 对RAM,ROM,NOR/NAND FLASH等常见内存设备类型的理解

    对RAM,ROM,NOR/NAND FLASH等常见内存设备类型的理解 RAM DRAM SDRAM DDR SDRAM SRAM ROM EEPROM FLASH NOR FLASH NAND FL ...

  7. RAM ROM FLASH的区别

    文章目录 一.ROM 程序存储器 二.Falsh存储器 三.RAM随机访问存储器 四.三者之间的区别 作为一个初学单片机的初学者,常常把ROM RAM FLASH这几个都单词搞得晕头转向的.由此记下此 ...

  8. RAM,ROM,EPROM,EEPROM,FLASH ROM的区别

    RAM,ROM,EPROM,EEPROM,FLASH ROM的区别 1.RAM指的是"随机存取存储器",即Random Access Memory.它可以随时读写,而且速度很快,缺 ...

  9. 计算机术语列是,计算机术语-RAM ROM

    计算机术语 abp: address bit permuting,地址位序列改变 atc(access time from clock,时钟存取时间) bsram(burst pipelined sy ...

最新文章

  1. python写文件读文件-python--文件流读写
  2. 持续集成篇:jenkins搭建和job运行
  3. 怎样用python批量处理文件夹_套娃式文件夹如何通过Python批量处理
  4. python paas_到底什么是PaaS?——【PaaS概述科普文】
  5. (130)FPGA面试题-FPGA设计中波特率和比特率的区别
  6. java 数组对象属性数组_Java中数组的特性
  7. 软考信息安全工程师好考吗?
  8. 【Direct3D - 6】DirectX有哪些组件?
  9. 汉字编码计算机,计算机汉字编码,computerbased Chinese codings,音标,读音,翻译,英文例句,英语词典...
  10. 手机自动阅读挣钱,这次用脚本写
  11. B2 Spice A/D v4.1.2.0 Pro
  12. cs224n课后作业
  13. 将罗马字符串转换为整数(C#)
  14. Topaz Mask AI 人工智能抠图插件
  15. 【树莓派】使用VNC远程桌面
  16. Field属性(域)
  17. 【高级持续性威胁追踪】当黑客不讲武德,安全专家也容易被骗
  18. Windows7 SP1 OEM 简体中文旗舰版
  19. 考试,一种严格的水平鉴定方法。
  20. Linux 块设备层中的Multi-queue分析

热门文章

  1. 是什么原因导致在进行电缆交流耐压试验之后绝缘降低了?
  2. 汉字书写评价的计算机实现,汉字书法、书写及计算机.doc
  3. T550 HiDPI Ubuntu 16.04安装流水帐
  4. 装修 —— 刮腻子和刷乳胶漆的区别
  5. excel 删除空白各自所在的行
  6. 宽php边框粗细_phpexcel导出excel外边框加粗,边框细线,合并单元格,换行,居中,上边距,左边距,打印设置...
  7. Android auto 对接步骤
  8. 【9】疯壳开源蓝牙智能健康手表(心率血压血氧心电监测可定制)_存储
  9. Remora:仅CSS的下拉菜单
  10. 利用计算机打开电视盒子,创维盒子教您如何使用计算机连电视?