自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 SAR ADC设计18:高速高精度比较器

同时LATCH需要输入一个大信号,也需要一个高增益的放大器(过小的信号使latch花费较长的时间处理,可能还会出现亚稳态)高速来自于运放和LATCH不同的时域响应相结合,合理分工,运放负责放大小信号到Vx,LATCH放大大信号这样可以减小t1和t2之间的时间,达到高速。缺点:如果前置放大电路的增益很大,输出失调存储AVOs就会容易使输出饱和,产生非线性的失真,因此单级运放增益不宜过高。(S1=S2=1,S3=0)信号断开,C1C2左极板电压差A*Vos,右极板接到Vcm;运放失调电压消除技术:IOS。

2024-12-02 23:53:35 615

原创 SAR ADC设计17:LATCH比较器

由于输入信号 Vin和Vip 不一样,一个放电快一个放电慢,假设Vip大,则Von放电快,Vop放电慢,当Von率先降低到使得PMOS管 M6导通 ,这VDD对Vop进行充电,此时Vop放电更慢了甚至开始充电拉倒VDD,Von放电更快到0,正反馈形成,Vop和Von迅速分开到VDD和0。因为一开始XY异同往下掉的,此时还没比较出结果,如果这个往下掉的电压过低,而输出反相器的阈值电压过高,就可能导致在XY还没分离的时候,两个反相器就同时拉高,出现Von=Vop=VDD的情况,出现误判,这是不允许的。

2024-11-29 00:07:20 648

原创 SAR ADC 系列16:基于运放的高精度比较器

同时,MP2 < MP1 时,增益提升。MP2 >= MP1 时,从线性放大过渡到迟滞放大,要避免临界状态。Vin+增加,Vout-减小 推推推推推,Vout-又减小,正反馈。共模为,Id*R1,不稳定,随Id和R1变化。

2024-11-28 23:39:11 260

原创 SAR ADC 系列16:基于运放的高精度比较器

同时,MP2 < MP1 时,增益提升。MP2 >= MP1 时,从线性放大过渡到迟滞放大,要避免临界状态。Vin+增加,Vout-减小 推推推推推,Vout-又减小,正反馈。共模为,Id*R1,不稳定,随Id和R1变化。

2024-11-27 00:36:33 124

原创 SAR ADC系列15:基于Vcm-Base的开关切换策略

P阵列最高权重电容从Vcm(=1/2Vref)下拉倒0,N阵列最高权重从Vcm(=1/2Vref)上拉倒Vref。根据电容分压,VP(2) = VP(1) - 2/4。相当于新的Vref2 = Vcm = 1/2Vref了。采样断开瞬间电荷锁定,进行第一次比较。同理,VN(2) = VN(1) + 2/4。总的效果:VP(2) - VN(2) = (Vip - Vin) - 1/2Vref。

2024-11-27 00:11:22 596

原创 SAR ADC系列14:CDAC上机实践+作业

简单来说,这个Vcm的开关,就不能用传输门,因为Vcm接近Vth,P管和N管接近不导通状态,阻抗贼大。虽然MSB的电容绝对失配大,但是他的失配归一化最小,相当于,低位电容,对失配不是那么敏感,允许的失配范围更大,出来的code精度更高。但是,可能电容值下降了,导致不满足KT/C噪声。实际中,为了匹配,Ca必须为整数个Cu,然后凑Cd1,提取后仿看看Cd1为多少,Cd1不够的话,还需要人为补齐。首先:一般在先进工艺下,想28nm,14nm,7nm这样,Vdd都低于1V了,但是管子的Vth并没有变化。

2024-11-26 00:29:50 1260

原创 SAR ADC系列13:DAC总结版

电流切换简单,快速。然后类似CDAC一样,INL&DNL 取决于电流源的match,类似的如果满足不了 I3 >=(I2+I1+I0),会造成缺码现象(missing code),造成非单调(not inherently monotonic),二进制DAC的通病。:glitch的来源之一:时序的误差——翻转的时候,相邻两次code并不是同时跳变,他们肯定有个中间态,code值是不确定的,这就带来了DAC的输出不确定,出现glitches。右下图,一般没有那么这样的,一般MSB=4位,LSB=8位。

2024-11-26 00:12:25 1267

原创 ADC系列之CDAC开关切换策略

