数字IC设计工程师一般都干什么

news2024/10/9 16:23:29

数字IC设计工程师一般都干什么

简单来说,数字IC设计工程师一般就是负责写verilog代码(当然,不是仅仅写个代码)。本文主要对数字IC设计的工作流程进行简单的介绍,也算是对我从业一年来的总结。

一般来说,数字IC设计的工作流程如下:
请添加图片描述

    1. 算法文档学习(搞清楚你负责的功能):先由算法的同事给出详细的介绍文档,告诉你你负责的模块需要完成什么样的功能,即给你什么样的输入,你要能得到什么样的输出;
    1. 确定上一级模块的输出引脚(搞清楚你的模块的输入信息):与上一级模块的设计工程师确认他负责的模块的输出(也就是你的输入),什么方式给你,有哪些信息,多少bit;
    1. 写设计文档:如果你要负责一个较大较复杂的模块,不可能只写一个.v文件,这时候就需要合理的划分成好几个模块,并详细描述各个模块的功能;这个文档很重要,因为如果是大的模块,可能需要的周期很长,之前没有做好划分,或者文档写的不清楚,你自己又忘了,后面就十分麻烦了;
    1. 写接口文档:你的模块的引脚接口,以及划分的各个模块的引脚接口,这个步骤能帮你更好的梳理你的设计思路;
    1. 写verilog代码:我的两个模块的前4项工作都是一个月起步,取决于模块大小和复杂度吧,全部梳理清楚了再写verilog代码会好很多;
    1. 清lint(Spyglass):用这个软件调试代码,这个软件不仅能报语法错误,还会提示很多可优化的地方,比如你的这个设计里,有些寄存器reg没有被用到过,或者有些寄存器的部分bit始终是1或始终是0,再或者等号左右两边位宽不匹配等等;总之将这个软件报告的error和warning都清完,代码就能运行了,质量也差不多了;
    1. DC综合(Design Complier):这一步主要是看看设计的电路的面积,如果面积过大,则需要重新修改;时序是否pass(当前工作频率,存不存在一拍计算不完的情况);
    1. 算法同事提供测试数据:算法同事会提供一些输入,及其对应的输出的数据,还会根据你的需要打印些中间变量(只有输入和最终输出的话,很难快速定位出问题的地方);
    1. 验证的同事写testbench验证你的代码:一般是UVM,测出中间变量或者输出对不上时,就需要你找bug,调试;
    1. 收覆盖率:验证的同事会用大量的输入来验证你的代码,确保其能在任何输入下都能得出正确的输出,防止有些情况覆盖不到,软件会有一个覆盖率,提示哪些bit位没有翻转过,状态机的哪些状态没有达到过等等;设计要负责协助验证将各个情况都达到(覆盖率100%),实在达不到的,要给出合理的理由,比如 变量a是常数,因此a的bit位就是不会翻转;

总得来说,数字IC设计工程师,核心还是设计电路,写verilog代码;目前感觉挺火的,薪资待遇还行,但裁员的新闻也挺多;培训班什么的,不了解,不做评价;个人还是倾向于去大公司(最好是有师兄师姐在的公司)做做实习什么的。

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

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

相关文章

linux下的僵尸进程处理SIGCHLD信号

阅读目录 对于waitpid的p i d参数的解释与其值有关:wait与waitpid区别: 转自:linux下的僵尸进程处理SIGCHLD信号 - Jessica程序猿 - 博客园 什么是僵尸进程? 首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区&am…

Java——字母大小写全排列

题目链接 字母大小写全排列 题目描述 给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。 题目示例 输入:s “a1b2” 输出&#xff1a…

spring-boot国际化i18n中英文实现

