当前位置: 首页 > news >正文

Design Compiler:Topographical Workshop Lab2

相关阅读

Design Compilericon-default.png?t=O83Ahttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm=1001.2014.3001.5482


        本文是对Synopsys Design Compiler Topographical/Graphical Workshop Lab Guide中Lab2的翻译,Lab文件可以从以下链接获取。

Synopsys Design Compiler Topographical/Graphical Workshop Labicon-default.png?t=O83Ahttps://download.csdn.net/download/weixin_45791458/89987600?spm=1001.2014.3001.5501


实验二、运行DC-T(实验时长:30分钟)

学习目标

        在本次实验中,你将使用从参考方法生成(RMgen)工具下载的脚本。根据你选择的配置,RMgen会生成针对指定工具和版本优化的脚本。

        完成本次实验后,你应能够:

  • 运行RMgen工具
  • 将种子脚本适配到你的设计中
  • 运行DC-T
  • 描述使用参考方法脚本的好处

任务 1:运行参考方法生成工具

1、在lab2_running目录中创建一个下载目录

mkdir downloads

2、打开一个互联网浏览器

mozilla

3、登录到Synopsys Solvnet页面以获取RMgen工具(这需要购买正版EDA软件后的Site ID)Synopsys Sign In icon-default.png?t=O83Ahttps://solvnet.synopsys.com/rmgen

4、如果无法访问Solvnet,使用以下命令

cp ../RMgen_tarfiles/vhdl_all_false/vhdl_all_false.tar downloads/.

        然后跳至第8步(解压脚本)。

5、配置脚本

        选择最新版本的Design Compiler,配置脚本以使用VHDL作为RTL源格式(这与实验中提供的源代码匹配),通过选择所有的真/假选项为'false',创建最基本的脚本。

6、下载脚本到下载目录

7、关闭浏览器

8、解压脚本

tar -xvf *.tar

9、复制DC-T设置和运行文件(dc_setup.tcl和dc_scripts/dc.tcl)到lab2_running目录

cd 到解压后的脚本目录
cp -R dc_setup.tcl ./dc_scripts ../../.

10、复制由物理团队创建的common_setup.tcl文件到lab2_running目录

cd lab2_running
cp physical_team_data/common_setup.tcl .

任务 2:将RMgen种子脚本适配到你的设计中

1、验证从物理团队复制的common_setup.tcl文件是否与DC-T工作环境一致。对于本实验,请确认common_setup.tcl中所述的四种关键文件确实存在

        问题 1:目标(逻辑)库(.db文件)位于哪里?

        答案 1:它们是Milkyway参考库的一部分,每个库或宏的LM(逻辑模型)目录中都有它们。例如,目标库sc_max.db的.db文件位于../ref/libs/mw_lib/sc/LM目录中。

        问题 2:四个物理过程文件位于哪里?

        答案 2:TLUPLUS最小值和最大值文件以及映射文件位于../ref/libs/tlup,技术文件位于../ref/libs/tech。

        问题 3:common_setup.tcl中的哪些七个变量用于定位要读取到DC-T中的物理信息文件?

        答案 3:DESIGN_REF_DATA_PATH和ADDITIONAL_SEARCH_PATH指向布图规划(.def)文件,MW_REFERENCE_LIB_DIRS指向Milkyway参考库目录,TECH_FILE指向工艺技术文件,MAP_FILE指向映射文件,它用于在工艺技术文件和tluplus文件之间映射层名称,TLUPLUS_MAX_FILE最大tluplus文件,TLUPLUS_MIN_FILE最小tluplus文件。

2、将RTL源代码添加到dc_setup.tcl文件中(为方便起见,它们已按正确顺序列出在文件lab2_running/support_files/rtl_file_order中,请将它们剪切并粘贴到dc_setup.tcl文件中)

3、浏览dc_setup.tcl文件,查看哪些内容是自动设置的

        问题 4:create_mw_lib创建的Milkyway设计库的名称是什么?

        答案 4:ORCA_TOP_LIB。

        问题 5:使用什么命令将Milkyway设计库加载到DC-T中?

        答案 5:load_mw_lib。

4、修改dc.tcl文件,以便通过在compile_ultra命令之前添加一些检查和报告来快速验证设置