■ 简便算法:当VP(2)>VN(2)时,VP(2)大了,需要将VP(2)减小,所以将P阵列次高权重的电容下级板拉到0,根据电容分压,VP(3) = VP(2) - 1/4Vref = Vip - 1/2Vref -1/4Vref。当 VP(1)>VN(1),说明 VN(1)小了,增大VN(1) ,将N阵列MSB电容从0拉高到Vref,电容分压,VN(2) = VN(1)+2/4Vref = Vin + 1/2Vref。同理VP(1)<VN(1),说明 VP(1)小了,增大VP(1)。

2024-11-19 00:17:26 1152

原创 ADC11:分段式CDAC

因此,在①点输入一个阶跃信号△V,看Vo点(MSB上级板)的电压,记为△Vo1;在②点输入同样阶跃信号△V,看Vo点的电压,记为△Vo2;Ca 连接在MSB最小值和LSB最大值之间,MSB最小值电压 应该为 LSB最大值电压 的2倍。主要是理解这种思路,跨段bit权重保持几倍,电压差就是几倍,通过仿真确切获得数据!■ 桥接电容Ca、寄生电容Cd、LSB总电容CLt均为Cu的整数倍。■ 需要在M、L、K确定的情况下,找到合适的Ca、Cd、CLt的值。电容选取标准:单位电容Cu的整数倍。

2024-11-14 23:40:35 496

原创 CDAC电容失配对线性度的影响

如图,蒙特卡洛仿真1000个点,平均值μ=19.2f,标准差1σ=20a,也就是电容有千分之一的误差。电容的mismatch和sqrt(WL)成反比,即mismatch降低至原来2倍,电容面积要提升到4倍。

2024-11-14 00:22:02 1238

原创 ADC之单位电容的选取-电容失配仿真

找 I_ideal = C_ideal 的点对应的频率,反标到I_real,对应的就是C_real。按A在线上标点,按Q在Position中选byYMode----15.536f_ideal(我自己的)对应:15.53321f_real(f=159.1549m)当V=1的时候,利用ac+蒙卡仿真,求出 |I|~|f| 的斜率=2pi*C,再除以2pi,得到C。C0是工艺库的电容,C1是理想电容。交流电源vac=1V,VDD=1V。具体来看:(这里C0是理想电容,C1是存在失配的电容)

2024-11-12 23:44:31 569

原创 ADC之采样上级实践

一些知识点:电容会产生噪声吗?-不会一阶RC滤波器的噪声表达式-KT/C采样时钟的Jitter对SNR的影响仅仅取决于输入信号频率,与采样频率无关?是,fin与Jitter电源电压较低的情况下,传输们开关失效的原因是什么?-阈值电压高,mos管截止了上极板与下极板采样谁精度高?-下级板精度高下级板采样电路中,哪个时钟沿最关键?-下降沿提前到来的TOP极板时钟下级板采样电路中,哪个点是敏感点?-TOP极板。

2024-11-11 23:40:30 1035

原创 ADC采样技术

采样阶段:CLK = 1,电容下级板接 gnd(ac),上级板通过开关接Vin采样结束:CLK下降沿!电荷存储在电容上级板,Q=Vin*C,Vin的信号存储在C上。做DFT时主要采样的信号要是采样保持信号,在CLK=0的时候的稳定的信号注意:算 fin 的时候不要自己计算确定的值,直接填为公式 fin = M*fs/N,软件会自动四舍五入。

2024-11-07 23:55:53 1084 1

原创 ADC之采样开关

优点:①简单、用最少的器件②带宽大,track-mode offset 小缺点:①信号相关的TBW——单管开关的显著缺点②信号相关的电荷注入和时钟馈通——共性,单管开关更加明显③信号相关的aperture delay(sampling point)——取决于clk-SR、Vin-BW由于clk下降沿不够陡峭,开关在电压小于Vin+Vth时才会关断。Vin的幅度不同导致开关关断时间不同。比如:可能幅值较低是在100ps时关断,幅值较高时在50ps时关断。类似于clock jitter。

2024-11-07 23:24:55 1372

原创 采样的基本原理与非理想效应分析

采样定理为了防止频率混叠,采样频率fs>2fsignal;方法:采样频率尽可能宽;增加抗混叠滤波器;采样:V_sig(t) = cos (2pifin* n/fs)发生频谱混叠之后,f_sig 和 N*fs ± f_sig 叠加在一起,同样的,噪声也混叠到采样带宽内;解决方法一(f_sig < f_s):过采样加抗混叠滤波器;实际上,做一个理想的滤波器性价比太低了。常见的滤波器长下面这样,如果确定了信号带宽为B,滤波器在 fs/2 处就需要提前衰减。