一、背景 接触到的项目,使用国际化越来越多,系统页面实现中英文环境,记录下,前端使用vue vue-i8n 后端java自己封装 前端翻译对象:页面涉及到的所有按钮(包括新增、删除、导出、下载、导入、上一页、下…

相控阵天线分析综合、设计与测试

目录概述HFSS特殊曲线天线建模直线阵列天线特性和阵列因子(方向图乘积定理、波束扫描)非规则直线阵列天线(稀布阵列、稀疏阵列、平方率分布阵列)直线阵列天线低副瓣综合(切比雪夫、泰勒分布、SinZ-Z和Villeneuve分布&a…

2023-java面试最新总结

1. Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么? boolean boolean数据类型非true即false。这个数据类型表示1 bit,但是它的大小并没有精确定义。 《Java虚拟机规范》中如是说:“虽然定义了boolean这种数据类型…

胡歌官宣生女,胡椒粉们真为他高兴,人生最顶级的能力是【涅槃重生】的力量

今天刷到胡歌官宣生女,胡歌当父亲了,真为他高兴。恭喜老胡!🎉作为十多年胡椒粉,连夜录制了这个视频(抖音视频号:【小伍说_523的作品】胡歌官宣生女,十几年的胡椒粉真替他高兴&#x…

Unity二

一、脚本的创建 可以在project视图中的Assets文件夹中右键创建一个C#脚本,可以将脚本分类放在不同的文件夹中,或者点击游戏对象后在Inspector视图中找到最下方的添加组件按钮,然后点击新建脚本即可。若在project视图中创建的脚本&#xff0c…

详解HTTP请求行

请求行格式 request-linemethod SP request targe SP HTTP-version CRLFrequest-target 有四种格式 origin-formabsolute-path:向原服务器,也就是实际响应内容的服务器发起请求的,path为空时,必须传递 /absolute-formabsolute…

应用性能监控对系统慢访问分析案例

背景 某港口综合管控系统是其主要的业务系统,最近发现用户反馈出现访问响应慢的情况。 该港口已部署NetInside流量分析系统,使用流量分析系统提供实时和历史原始流量。本次分析重点针对综合管控业务系统性能进行分析,以供安全取证、性能分析…

C# 国际化问题之CultureInfo(小数点的不同一些欧洲国家习惯使用,而非.)

前言 在公司做的桌面软件在国内以及亚美洲地区都能正常使用,结果到了俄罗斯客户那边软件就根本打不开,不能正常使用。 文章目录定位问题分析问题找解决方案总结定位问题 经定位排查,最终发现是俄罗斯的浮点数不是用小数点,而是用…

网赚 美金 Neobux注册操作完整教程

neobux是点击网赚即时支付(Instant pay)型的创始网站,同时也是点击网赚类网站中信誉最高、实力最强,会员最多、最稳定的。Neobux官网 https://www.neobux.com/?rxyadmin账户注册1.点击官网地址进入neobux主站,点击右上…

【正点原子FPGA连载】第二十五章设备树下的LED驱动实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第二十五章设备树…

BUUCTF[GXYCTF2019]Ping Ping Ping 1

题目 http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/ 解题过程 1.尝试ping一下127.0.0.1 http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node4.buuoj.cn:81/?ip127.0.0.1 2.尝试查看当前目录下的内容 http://06590c75-6f53-45ea-b42d-b2034e4cd98e.node…

vue项目采用vue-cli-plugin-cesium 插件集成cesium

市面上的前端框架中,VueCesium 可谓是最佳搭档,一般做 Cesium B 端产品的公司都会使用 Vue,所以后续内容都将基于 Vue通常情况下,我们要在 Vue 中使用 Cesium,首先要安装 Cesium,然后要在 vue-cli 的 webpa…

涂鸦发布蓝牙子设备框架,让智能家居快速实现毫秒级配网速度

如果有人问智能家居行业应用最广的协议是什么?蓝牙一定是选项之一。体积小便于集成、功耗低、全球适用等特征,让蓝牙设备被大范围应用。在消费侧则更关心的问题是:设备的配网速度、成功率以及设备连接的稳定性。 所以,市场要找到…

26对称矩阵及正定性

一、知识概要 本节从对称矩阵的特征值,特征向量入手,介绍对称矩阵在我们之前学习的一些内容上的特殊性质。并借此引出了正定矩阵。 二、对称矩阵 正如我们之前学习的很多特殊矩阵一样(如马尔科夫矩阵),对称矩阵也有…

字符串流stringstream--<sstream>

字符串流stringstream流详解 一.stringstream是C提供的一个字符串流&#xff0c;与iostream和fstream的操作方法类似&#xff0c;只是功能不同。要使用字符串流必须包含其头文件<sstream>。 #include<sstream> 二.stringstream字符串流通常用来做数据转换&#x…

python-闭包知识点

目录标题1、函数参数2、闭包3、闭包的使用4、闭包内修改外部变量1、函数参数 def fun01():print(func01 is show) #fun01() 会输出打印结果 print(fun01)#输出&#xff1a;<function ox11....地址> #函数名存放的是函数所在空间的地址fun02 fun01 #函数名也可以像普通…

中国电子学会2021年12月份青少年软件编程Scratch图形化等级考试试卷三级真题(含答案)

青少年软件编程&#xff08;图形化&#xff09;等级考试试卷&#xff08;三级&#xff09; 分数&#xff1a;100 题数&#xff1a;38 一、单选题(共 25 题&#xff0c;共 50 分) 执行下列程序&#xff0c;屏幕上可以看到几只小猫&#xff1f;&#xff08;B &#xff09;(2…

奇怪的一些

1、请求200 但是请求回来的是html 网络里会写 200OK from disk cache 这个时候需要清除浏览器缓存 2、base64 引入失败 找一个js文件直接引入 require is not defined import Base64 from ‘***’ https://blog.csdn.net/u011383596/article/details/116712729 3、promise prom…