# dc.tcl文件
# 使用一些物理文件的检查命令
*********
report_mw_lib -mw_reference_library > my_mw_lib
report_tlu_plus_files > my_tlu_plus 
check_library > my_check_library
*********# 为了节约时间,使用-check_only选项
compile_ultra -check_only > my_check_only 
quit 
# 运行DC-T并确认结果
dc_shell -topo -f ./dc_scripts/dc.tcl | tee -i a.log
grep Warning my*
grep Error my*

        问题 6:检查和报告有哪些问题?

        答案 6:check_library命令显示:

        问题 7:这个问题是“致命错误”吗?

        答案 7:这是正常且可以预料的情况,逻辑库通常没有电源和接地引脚,而物理库则有。如果使用低功耗(UPF)流程,则逻辑库和物理库的电源引脚必须匹配,满足低功耗流程的要求即可消除此错误。

        问题 8:使用参考方法脚本的优势是什么?

        答案 8:使用参考方法脚本的优势包括:确保跨工具的一致性,轻松访问最新的设置和命令,随着设计从RTL到GDSII的过渡,结果具有可预测性,并且遵循全球专家定义的流程,这些流程包括时钟门控、扫描插入、功耗优化等。此外,参考方法脚本对于首次使用DC-T的用户来说也是一个很好的起点。

任务 3:编译您的设计(可选)

        等待编译返回并不是有效地利用实验时间,但如果已经完成了实验,并且希望在讲座或午餐期间运行编译,欢迎进行操作。

1、将dc.tcl文件中的compile_ultra -check_only和quit改为compile_ultra,注释掉任何exitcommand,以便运行结束时保持DC-T打开,以便进行交互式操作

2、启动DC-T编译运行

dc_shell -topo -f ./dc_scripts/dc.tcl | tee -i b.log

原文链接

Design Compiler Topographical/Graphical Workshop Lab Guideicon-default.png?t=O83Ahttps://download.csdn.net/download/weixin_45791458/89988989        感谢EETOP坛友的分享。

相关文章:

Design Compiler:Topographical Workshop Lab2

相关阅读 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 本文是对Synopsys Design Compiler Topographical/Graphical Workshop Lab Guide中Lab2的翻译,Lab文件可以从以下链接获取。 Synopsys Design Co…...

【C语言】连接陷阱探秘(1):声明与定义

目录 一、声明与定义的混淆 1.1. 声明(Declaration) 1.2. 定义(Definition) 1.3. 避免混淆的方法 1.4. 示例 二、声明与定义不匹配 2.1. 常见的不匹配情况 2.2. 解决方法 三、外部变量与静态变量的命名冲突 3.1. 外部变量命名冲突 3.2. 静态变量命名冲突 四、缺…...

ChatGPT学术专用版,一键润色纠错+中英互译+批量翻译PDF

ChatGPT academic项目是由中科院团队基于ChatGPT专属定制。论文润色、语法检查、中英互译、代码解释等可一键搞定,堪称科研神器。 功能介绍 我们以3.5版本为例,ChatGPT学术版总共分为五个区域:输入控制区、输出对话区、基础功能区、函数插件…...

python isinstance(True, int)

今天的bug 是布尔类型给的。 >>> a True >>> isinstance(a, int) True>>> a True >>> isinstance(a, bool) True‌Python中的布尔类型(bool)实际上是整数类型(int)的一个子类,…...

1.5寸**进口 128128带灰阶oled屏 spi串口 老王电子diy 设备 OLED 2024/11/15 arduino

名:1.5寸**进口 128128带灰阶oled屏 协:spi串口 铺:老王电子diy 设备: OLED 时间:2024/11/15 IDE: arduino 兜兜转转还是打通了,他的接口 用的i2c 标志 夭寿咯 MOSI(Master Out Slave In):主机输出,从机输入。MISO&#xff…...

【EasyExcel】复杂导出操作-自定义颜色样式等(版本3.1.x)

文章目录 前言一、自定义拦截器二、自定义操作1.自定义颜色2.合并单元格 三、复杂操作示例1.实体(使用了注解式样式):2.自定义拦截器3.代码4.最终效果 前言 本文简单介绍阿里的EasyExcel的复杂导出操作,包括自定义样式,根据数据合并单元格等。…...

机器学习 ---线性回归