2024-11-06 23:16:35 703

原创 上机实践1

利用Cadence环境下calculatorl中的dft函数对一个sin信号(1MHz)做频谱分析。

2024-11-06 23:09:41 271

原创 SAR_ADC介绍和建模

T3:DAC将输出VDAC置成12/16VREF,VIN与12/16VREF比较,VIN>12/16VREF,比较器输出高电平,MSB-1=’1;T4:DAC将输出VDAC置成14/16VREF,VIN与14/16VREF比较,VIN<14/16VREF,比较器输出低电平,MSB-2=’0;2:信号与(1/2+1/4)VREF相比,结果='0,代表信号<3VREF/4,B2=0。4:信号和(1/2+1/4/-1/8-1/16)VREF相比,结果=‘0,B4=0;T1:ADC采样,得到采样保持信号VIN;

2024-11-03 23:55:46 545

原创 ADC 2:DFT离散傅里叶变换

作为一个线性系统,如果输入为单频信号,则ADC输出应该只含有相同频率的单频信号fin,非线性会导致K*fin(K=2,3…)的频谱分享。

2024-10-30 23:32:59 1070

原创 ADC开启

需要1.25LSB的输入增加才有010→011的变化,那么就说011这个码的DNL也是0.25LSB;差分非线性误差是指ADC实际的量化电平与理论的量化电平之间的差异,这主要由于A/D本身的电路结构和制造工艺等原因,引起在量程中某些点的量化电压和标准的量化电压不一致而造成的。积分非线性表示了ADC模数转换器器件在所有的数值点上对应的模拟值和真实值之间误差最大的那一点的误差值,也就是输出数值偏离线性最大的距离。微分非线性:指的是数字输出每增加“1”时,输出模拟量的变化值与LSB的差距。

2024-10-29 23:51:56 435

原创 ADC性能参数

所以,ADC相邻两刻度之间最大的差异与理想步距的差值,就叫微分非线性DNL,也称为差分非线性,以LSB为单位(LSB,最低有效位,即理论上的最小可分辨模拟电压值,比如1.024V基准电压,10bit的ADC,其LSB为0.001V)。积分非线性误差(INL,Integral nonlinearity):积分非线性表示了ADC模数转换器器件在所有的数值点上对应的模拟值和真实值之间误差最大的那一点的误差值,也就是输出数值偏离线性最大的距离。指的是数字输出每增加“1”时,输出模拟量的变化值与LSB的差距。

2024-10-29 23:44:40 583

原创 在一款芯片中多个时钟域非常常见,跨时钟域检查至关重要。本篇记录的是CDC跨时钟域的基础概念。

时钟抖动(Clock Jitter):两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,使得时钟周期在不同的周期上可能加长或缩短。是同步时钟,时钟的同步关系与频率无关,只要是同源、有固定的相位关系,就是一组同步时钟。不是,不同的时钟源出来频率相同,但随着时钟的偏移和抖动,都会导致相位的不确定性。问题2: 有两个时钟是通过同一个时钟源分频出来的,但他们的频率不同,那么它们是否为同步时钟?一个电路的launch时钟和capture时钟不是同一个时钟,就是跨时钟域。

2022-09-17 10:34:55 1052

原创 FPGA时序分析、优化与约束

FPGA时序分析、优化与约束。

2022-09-17 09:23:21 1278

原创 DC进阶-多周期约束详解

面试官首先问多周期是什么意思?让我给他做个详细解释。于是我给他balabala讲了下面的知识点,当然现场没那么详细,这里我详细给大家做下解释。一个多时钟周期的经典例子就是来自DC workshop中的乘法器,图1中时钟CLK的周期为10ns,根据设计规格加法器的延迟约为6个时钟周期。首发于写文章。

2022-09-17 09:15:53 1682

原创 Verilog实现计算最大公约数和最小公倍数

解在求解最大公约数与最小公倍数时,通常使用辗转相除法计算得到最大公约数,然后利用两数之积除最大公约数得到最小公倍数;设计一个时序电路,输入2个无符号数,位宽可以通过参数DATA_W确定,输出这两个数的最小公倍数和最大公约数。则最小公倍数=34*20/2=340;所以最大公约数为2;...

2022-07-29 11:43:31 883

原创 veilog实现模5运算(低位先输入)

