IC技术圈期刊 文章分类

类别: FPGA(324) 前端(188) 验证(138) 后端(93) 嵌入式(7) 自动化(18) 模拟(18) 求职就业(146) 管理(7) 软件(20) 按月份
微信公众号:ExASIC
分享数字集成电路设计中的经验和方法。分享让工作更轻松。
我的第三个UVM代码——把testcase与driver分开
#验证  #UVM 
在本示例中没有env、agent、sequencer、sequence等组件,属于一个简化的验证环境,主要是由于分步演示的需要。侧面也说明UVM是一个灵活的验证架构,可以根据自己的需要进行裁剪。
ExASIC
EasySim: 一个简单的仿真脚本 v1.1
#自动化  #验证  #python 
EasySim v1.1版支持: - 切换仿真器irun、xrun、vcs,在conf.json里指定。 - 支持打开Verdi,并支持只打开RTL。 - 增加了options可以仿真fpga代码,支持多顶层。 - 增加了dryrun,只打印最终的cmd,但不运行,方便调试脚本本身的错误。 - 支持灵活的timescale,功能仿真用粗精度,后仿用高精度,支持从conf文件里覆盖timescale。
ExASIC
高级综合优化选项一:ungroup
#前端  #综合 
高级综合优化选项系列,聊一聊如何优化设计。
ExASIC
高级综合优化二:状态机编码转换
#前端  #综合 
一起来看看综合时怎么优化状态机编码
ExASIC
【Innovus】总结了十条消除DRC和Antenna的方法
#后端  #Innovus  #DRC  #Antenna 
有时候APR工具并不是那么智能,需要人工干预才能达到满意的效果。本文总结了工作中遇到的Route后DRC、Antenna等问题的几个解决方法。
ExASIC
fsdb转vcd的方法
#验证  #fsdb  #vcd 
虽然VCD波形用得很少了,但还是有极少数情况需要。比如给模拟电路做vector,fsdb版本过新打不开,或者单纯没有verdi,或者是为了与开源工具交互……下面介绍了用verdi自带的工具fsdb2vcd来转换VCD的方法。
ExASIC
【Innovus】做postmask功能ECO需要分几步
#后端  #postmaskeco  #eco 
一般Postmask功能ECO流程分成以下几步:修改RTL和验证、修改网表(LEC)、后端工具里ECO Route。因为是postmask,所以不能加减stdcell,但可以用spare cells来映射。今天重点来介绍在Innovus里实现ECO Route需要怎么操作。
ExASIC
用Python解决Verilog网表转CDL大小写重名的问题
#自动化  #python  #后端 
在用calibre v2lvs把APR网表转CDL时是不是经常遇到下图的情况?这是CDL不区分大小写的原因。最常见的解决方法就是写脚本替换。我们注意到log里warning非常有规律:Duplicate port/net name "xxx" found in module "xxx",这样我们可以用正则提取net和module名字。
ExASIC
用Python写一个stdcell library的parser
#自动化  #python  #后端 
用正则写一个简单的stdcell library的parser。对于多行的文本,设置标志位,在区间里进行正则匹配,可以提高准确性和效率。
ExASIC
用Python提取Verilog网表层次和实例化关系
#自动化  #python  #后端 
我们知道Verilog网表文件很大,小的也有几十M、几百M,但Verilog网表没有形为级描述,只剩下stdcell和macro的实例化。本文用python正则实现了网表实例化关系提取。总结:正则不难,难的是善于总结和灵活应用。定义合理的数据存储结构也是非常重要的,后续操作会简便很多。
ExASIC
与门变或门,或门变与门
#前端  #后端 
掌握常见逻辑门的等价变换是手工做网表ECO重要技能。比如,与门和或门的互换、与/或跟选择器的互换、DFF的SET和RESET互换、DFF上升沿和下降沿的互换等。下面介绍与门和或门的互换方法。
ExASIC
【innovus】大小写重名的终极解决方法
#后端  #innovus 
其实innovus也有一个命令类似dc的change_names,叫update_names。
ExASIC
分享几个职业生涯中的问题的思考
#求职就业  #股票  #职业生涯 
做事的时候开心吗?做自己感兴趣的事,才更容易出成果、有创新,更容易实现自我价值,也更容易帮老板实现利润。最后,送大家一句曾国藩的话:“抬头看路,埋头做事,低头做人。”
ExASIC
Emacs的安装、配置和使用
#软件  #emacs 
介绍了Emacs的安装、配置和使用。
ExASIC
如何在“浏览器”里实现一个云端EDA
#软件  #django  #eda  #云端EDA 
本文介绍了一种在浏览器里编辑代码、仿真、看log、看波形的方法。
ExASIC
MyHDL,体验一下“用python设计电路”
#软件  #EDA  #myhdl  #前端设计 
用myhdl写了一个模块,里面有两个计数器:cnt1从0计到9,当cnt1=9时,cnt2从0计到4。不仅可以输出verilog,还可以仿真产生vcd和看波形。
ExASIC
用NanDigits GOF LEC做一致性检查
#验证  #LEC  #EDA 
录了一段视频,来体验一下用NanDigits GOF LEC做LEC。
ExASIC
用spinal生成了一个计数器
#前端  #spinalhdl 
写verilog不就是时序逻辑和组合逻辑嘛,counter正是一个很好的hello world例子。
ExASIC
时序电路为什么综合成了latch
#后端  #综合  #latch 
有群友提问,下面的代码为什么在DC里可以综合成DFF,而在FPGA上却综合成了latch。这篇文章为您慢慢道来。
ExASIC
【手把手系列】:芯片设计中的Makefile简明教程
#自动化  #Makefile 
这篇文章介绍了makefile的基础语法和在IC中的应用。
ExASIC
dc约束中的multi scenarios(多场景)
#前端  #综合 
我们在做MCU芯片的时候,经常遇到PAD复用。有一种情况比较特殊:一个PAD在一个场景下用作时钟输入,另一个场景下用作数据的输入。这样的话,我们需要为这个PAD创建两组约束。
ExASIC
厌倦了sv/uvm?来看看用python写验证环境
#验证  #cocotb 
本文介绍了cocotb的安装、python tb文件的写法、用xrun仿真cocotb的脚本等,我们来看看体验如何。
ExASIC
【从零开始数字IC设计】001 反相器的verilog设计
#前端  #数字IC  #verilog 
本文从数字集成电路设计角度阐述了反相器的原理、数字逻辑表示方法、verilog语言的描述、再到把verilog代码转换回电路的方法和过程。后面会继续用这种思维带领大家学习和设计数字集成电路中的常用电路。
ExASIC
cadence genus版的综合脚本
#前端  #综合 
今天我们再来写个cadence genus版本的综合脚本。为了简单说明,只做了worst corner,可以满足大部分老工艺的综合。
ExASIC
GNU sed实例教程
#自动化  #sed 
sed,十个IC设计中的应用
ExASIC
【从零开始数字IC设计】002 认识常用的门级电路(NAND2)
#前端  #数字IC设计 
标准单元库是数字集成电路的积木,是复杂电路和系统的基础。今天我们来认识一下其中的几个常用门级电路。先来看看二输入与非门(NAND2)
ExASIC
用python实现分模块按cell类型统计cell个数并降序排列
#自动化  #python  #后端 
有同学想看看综合网表里某模块里and、or、inv等cell的个数,谁最多谁最少。虽然用dc的各种命令组合也可以实现,但今天我们用python来实现。
ExASIC
用python实现网表分模块统计面积
#自动化  #python  #后端 
虽然dc也有report_area -hier命令来报告各级模块的面积,本python方案看似有点造轮子,但还是有一定的便利性。一、不受网表类型的限制,综合网表、DFT网表、APR都可以。二、可以过滤面积小于指定值的小模块,比如工具自动插入的ICG模块。三、还可以根据面积占比做排序,方便分析面积的瓶颈。
ExASIC
【Innovus】记录后端的一些小心得
#后端  #innovus 
分享innovus的使用经验,一些细节不注意可能会出大问题
ExASIC
逻辑综合的流程和命令
#后端  #综合 
综合就是把Verilog、VHDL转换成网表的过程。综合按照是否考虑物理布局信息可分为逻辑综合和物理综合。逻辑综合通常用来做工艺较老的项目,或者较新工艺的面积和时序的评估。因此,前端设计工程师掌握逻辑综合的流程和相关EDA工具是必须的技能,可用来评估和提升设计代码的质量。
ExASIC
【innovus】fab回复说“我们不提供ict/captable”
#后端  #innovus 
本文介绍了tluplus转captable的方法和注意事项。
ExASIC