在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1010|回复: 32

[求助] 如何提高SFDR

[复制链接]
发表于 2024-9-17 14:31:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 ck1739 于 2024-9-17 22:07 编辑

想請問各位前輩,學生我目前在做current steering DAC,目前的SFDR落在67dB,spec最低要達70dB,但是不太會看頻譜圖找問題。

第一個問題想問前輩,這張頻譜圖有出現什麼樣的問題呢?
第二個問題想問前輩,因為SFDR未達標,我打算將電流源的L提高增加輸出阻抗,不清楚面積是否會過大,目前使用的製程是40nm,尺寸是W/L=1.3u/1.2u,MSB的m=128,L值是否還可以再提高呢?電流源是做cascode。

差動輸出的FFT,single-end負載電阻掛50歐姆

差動輸出的FFT,single-end負載電阻掛50歐姆
 楼主| 发表于 2024-9-17 16:36:22 | 显示全部楼层
這是我的INL和DNL,也是很糟糕

INL和DNL

INL和DNL
发表于 2024-9-17 21:30:51 | 显示全部楼层
电流DAC的FFT横坐标可以不用log坐标而用线性坐标,或许更直观一些,如果INL很差的话SFDR可能也好不了,杂散有些高了,200M采样率输出250KHz信号?可以降采样率试试?INL图似乎有较大的增益误差,是用的分段结构的12bit DAC么,有3bit的分段么,可以看看是否分段结构处设计有什么问题。
 楼主| 发表于 2024-9-17 21:55:56 | 显示全部楼层


sea11038 发表于 2024-9-17 21:30
电流DAC的FFT横坐标可以不用log坐标而用线性坐标,或许更直观一些,如果INL很差的话SFDR可能也好不了,杂散 ...


取樣頻率是100MHz,輸出頻率是560kHz,可能無法降取樣頻率,因為系統固定需要100MHz。

是的,使用3+3+3+3分段,前面三個3採用溫度計碼,後面3採用二進制碼,請問是說分段的電流有無正確嗎,我在檢查看看。
 楼主| 发表于 2024-9-18 00:52:33 | 显示全部楼层


sea11038 发表于 2024-9-17 21:30
电流DAC的FFT横坐标可以不用log坐标而用线性坐标,或许更直观一些,如果INL很差的话SFDR可能也好不了,杂散 ...


後來發現電流很不穩定,請問這問題要如何解決呢
電流.png
发表于 2024-9-18 09:39:10 | 显示全部楼层


ck1739 发表于 2024-9-18 00:52
後來發現電流很不穩定,請問這問題要如何解決呢


你这个电流不稳定看起来像是仿真精度的问题。
发表于 2024-9-18 12:05:16 | 显示全部楼层


ck1739 发表于 2024-9-17 21:55
取樣頻率是100MHz,輸出頻率是560kHz,可能無法降取樣頻率,因為系統固定需要100MHz。

是的,使用3+3+3+ ...


可以把高3bit置零,只仿真看低9bit的INL、DNL如何,然后再把高6bit置零仿真低6bit的INL、DNL如何。有些怀疑是不是电流镜尺寸和数量设置的问题?比如finger和m,电路上电流镜阵列匹配时这两个是有明显的区别的,单元电流镜倍数的电流镜MOS管不要用finger而要用m,否则仿真误差会很大,何况还是40nm工艺。
发表于 2024-9-18 12:12:34 | 显示全部楼层


ck1739 发表于 2024-9-18 00:52
後來發現電流很不穩定,請問這問題要如何解決呢


这个可能是仿真器类型、仿真算法、仿真精度、仿真步长设置的问题。仿真器要看用的哪种,比如aps或spectre X,会有一些不同的设置,spectre X直接采用默认设置可能还不行;纯粹看电流的话仿真算法可以选gear2,仿真精度可以把abstol改小比如1e-4、1e-5等等,maxstep则可以改为最高频率周期的1/50或1/100,比如100MHz时钟可以把maxstep设置为100ps试试,但仿真速度可能会慢些。
 楼主| 发表于 2024-9-18 12:47:16 | 显示全部楼层


木桃桃 发表于 2024-9-18 09:39
你这个电流不稳定看起来像是仿真精度的问题。


好的我試著改看看,原本tran step是設定一個周期的時間(10ns),我再改成100ps跑看看。
我用的模擬器是ADE,模擬精度我下這兩行指令看看,.option accurate=1 和 .option runlvl=6

 楼主| 发表于 2024-9-18 12:50:00 | 显示全部楼层


sea11038 发表于 2024-9-18 12:12
这个可能是仿真器类型、仿真算法、仿真精度、仿真步长设置的问题。仿真器要看用的哪种,比如aps或spectre ...


好的我試著改看看,原本tran step是設定一個周期的時間(10ns),我再改成100ps跑看看。
我用的模擬器是ADE,模擬精度我下這兩行指令看看,.option accurate=1 和 .option runlvl=6

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 12:31 , Processed in 0.022863 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表