一个12bit的数,一个bit一个bit串行输入,并且低位优先,求它模5的余数。解解决这一问题的关键就是注意到2"模5的周期性,如下所示。可以看到,模5的周期为4,因此,我们可以设置一个模4的计数器,当该计数器为0时,对应余数应该为1,为1时余数为2,…这一系列数,模5的余数分别为1,2,4,3,1,2。...

2022-07-29 11:02:29 1120

原创 单端口RAM实现FIFO

当wea拉高时,会将数据写入对应的地址,同时douta输出的数据与此时写入的数据是一致的,因此在读的时候需要重新生成对应的读地址给addra,并且disable掉wea。第一种办法采用两个单口RAM,两个单口RAM分开奇偶,相当于乒乓意思,然后再加一个REG,这样就把REG分开了。我的思路是遇到同时读写的时候就对写打一拍这个时候是对奇ram写入,然后下一拍在遇到同时读写那么同样打一拍后对偶ram写入。所以一个端口只读,一个端口只写,但是写入和读取的时钟可以不同,且位宽比可以不是11。...

2022-07-29 10:37:39 2765

原创 基于移位寄存器的同步FIFO

代码】基于移位寄存器的同步FIFO。

2022-07-28 21:26:58 1883 1

原创 独热码检测

然后我们再将A取反,然后~A在和P按位或,如果得到全为1的数据,则为独热码。如果不全为1则不是独热码(除A为零的情况)A序列为第i位为1的独热码则P的第i位到N-1位应该全为1,0到i-1位应该全部为0;将该数的所有bit相加,若和为1,则说明该数据为独热码;当序列不为独热码时得到的P不具有这样的性质;......

2022-07-28 21:04:25 1370 3

原创 DDR3 功能测试记录

4、记录一下遇到某个不知名的bug,当bank队列同时遇到读写时怎么办,之前的代码有问题,但是不影响DDR读写时序,现在重新修改了下代码;1、先把全部数据存进fifo后在写入DDR。这里的代码某个写任务会遇到刷新请求。2、边存到fifo边写入到DDR。3、在写状态时遇到刷新请求。4、在读状态时遇到刷新请求。...

2022-07-28 09:03:08 813

原创 检测最后一个匹配序列的位置

题目描述编写一个模块,输入一个64比特的比特流,识别匹配出101101的最后的位置,并输出位置信息。思路移位比较的思路进行比较,count计数输出位置信息;

2022-07-27 11:33:43 163

原创 AXI4协议与AXI3协议区别

但是根据经验来讲各家公司好像也没太遵循这个规则,很多AXI3的IPawlen/arlen的位宽是多少,支持多大的burstlength也是根据自己的情况来定的,其实这个对protocol的完整性没什么影响,所以大家也是根据自己的系统需求来定,但一般还是2的n次方。这个lite协议其实主要目的是简化protocol,用于系统上对register的访问,到目前接触的项目一般都是通过APB,I2C,RGST或自己定义的ATB类似的协议处理寄存器相关的访问,所以只简单了解过AXI4-LITE,不作说明。...

2022-07-27 11:02:29 2117

原创 AHB协议中hreadyout和hready_in的区别

上面这张时序图表明master有两笔写传输,第一笔传输为slave1(s1),传输类型为SEQ,在第一笔传输的第二个周期,也就是第一笔传输的dataphase,此时slave1没有准备好被写数据,因此把s1_hreadyout拉低,但此时slave2已经看到自己的NONSEQ传输了,而且slave2已经是准备好了的。重新拿上面的仿真图看一下,由于前一个周期的s1_hreadyout为低电平,所以s2的hready_in也为低电平,那么该周期s2不会对addr以及控制信号进行采样。就不会出现上面的问题。...

2022-07-27 10:27:41 2157

原创 同步复位,异步复位,异步释放同步复位

但此时第二级触发器不会立刻变高,它要么复位为0,要么跟随前一级触发器的输出Q1,而前一级触发器的输出Q1为0,因此,无论如何第二级触发器的输出都为0,而触发器1的输出,若稳定后Q1为1,那么rst_sync_n在下一个周期被拉高,实现同步释放;如果稳定后的Q1为0,那么下个周期rst_sync_n仍为0,但此时由于rst_async_n已经为高,所以Q1在下一个周期必为1,那么rst_sync_n在下一个时钟上升沿到来时被拉高,也实现了同步释放,只是晚了一个周期而已。结论是没有亚稳态,无需担心。...

2022-07-27 09:51:03 2422

原创 TCL脚本学习

来源于https//www.zhihu.com/people/but-31-18/posts。

2022-07-15 21:02:05 173

原创 UPF具体实现思路

