自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长河柱天的博客

混合集成电路与嵌入式设计杂谈

  • 博客(31)
  • 收藏
  • 关注

原创 cadence使用技巧(五)

本文介绍两个cadence小技巧。一是VerilogEditor在编辑模式下CTRL+E无法退出的问题。二是将ADE的仿真时间做成一个参数。以下展开来讲。

2024-08-10 11:42:11 225

原创 cadence使用技巧(四)— 修改virtuoso窗口的显示样式

修改virtuoso窗口的默认显示样式

2023-01-04 21:11:09 3010

原创 ADC测试杂谈二:matlab操作串口向FPGA发信

matlab操作串口向FPGA发送信息的技巧。

2022-11-26 18:13:36 1621

原创 ADC测试杂谈一:配置基于matlab+quartus的测试环境

简要介绍基于matlab和FPGA的ADC测试方法。

2022-11-16 23:38:21 1122

原创 virtuoso配合calibre进行电路后仿真

virtuoso配合calibre进行电路后仿真

2022-07-12 11:44:06 16842 6

原创 cadence使用技巧(三)— 自定义virtuoso ciw菜单

笔者琢磨这个功能的出发点是换工艺时,要不断切换仿真模型。因此在ciw(cadence交互窗口)中定义了一个菜单,用来加载两种工艺的libInit.il脚本以更改ADE使用的模型。代码如下:procedure( Menu_CIW()ciwMenuInit()menuItem_1=hiCreateMenuItem( ?name 'item1 ?itemText "ITEM 1" ?callback “按键的回调函数例如load xxx”)menuItem_2=hiCreat

2021-11-12 19:26:05 5521

原创 cadence使用技巧(二)-加载显示文件/更改代码编辑器/导出版图label坐标

1、加载显示文件一般在.cdsinit中调用命令drLoadDrf “xxx.drf”即可在cadence启动时自动加载电路/版图高亮等设置;但是对于某些工艺库,当打开具体的电路后会自动加载默认的display文件,此时需要在cdsinit文件中增加一句:ddGetObj( “pdk_name”)然后再跟一条drLoadDrf即可。2、更改默认编辑器cadence默认的代码编辑器很难用,因此可以换成外部编辑器如gedit,在cdsinit文件里加如下两句:editor= “gedi.

2021-11-12 19:18:32 5050

原创 cadence数模混合仿真反标sdf

数模混合IC设计时经常要调用一些Verilog模块(最简单的例如SPI接口),在前仿时一般直接用rtl代码来仿真,但是后仿时要关注因寄生带来的延迟,避免这些额外的延迟导致时序错误,因此不能简单地采用RTL来仿真。一般有两种办法:1是采用由RTL综合得到的门级电路来仿真,这种方法比较简单,但是缺点是规模较大,而且只包括门延迟不包括因版图导致的线延迟;如果想要仿真更精细,就要对该这部分门电路提取寄生参数;另一种方式是利用sdf文件(standard delay format)来进行仿真。后端工具在布局布

2021-08-02 14:23:52 5349 14

原创 cadence仿真屏蔽cell和lvs屏蔽cell

1、仿真时如果不需要某些器件,shift delete即可,此时ADE netlist and run时会自动屏蔽这个器件;2、lvs时如果不需要某些cell(例如某些VerilogA模型),给这个cell添加一个boolean类型的property:lvsIgnore即可。此时calibre提取网表时会自动屏蔽这个cell。本文纯粹是个备忘录...

2021-07-31 18:18:58 3625 2

原创 cadence virtuoso高亮连线及高亮搜索结果

1、基本颜色定义两种颜色类型如下图红框所示,末尾带字母t的说明是闪烁颜色,这种颜色可以更醒目。2、高亮连线将display中的y0~y9的linestyle属性改为thickLine即可。viva和layout中的线性也被修改。3、高亮搜索结果hilite代表选中一个器件/线时所显示的颜色,hilite1代表搜索一个器件/线时所显示的颜色,设置需要的线型及颜色即可。...

2021-07-31 18:06:44 10218 2

原创 比较器噪声仿真方法

比较器输入噪声的仿真方法前言一、简单的概率问题二、噪声情况下的比较器三、基于最大似然估计的理论推导四、代码实现前言 比较器噪声的分析一直是ADC设计无法绕过的话题,例如SDM SAR等等。常规的比较器有两种,一种是带预放大器pre amp的,一种是动态latch或者加一个动态的放大器。显然,如果是前者,由于预放大器的倍数一般较高,所以比较器的噪声就是预放大器的噪声,按照运放的噪声分析方法即可; 如果是后者,可以进行这样简单的考虑:由于动态latch的噪声主要来源于电荷泄放过程,因此计算latch输入

2021-04-17 12:28:47 6841

原创 SAR ADC和sigma delta ADC的区别

0、ADC基本概念ADC,即analog to digital converter,模拟到数字的转换器,简称模数转换器。为什么需要ADC?因为现实的世界中,电信号是连续的,例如心电信号,或者声音信号,这些连续的信号被称为“模拟信号”。图1:心电信号图2:声音信号然而这种连续的信号是无法被计算机处理的,计算机只认识0和1组成的“数字信号“。ADC就充当了这样一个桥梁,将“模拟信号”转换为计算机能识别的“数字信号”。举个例子,当前的心电电压为1.2V(实际没有这么高),ADC可能会得

2021-03-27 21:17:37 18130 4

原创 virtuoso导入网表时遇到的问题解决(二)

最近用virtuoso导入网表时,又有了新的问题。选择netlist language为spice时,导入到一半忽然报错,“failed to import”,此时在library里生成了一个netlist_tmp的view。cadence并不提示其余的任何错误。最后的解决方法是将netlist language改为CDL,这种情况下virtuoso并不识别网表中定义的模型。例如网表中定义了M3 D G S B nch3,这个“nch3”会被识别为一个nfet的单元,产生error。新建一个简单

2021-03-25 11:19:27 7834

原创 ADC双音测试:two tone test for ADC

本文是一篇介绍性文章,主要介绍ADC双音测试的一些概念及其仿真与测试。目录参考文献:(1)MT-012(2)AD9444 datasheet(3)Low-IMD Two-Tone Signal Generation for ADC Testing1、基本概念:(1)IMD2 IMD3(2)IP2 IP3(3)互调概念在ADC中的扩展2、仿真3、测试参考文献:(1)MT-012https://www.analog.com/media/en/trainin

2021-02-01 23:51:10 6698

原创 SAR ADC上极板采样浅谈

SAR ADC中常见上极板和下极板采样。下极板采样是通过时序控制来抵消掉电荷注入的有效手段,具体参考拉扎维教材。下面按照我的理解,简单谈谈上极板采样。上极板的最大问题就是电荷注入和寄生电容。首先是寄生电容,上极板采样的时候,除了CDAC采样,比较器输入端的寄生电容也在采样,而且这个寄生电容是随着电压非线性变化的。例如,采样2V时寄生电容20fF,采样4V时寄生电容可能变成了25fF。这样就引入了非线性。其次是电荷注入。在BSIM3v3和BSIM4的模型中对电荷注入有相应的模型,而通常电荷注入

2020-06-17 09:06:27 8206 1

原创 CIC滤波器和SINC滤波器

1、CIC提出于1981,可以方便地实现抽取和内插;通过调节积分器和comb的个数可以调节其频率响应。其一般频响如图1:类似于一个SINC函数,因此也被称为SINC滤波器。针对图1中通带不平的问题,可以设计额外的补偿滤波器。值得一提的是,sinc函数和矩形函数在频域和时域是互相对应的,也就是说,时域的sinc函数:sin(x)/x,在频率对应于brick wall filter;反之...

2020-04-07 23:27:26 16400

原创 virtuoso导入网表时遇到的问题解决

1、PDK库里的电阻对应不上一个很神奇的问题是pdk里有的器件竟然导入不了,显示term缺失,这个问题的解决方式为:如图,默认的选项一般是spectre,但是有的PDK,cdf里只有用于ams的端口顺序,此时如果不更改设置,就会因为端口匹配不上而失败;2、resistor,capacitor等analogLib里的器件对应不上这个是一个经典问题,解决方式也很简单,做一个dev...

2020-04-07 21:57:42 7774 3

原创 altium 18高亮连线

用过virtuoso的朋友都知道,在schematic界面按‘9’键即可点亮原理图的一根线,按‘0’即可取消高亮。在Altium 18这款PCB软件中,常见的点亮一根线的方法是:alt + 鼠标左键,然而这个方法效果不是很好。下面介绍一种效果更醒目的方法。第一步:第二步:在上图中“set net colors”处,将相应的操作的快捷键分别设为“9”和“0”,即可实现类似...

2020-04-06 19:58:04 1481

原创 第二届华为杯创芯大赛题目浅析及模拟均衡器(AEQ)基础理论推导

引言:在高速串行接口中(典型如SERDES),高频信号的0-1切换可能会由于传输线阻抗等因素无法切换完全,进而出现ISI码间干扰。这种方式的典型解决方法有两种:发射端预增强和接收端均衡。两种方式的目的都是要补偿高频信号的衰减,而均衡器的主要实现有两种,一种是模拟均衡器,一种是数字均衡器。后者可能是通过射频ADC采样后进行DSP,前者的目的是通过模拟电路直接实现下图所示的信号传递曲线:在...

2019-08-12 23:15:20 2285

原创 verilog实现SPI从机

大概描述一下,下面的代码包括三个部分,spi_slave:完全可综合的SPI从机,地址0处的寄存器最低位为1时进入读模式,该位为0时是正常的写模式,仿真时定义了10个寄存器;cmd_final:测试代码,用于构建task并发出读写命令,一个SPI伪主机;spi_slave_tb:testbench,将伪主机和从机连接起来。module spi_slave(cs,sdi,sdo,s...

2019-05-13 23:08:00 12384 1

原创 几道题目总结(CMOS)

1、分析高通差动对直观的分析,低频时I0和I1两个电流源输出点开路,则I0和I1各自为一个无穷大的电阻,源级负反馈之后gm为0,放大倍数也为0,所以低频放大倍数为0.频率升高之后,C0阻抗逐渐减小,I0和I1逐渐短路,此时NM0和NM1的S端近似为虚地,电路变成一个正常的差动对。2、分析闪烁噪声和什么相关闪烁噪声产生于栅氧界面,因此等效为栅极的一个电压源:v^2=k/(C...

2019-05-09 13:27:31 5101

原创 65nm工艺下MOM电容详解与蒙特卡洛仿真及calibre xRC

提纲1、SMIC65LL工艺MOM电容工艺详解2、电容失配模型(蒙特卡洛模型及其仿真方法概述)3、Calibre SVRF介绍 3.0 xRC和xL 3.1 xcell和hcell 3.2 extraction type 3.3 PEX option4、MOM电容阵列寄生提取策略正文一、MOM电容如图,一般三端MOM是做在N阱里,这样...

2019-04-04 17:12:45 25921 3

原创 代码辅助电路设计

1、Python比对文件异同有时候在cadence里更改了一些文件内容,例如LVS规则等等,回看时可能不记得更改了哪里,这时,利用Python逐行对比分析是一个好办法。因此,更改文件建议备份以备回溯。代码如下:a=open('A.txt')b=open('B.txt')row=0for linea,lineb in zip(a,b): #zip函数为逐行读取文件内容 r...

2019-03-24 19:56:26 547 2

原创 德州仪器笔试和面试(模拟IC岗位实习)

前段时间面试德州仪器的模拟IC实习岗位,参加了笔试和面试,稍微记录一下。笔试有一道题目,问无源晶振随着频率变化,其感性和容性的转换。大概记得无源晶振两脚要接对地电容,所以谐振时应该是LC振荡,属于感性,超过输出频率范围都属于容性。面试比较尴尬,三年前,我本科找工作时,当时的面试官上来就问我项目经历,草草描述之后他说,我觉得你跟我们并不是很匹配,谢谢。这次我的简历上写了四五个货真价实的IC设...

2019-03-22 23:43:18 12644

原创 STM32入门若干问

从51迁移过来的会发现,好复杂。。第一个问题:新建工程时选择包会出现CMSIS driver和stdperiph driver两种driver,这是因为:CMSIS是ARM开发的统一驱动接口,其正常工作的前提是你必须在工程里引用相关的stdperiph driver。第二个问题:一般的板子上为什么有两个晶振?其中一个圆柱形晶振是常见的32.768k晶振,提供给RTC使用。32768晶振产生...

2019-03-17 00:39:15 1002

原创 modelsim更改默认编辑器以及恢复默认编辑器

modelsim自带的编辑器不是很友好,但是可以生成testbench模板,而且调试时也能自动跳转到某一行的错误。有时设置外部编辑器后无法恢复自带编辑器,具体解决方案如下:1、新装modelsim采用内部编辑器删除注册表项:Computer\HKEY_CURRENT_USER\Software\Model Technology Incorporated\ModelSim并新装好m...

2019-03-13 10:38:46 14968 4

原创 某BCD工艺剖析

1、BCD工艺以隔离严谨著称。以常规NMOS管为例,design manual上,每一个MOS管都被一圈在P埋层之上的PWELL隔离环构成,但是在版图绘制中并不体现P埋层(PBL),而是只画出PWELL,这是因为该BCD工艺默认做在P埋层之上;同时为了做金属接触,用active和注入区(PP)来定义P+区,在P+区上用通孔CT连接金属。2、在自对准工艺下,有源区active和扩散区(或者注入区

2017-07-24 15:25:14 19138 2

原创 windows下的一个socket多人聊天程序(附源代码)

首先声明什么是socket?一个ip加一个端口就是一个socket,一对socket之间可以互相通信。socket基本通讯过程是,客户端连接到服务器,就可以给服务器发消息,在客户端关闭了连接之前,服务器可以通过建立的连接回复消息。另外,在一个客户端连接到服务器之前,服务器一直处在监听状态。根据上述所说,可以很容易地二人通信,只要保持socket连接不断开就行(权利在客户端)。但是多人通信有

2017-03-26 19:18:22 3337

原创 利用MATLAB分析红米note4的音频采集卡性质

首先小科普:wav信号是一种无损音频信号,但是作为一种数字格式信号,无损是不可能的。wav所谓的无损只是说,对声音信号进行采集后无损编码(mp3是一种典型的有损压缩格式)。而一个wav信号的参数主要有:采样率,比特率,声道数,还有采样位数(精度)。例如,双声道,24位,44.1khz(很高的采样率了),8秒的wav文件,占用大小即为:2*24*44.1k*8 bit。换算成kB即可。使用M

2017-03-05 21:17:25 708

原创 Ubuntu下搭建服务器-Apache和shttpd

1、iis开启web服务器小站:win7勾选Internet服务,然后在防火墙里面设置万维网服务可以通过防火墙。后台采用asp,前台页面中可以把form的input框设为hidden。2、linux安装Apache2,这就相当于IIS7,很小的一个软件包,但是它会要求附加10个软件包;此时就能主机访问虚拟机的ip了,而且lubuntu默认打开80端口。3、安装php,php大概是一种网页编

2017-01-02 14:59:11 634

原创 浅分析efi、bootmgr

从MSDN下载过原版镜像的都知道,win7 32位的系统里有一个bootmgr,也就是启动管理器的意思。事实上,windows启动是一连串的过程,主要大概是BIOS,mbr(主引导记录)...bootmgr...系统内核加载到内存。可以说,走到bootmgr,才算是能够加载系统内核了。装系统时也常常会出现GPT分区,MBR分区之类的东西。MBR是旧的硬盘分区标准,支持分区数少(具体原理略过

2016-12-16 00:06:03 9794

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除