目录 摘要: 一、简单线性回归与多元线性回归 1、简单线性回归 2、多元线性回归 3、残差 二、线性回归的正规方程解 1、线性回归训练流程 2、线性回归的正规方程解 (1)适用场景 (2)正规方程解的公式 三、衡量…...

深度学习每周学习总结J5(DenseNet-121 +SE 算法实战与解析 - 猴痘识别)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 0. 总结 数据导入及处理部分:本次数据导入没有使用torchvision自带的数据集,需要将原始数据进行处理包括数据导入…...

VBA学习笔记:点击单元格显示指定的列

应用场景: 表格中列数较多,特定条件下隐藏一些无关的列,只保留相关的列,使表格更加清晰。 示例:原表格如下 点击一年级,只显示一年级相关的科目: 点击二年级,只显示二年级相关的科…...

windows C#-LINQ概述

语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持。 此外,需要针对每种类型的数据源了解不同的查询语言:SQL 数据库、XML 文档、各种 Web 服…...

vue项目npm run serve出现【- Network: unavailable】(从排查到放弃)

1. 问题现象 环境: 系统:win11node:v16.20.2“vue”: “2.6.10” 执行npm run serve启动vue项目,期望: App running at:- Local: http://localhost:9528/ - Network: http://x.x.x.x:9528/实际: App runn…...

R语言贝叶斯分析:INLA 、MCMC混合模型、生存分析肿瘤临床试验、间歇泉喷发时间数据应用|附数据代码...

全文链接:https://tecdat.cn/?p38273 多模态数据在统计学中并不罕见,常出现在观测数据来自两个或多个潜在群体或总体的情况。混合模型常用于分析这类数据,它利用不同的组件来对数据中的不同群体或总体进行建模。本质上,混合模型是…...

C++ 关于类与对象(中篇)一篇详解!(运算符重载)

赋值运算符重载 运算符重载 C 为了 增强代码的可读性 引入了运算符重载 , 运算符重载是具有特殊函数名的函数 ,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。 函数名字为:关键…...

Scala的set

//Set的特点:唯一(元素不相同);无序 case class Book(var bookName:String,var author:String,var price:Double){} object test27 {def main(args: Array[String]): Unit {//定义一个可变setval set1 scala.collection.mutable…...

Linux---常用shell脚本

目录 一.网络服务 开启network服务 网口IP配置 聚合口配置 前言 秋招拿到了科大讯飞的offer,可是由于某些原因无法完成三方签署,心情还是比较失落的,或许写一篇技术博客,活跃一下大脑思维也是一种不错的放松方式。 一.网络服务 …...

windows二进制安全零基础(二)

文章目录 栈(The Stack)调用约定(Calling Conventions)函数返回机制 在x86架构中,栈(Stack)是一个非常重要的内存区域,它用于支持线程的短期数据需求,如函数调用、局部变…...

git常用命令+搭vscode使用

1.克隆远程代码 git clone http:xxx git clone ssh:xxx clone的url 中 https和 ssh是有区别的: git中SSH和HTTP连接有什么区别-CSDN博客 当然https拉下来的代码每次pull /push都需要验证一次自己的账户和密码,可以config进行配置不用每次手敲: 解决VScode中每次git pu…...

如何在C#中处理必盈接口返回的股票数据?

在必盈接口返回股票数据后,在 C# 中可通过以下步骤进行处理: 数据获取 使用 HttpWebRequest 或 HttpClient 类向必盈接口发送请求以获取数据。以 HttpWebRequest 为例,构建请求并发送,获取响应流后读取为字符串形式的 JSON 数据。…...

01 最舒适的python开发环境

0 前言 我自己经过尝试,总结出python3开发环境的最舒适方式。 python3安装创建虚拟环境 venvjupyter notebook 笔记本安装vscode插件(Python, Pylance, Jupyter) 1 python3安装 ubuntu系统下安装最新版本的python3 sudo apt update sudo apt install python32 …...

【PyTorch】libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent

【PyTorch】libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent 1 报错信息2 原因3 解决方法 1 报错信息 conda install pytorch1.13.1 torchaudio0.13.1 torchvision0.14.1 cudatoolkit11.7 -c pytorch在 conda 环境中安装 torch 后测试,得到下面的错误&#x…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...