影响芯片功耗的两个重要因素是芯片的工作时钟频率和工作电压,因此系统层级最有效的低功耗设计手段是电源管理,电源管理通过控制芯片的供电电源和时钟有效的降低系统工作功耗。在 CPU 的低功耗设计方面,目前业界主要使用的电源管理方案是功耗管理技术(PM)、 动态电压频率调整技术(DFVS) 和自适应电压调节技术(AVS)。功耗来源:所以,对于电路的每一次开关变化,无论是由高电平变化为低电平还是由低电平变化位高电平,电路都会因为开关电流消耗固定为C V L DD 2 的能量。在芯片中,电路的开关活动并不是每时每刻都在

2022-07-08 17:41:53 3153

原创 DDR controller 验证平台以及功能测试用例

DDR controller 验证平台以及功能测试用例验证点:(1)DDR3协议验证1、上电初始化和模式寄存器配置是否成功2、刷新操作是否完成3、进入、退出自刷新模式是否成功为了降低内存在无读写操作时的功耗, 同时能够保存数据, 控制器发送自刷新命令使内存进入自刷新状态。 内存在进入自刷新模式之前处于空闲状态, 在内存时钟上升沿, cke 信号从高电平变为低电平,此时 cs_n、 ras_n、 cas_n保持低电平, we_n 信号保持高电平, 满足进入自刷新状态条件。在时钟上升沿 cke 从低

2022-07-05 11:41:20 2895 1

原创 DDR3 controller 之储存器介绍

DDR3 SDRAM 接口信号:特别重要,物理层的时序转化就得跟着它来;DDR3操作流程:DDR3 SDRAM 操作流程如图所示,是 DDR3 颗粒内部单个 Bank 的状态机命令跳转过程。由于 DRAM电容充放电读写数据的关系,每一个命令之间的跳转必须满足特定的时间参数,对DDR3 颗粒的读写就是要玩转这些时间参数,使 DDR3 颗粒内部的状态机运行起来。下图的实线箭头代表了状态之间通过命令使能进行跳转,虚线箭头代表状态机自动跳转。可以看到, DDR3 SDRAM 首先要经过上电复位和初始化过程,这

2022-07-04 20:14:16 2980

原创 DDR controller控制器之AXI接口模块设计

1、设计方案该模块是AXI接口与DDR3控制器的访问接口,属于AXI slave。主机AXI master通过发送对应的读写地址和对应的读写数据,这些地址和数据通过异步FIFO缓存模块进行跨时钟域的处理和起到提高总线访问带宽的作用。axi接口模块将写命令通道的写地址(row、bank、col)、axi_awburst、axi_awsize、axi_awlength、axi_awid、读写标志拼接成一个数据帧存到AW_FIFO中;将读命令通道的读地址(row、bank、col)、axi_arsize、ax

2022-07-04 11:09:24 4333

原创 dd3控制器总体设计

一、设计指标:1、axi接口频率为50mhz、ddr controller控制器频率为100mhz、DDR3 SDRAM频率为400mhz。2、axi接口数据为128bit,恰好能够在SDRAM的一个周期内写完。3、支持可变突发长度传输(1-256),4、支持单个主机读操作outstangding功能5、支持axi字节掩码操作,6、支持DDR3 BL8传输特性、不支持BC4传输、7、支持异步和同步FIFO作为跨时钟域处理单元和换冲单元、8、支持DDR PHY作为串并转换、二、系统框图:1、

2022-07-04 09:08:43 1123 5

转载 折叠、展开、重定时、资源共享

1、折叠&展开Fold & Expand,折叠和展开一拍得出结果,使用了两个乘法器,面积大,速度快。这里需要三才能拍得出结果,使用了1个乘法器,面积小,速度慢。可以将前面的部分进行2倍频则可以实现两拍得到结果。这个过程就叫做折叠,展开可以看作是折叠的逆操作,在实际工程中,我们根据需求适当的使用这个两个技术,实现设计最优化。提高速度和降低面积是两个矛盾的目标,所以在具体的设计中要折中(Trade-off),一个好的设计追求的极致是让乘法器等占用面积大的逻辑尽量不要空闲。高度复用。2、重定时笔试题中

2022-06-28 10:12:22 697

DDR3 verilog 代码,包含项目以及测试testbench,包括数字部分以及ddrphy

DDR3 verilog 代码,包含项目以及测试testbench,包括数字部分以及ddrphy

2024-12-27

空空如也

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

TA关注的人

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