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

标题: 如何提高SFDR [打印本页]

作者: ck1739    时间: 4 天前
标题: 如何提高SFDR
本帖最后由 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。

作者: ck1739    时间: 4 天前
這是我的INL和DNL,也是很糟糕
作者: sea11038    时间: 4 天前
电流DAC的FFT横坐标可以不用log坐标而用线性坐标,或许更直观一些,如果INL很差的话SFDR可能也好不了,杂散有些高了,200M采样率输出250KHz信号?可以降采样率试试?INL图似乎有较大的增益误差,是用的分段结构的12bit DAC么,有3bit的分段么,可以看看是否分段结构处设计有什么问题。
作者: ck1739    时间: 4 天前


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


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

是的,使用3+3+3+3分段,前面三個3採用溫度計碼,後面3採用二進制碼,請問是說分段的電流有無正確嗎,我在檢查看看。

作者: ck1739    时间: 3 天前


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


後來發現電流很不穩定,請問這問題要如何解決呢

作者: 木桃桃    时间: 3 天前


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


你这个电流不稳定看起来像是仿真精度的问题。

作者: sea11038    时间: 3 天前


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工艺。

作者: sea11038    时间: 3 天前


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试试,但仿真速度可能会慢些。

作者: ck1739    时间: 3 天前


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


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


作者: ck1739    时间: 3 天前


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


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


作者: ck1739    时间: 3 天前


sea11038 发表于 2024-9-18 12:05
可以把高3bit置零,只仿真看低9bit的INL、DNL如何,然后再把高6bit置零仿真低6bit的INL、DNL如何。有些怀 ...


好的沒問題,模擬完電流源不穩定後,會照前輩的方法試試看。
下面這張圖是電流鏡數量設置,都是使用m做並聯,尺寸的部分下面MOS是1.3u/1.2u,cascode mos 是530n/300n。


作者: 木桃桃    时间: 3 天前


ck1739 发表于 2024-9-18 12:47
好的我試著改看看,原本tran step是設定一個周期的時間(10ns),我再改成100ps跑看看。
我用的模擬器是ADE ...


不是,你直接用spectre conservative试一下。
作者: ck1739    时间: 3 天前


木桃桃 发表于 2024-9-18 13:20
不是,你直接用spectre conservative试一下。


因為我是用Hspice寫的,無法使用spectre,accurate應該和conservative 用法一樣,都是高精度、模擬速度慢!

作者: ck1739    时间: 3 天前


木桃桃 发表于 2024-9-18 13:20
不是,你直接用spectre conservative试一下。


但是我是用HSPICE 寫的,無法用spectre,conservative 應該和accurate 一樣,都是精度高、模擬速度慢!


作者: ck1739    时间: 3 天前


木桃桃 发表于 2024-9-18 13:20
不是,你直接用spectre conservative试一下。


但是我是用HSPICE 寫的,無法用spectre,conservative 應該和accurate 一樣,都是精度高、模擬速度慢!


作者: ck1739    时间: 3 天前
我看了9bit和6bit的INL和DNL,都還不錯,意思是最高3位元的電流誤差太大嗎

作者: ck1739    时间: 3 天前


木桃桃 发表于 2024-9-18 13:20
不是,你直接用spectre conservative试一下。


後來就不會抖了!!

作者: sea11038    时间: 3 天前


ck1739 发表于 2024-9-18 19:54
我看了9bit和6bit的INL和DNL,都還不錯,意思是最高3位元的電流誤差太大嗎


看你画的图低3bit结构的线性度应该不好吧?还有开关和casocde器件也都应采用完全相同的结构和尺寸进行匹配,仅有m值的区别。仿真码值从000,111,111,111跳变到001,000,000,000前后的稳态输出电流看看有没有问题,正常应该只增加1个LSB电流。

作者: ck1739    时间: 3 天前
本帖最后由 ck1739 于 2024-9-19 12:51 编辑


sea11038 发表于 2024-9-18 22:38
看你画的图低3bit结构的线性度应该不好吧?还有开关和casocde器件也都应采用完全相同的结构和尺寸进行匹 ...


1/4ILSB和1/2ILSB只能用串聯的方式了,有的我都有採用做匹配,
除了低3bit的開關流過的電流是1/4ILSB和1/2ILSB,所以尺寸我是將原本的L直接*2倍和*4倍,沒有用單位尺寸做串聯,這樣是可以的嗎?

然後仿真码值从000,111,111,111跳变到001,000,000,000,因為還在模擬中,我先看之前的波形,也是要增加一個VLSB,但是卻不增反減,從551.01m變到550.568m,這很奇怪,請問這是出在甚麼問題呢? (1VLSB設計在97.66uV)
我算了一下仿真码值000,111,111,111的電流是1006.04uA,但是001,000,000,000的電流是998.016uA,在進位時候少了8.024uA,電壓自然就下降了,我再調整前面的電流試試。

作者: LDDD1997    时间: 前天 15:12


ck1739 发表于 2024-9-18 13:00
好的沒問題,模擬完電流源不穩定後,會照前輩的方法試試看。
下面這張圖是電流鏡數量設置,都是使用m做並 ...




你参考的是这篇吗,A 12-bit 40 nm DAC Achieving SFDR > 70 dB at 1.6 GS/s and IMD < –61dB at 2.8 GS/s With DEMDRZ Technique。这里CS管的Length不同,这样电流成比例吗。可以仿真dc看下各位权重电流还是二进制比例吗

作者: sea11038    时间: 昨天 22:49


ck1739 发表于 2024-9-18 23:49
1/4ILSB和1/2ILSB只能用串聯的方式了,有的我都有採用做匹配,
除了低3bit的開關流過的電流是1/4ILSB和1/2 ...


码值511输出大于码值512输出了,正常应该是1个LSB的step。问题已经很明显了,电流镜设计存在不匹配,简单DC仿真就可以找到问题所在。略有些好奇你的账号,2005年注册的?






欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.4