码住!IC设计常用工具合集!

news2024/11/22 21:22:47

芯片设计过程中,选择和使用适合的工具是非常重要的。芯片设计工具通常分为三类:EDA工具、模拟仿真工具和布局工具。
一、EDA工具
EDA工具是芯片设计的核心,它包括原理图绘制、逻辑综合、门级仿真工具和物理版图编辑等,可以帮助设计师设计出电路的物理结构和电气行为以及特定规则的芯片功能。市场上最常用的EDA工具厂商有Cadence、Mentor Graphics、Synopsys等。其中,每个厂商都有着自己独特的产品优势。
1. Synopsys

  • 对功耗和时钟分析有较突出的表现
    • 设计逻辑清晰明确
    • 提供高质量的培训教材

Synopsys2018 版本 EDA 工具免费分享
1. 下载的文件列表包含一下文件;

ReadMe:文件就是现在你正在阅读的文件,主要是详细的说明软件的使用和包含的工具。
Workstation:是虚拟机能够运行的软件;简单的来说就是通过这个软件可以让你的 windows 系统运行 Linux 系统(我们在工作中开发使用的系统);不知道的同学建议了解一下;
虚拟机系统:这个是包含 Synopsys2018 版的基本工具;基本常用的都 已 经 安 装 了 ; 包 含 了 (vcs-mx2018,pts2018,dc2018,library compiler2018,Formality2018,icc)
2. 安装 VMWorkstation.exe 这个文件如下安装完成之后就是这个软件。
[图片]

  • 此时点击打开虚拟机的按钮(找到你们已经解压好的虚拟机CentOS 6),然后选择开启此虚拟机,记住一定要选择“我已移动该虚拟机”,否则软件无法使用 License 无法启动。
    在这里插入图片描述
  • 此时会进入如下界面需要输入登录密码:eda2018;root 密码:eda018
    在这里插入图片描述
  • 进入系统后就可以正常的使用 Synopsys2018 版的工具了;
    2、Cadence
  • 集成度高
  • 支持不同层次的设计流程
  • 套件内部设计逻辑清晰
  • 设计环境友好易学易用
    下载安装包如下:
    在这里插入图片描述
    3、Mentor Graphics
  • 注重设计流程的自动化
    • 仿真工具的模型库丰富
    • 界面易用
    • 鼓励工程师创新设计
      下载安装包如下:
      在这里插入图片描述
      二、模拟仿真工具
      模拟仿真工具是芯片设计中必不可少的工具,主要用于验证芯片设计的正确性和性能,并可以提前发现设计缺陷。市面上比较知名的有SPICE仿真器、ModelSim、HSPICE等,它们可以模拟电路的各种行为和参数,并可以评估元器件的电气性能,帮助设计人员预测芯片的电性能和稳定性能。
      三、布局工具
      布局工具是芯片物理版图的设计和布局规划,市面上比较流行的有Tanner EDA、Mentor Graphics的Calibre、Cadence的Virtuoso等。这些工具可以为工程师提供一个强大的物理版图编辑环境,以实现芯片电路的详细设计和最终的版图。并且能够优化所有的物理要素以达到更好的性能,同时也提高了芯片设计的效率和质量。
      四、常用的环境及编辑工具
      1、linux环境
      对于IC设计来说,大部分的工作都是基于linux环境,linux不同于windows是基本都是使用指令,所以熟悉linux下面的各种指令显得非常重要;
      对于linux下面的指令学习,一方面基于平时的积累,一方面还是需要多学习;
      下面推荐一个较好的网站:IC修真院,里面有Linux教程
      另外小编也准备了Linux常用基本操作
      在这里插入图片描述
      2、vim
      说起编辑器,常用的有notepad、sublime、gvim等,但是在linux下面,应该只有gvim才算是最高效的编辑器了,当你对gvim常用的指令烂熟于心的话,你会发现你写代码速度会非常高效;
      下面给出一个gvim经典的键盘对应图:
      在这里插入图片描述
      图2 gvim键盘对应图
      当然gvim还有好多的快捷操作,后面会在本文中进行补充;
      3、nLint
      nLint作为数字IC开发者常用的重要工具,用于对verilog代码做语法检查,是一个IC开发必备技能。除了会看nlint中一些错误、告警等,还建议对nlint的使用规则进行了解、学习;
      如果nLint工具安装后,通过在shell里面输入 which nlint即可显示当前 nlint的版本;
      通过在shell里面输入 nlint -help即可看到nlint所支持的功能;
      下面给出nlint一个简单shell脚本
      在这里插入图片描述
      不管是初学IC设计的还是已经入行的,工具的使用都是比较重要的,工具好用,效率也能提升一些。
      你还有什么常用的工具吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/588790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu 安装 jdk1.8

1 更新软件包 sudo apt update 2 安装jdk1.8 sudo apt install openjdk-8-jdk 3 查看版本 java -version安装成功

自适应滤波方法——LMS算法

自适应滤波器 自适应滤波器:一种能够根据输入信号自动调整自身参数的数字滤波器 非自适应滤波器:具有静态滤波器系统的数字滤波器,静态系数构成了滤波器的传递函数 对于一些应用(如系统辨识、预测、去噪等)&#xff…

固定翼无人机1:500地籍

引言 上几期,睿铂为大家推送了两篇相对精度验证的文章,其优秀的成果引来了业界人士不少的赞叹。同时,许多客户朋友又提出了更高的要求。目前,在地籍精度的项目中,使用多旋翼无人机挂载倾斜摄影相机作业,是能…

机器学习笔记 - 基于TensorFlow Lite的模型部署

一、简述 TensorFlow Lite 是一个移动端库,可用于在移动设备、微控制器和其他边缘设备上部署模型。 假设要执行图像分类任务。首先决定任务的模型。是要创建自定义模型;或者使用预训练模型,如 InceptionNet、MobileNet、NASNetLarge 等。又或者在预训练模型上应用迁…

【问题记录】解决vite多页应用路由改用history之后本地刷新404问题

当前包的版本信息: "vue": "^2.7.14", "vue-router": "^3.6.5" "vite": "^3.0.7", 首先,修改路由模式 首先,将之前多页项目中的某个页面路由模式改用 history ,…

C++服务器框架开发4——日志系统logger/.cpp与.cc

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见:[C高级教程]从零开始开发服务器框架(sylar) 上一篇:C服务器框架开发3——协程与线程的简单理解/并发与并行 C服务器框架开发4——日志系统logger 目前进度.cpp与.cc 目前进度 …

ByConity与主流开源OLAP引擎(Clickhouse、Doris、Presto)性能对比分析

引言: 随着数据量和数据复杂性的不断增加,越来越多的企业开始使用OLAP(联机分析处理)引擎来处理大规模数据并提供即时分析结果。在选择OLAP引擎时,性能是一个非常重要的因素。 因此,本文将使用TPC-DS基准…

排序算法、HashMap原理以及单例模式

文章目录 1、二分查找2、冒泡排序3、选择排序4、插入排序5、希尔排序6、快速排序(面试写这个)7、ArrayList8、Iterator9、LinkedList10、HashMap10.1、基本数据结构底层数据结构,1.7和1.8有什么不同? 10.2、树化与退化为何要用红黑…

【LINUX】进程间信号

文章目录 前言铺垫信号 信号的产生1、终端按钮产生信号2、调用系统函数向进程发送信号3、软件条件产生信号4、硬件异常产生信号 信号的保存补充:位图数据结构信号的处理结语 前言 铺垫 1、日常中我们能经常感受到信号的存在:红灯停绿灯行、三更鸡鸣、妈…

60.网络训练中的超参调整策略—学习率调整2

4、inverse_time_decay inverse_time_decay(learning_rate, global_step, decay_steps, decay_rate,staircase=False, name=None)逆时衰减,这种方式和指数型类似。如图, 5、cosine_decay cosine_decay(learning_rate, global_step

K8s in Action 阅读笔记——【7】ConfigMaps and Secrets: configuring applications

K8s in Action 阅读笔记——【7】ConfigMaps and Secrets: configuring applications 7.1 Configuring containerized applications 在我们讨论如何将配置数据传递给在Kubernetes中运行的应用程序之前,让我们先看看通常如何配置容器化应用程序。 如果忽略了你可以…

002. java.lang.NumberFormatException: Infinite or NaN,怎么破?

你好,我是YourBatman:当我老了,也写代码;不为别的,只为爱好。 📚前言 如果你工作超5年,100%遇到过这个异常:java.lang.NumberFormatException: Infinite or NaN Infinite中文释义…

使用MockJS进行前端开发中的数据模拟

在前端开发中,有时我们需要在没有后端接口的情况下进行前端页面的开发和测试。这时,我们可以使用MockJS来模拟数据,以便进行开发和调试。MockJS是一个用于生成随机数据和拦截Ajax请求的JavaScript库,它能够帮助我们快速搭建起一个…

InVEST模型

学习目标: 1)采用InVEST模型,掌握产水(包括水源涵养)、碳存储(包括固碳)、土壤保持、水质(氮磷)、生境质量和热岛缓解等生态系统服务评估方法,开展人类活动影响、重大工…

MATLAB EXPO 2023会议记录|基于STM32的MATLAB电机控制方案

算法导出工作流视频:(99 封私信 / 82 条消息) Simulink 算法导出工作流 —— stm32电机控制示例(v2) - 知乎 (zhihu.com) Algorithm-Export Workflows for Custom Hardware 示例: Algorithm-Export Workflows for Custom Hardware - MATLAB & Simuli…

JavaScript拖拽API,ondragstart、ondragover、ondragenter、ondrop,使用详细(JavaScript常用原生拖拽API)

简述:JavaScript的拖拽api相必大家都不陌生,今天来分享下元素在拖动时触发的事件,顺便做下记录。 一、ondragstart事件 ondragstart事件在拖动元素时触发,通常用于设置拖动时的数据类型和数据。可以通过event.dataTransfer.setDa…

开发环境搭建-stm32CubeIDE进行标准库开发

stm32CubeIDE介绍 https://www.stmcu.com.cn/ecosystem/Cube/STM32CubeIDE stm32CubeIDE下载 点击上面的链接,登录即可下载。 搭建demo工程 新建工作空间 创建一个工程 选择芯片-STM32F103C8T6 点击“Next” 点击“Finish ” 添加标准库到项目工程文件目录下 配…

SM国密算法(二)-- OpenSSL库中分离算法

一、OpenSSL简介: OpenSSL 是用于传输层安全性 (TLS) 和安全套接字层 (SSL) 协议的一个强大、商业级和功能齐全的工具包。它也是一个通用的密码学库,包含有RSA、SM4、DES、AES等诸多加密算法。 OpenSSL GitHub地址 二、移植过程 1. 文件目录 下载在…

除蚂蚁文件数据恢复大师之外,还有哪些相似的软件?

数据丢失是一件常见的事情,许多人都会遇到这样的问题。为了解决这个问题,出现了许多数据恢复软件,其中包含蚂蚁文件数据恢复大师。但是,除了蚂蚁文件数据恢复大师之外,还有哪些类似的软件呢?本文为您整理了…

笔试强训总结3

作者:爱塔居 专栏:笔试强训 作者简介:大三学生,希望能同大家一起进步! 1.以下代码运行输出的是 public class Person{ private String name "Person"; int age0; } public class Child extends Person{ p…