hebut_wolf的个人空间 https://blog.eetop.cn/analog [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

如何设计一个电路

热度 78已有 9355 次阅读| 2024-10-17 11:32 |个人分类:模拟电路的问题|系统分类:芯片设计

    虽然大家都在设计电路,但是真正会精确设计一个电路的人很少。在系统层面,真正知道系统关键参数的上下限及其原因的人很少;在电路层面,真正做到最优化设计,即设计的PPA指标(如FoM值)最优,且在PVT的中心的人很少。

    当我们在某个工艺下开始设计电路时,应该做哪些工作呢?我以最近常用的22nm和12nm下设计sar adc和sdm adc为例来说明。

    1. 做指标的可行性分析,选择系统架构;

       比如,对于某个sar adc的功耗指标,从fs和sndr可仿真试出比较器和vref buffer的功耗,加上逻辑单元的C*V*F,如果明显大于指标,则指标不可行。

       再比如,对于某个sdm adc的性能指标,从osr、sndr,选取合理的OBG,用理想模型分析,如果模型仿真的SNDR小于spec,则不可行。

       上述描述忽略了一些技术细节,如sar adc的冗余选择;sdm adc的阶数选择,还有校准和DWA这样的技术选择。(因此,要对该方向的技术都熟悉,才能分析可行性

        在做可行性分析的过程中,已经对各种adc架构和每种架构的实现技术做了遍历,因此也完成了系统架构的选择。


   2. 对子模块关键指标(指很可能成为系统瓶颈的指标)做预算。

    对于sar,就是预算比较器的噪声、功耗;vref buffer的功耗;cdac的Cu选择;DLL的延迟可调范围;

    动态比较器是非线性器件,其噪声只能通过仿真来试。调整动态比较器的cload、输入管尺寸和共模电压都会改变噪声,牺牲代价不同,要看系统的瓶颈。

    对于sdm,就是预算各积分器opamp的带宽、摆率,确定dac子单元 (vs thd)。如何确定运放的带宽?以DT-SDM为例,带宽的选择取决于积分器电荷的转移精度,一般Ts/2的时间,一半为小信号过程,一半为摆率受限过程。可以从T/4=ln(A)*tao,来计算tao,即gbw。

那么电荷转移精度如何确定呢?这个我是试出来的,在理想模型中,用非理想opamp替代来试。gbw的经验值为>3*fs。


    3. 开始子模块的调试;

     对于模拟电路,首先要去整理三套用于gm-id查表的表格。根据瓶颈参数去调整gm-id取值大小。

     对于逻辑电路,要明确FT和延迟;

     设计运放时,首先明确管子的L,根据速度查表出L;然后明确管子gm,根据gm和L查表出id,然后根据Id/W查表出W;

    注意vds的影响;(需要多次迭代)

    注意不同瓶颈下gm/id的取舍,如果功耗是瓶颈则gm/id需要增大(意味着速度变慢);如果速度是瓶颈则gm/id需要减小(意味着功耗增加);

    常见的gm/id范围是5mS/mA~20mS/mA。


   对于高速逻辑电路,一定注意clk buffer和data buffer的负载,追求电容负载最小化。


   4. 开始整体电路的调试,解决模块接口的一些bug;

      常见的debug方法是理想替代;

      调试电路时,要考虑走线寄生和后级电路的负载作用。   


   5. 开始整体电路性能仿真,并解决性能瓶颈问题。

        遇到性能问题,首先是定位问题,然后解决。

        注意tran-noise验证噪声,mc验证thd。

        检查系统指标,计算FoM值,评估自己的工作水平。


    6. layout布局,布线考虑。

        整体布局-子模块布局-调整整体布局

         模拟、数字信号线的隔离和分层,线宽和线间距 vs 寄生RC

 

    7. 后仿,解决版图问题或电路问题。


ps:工艺切换时,需对比mos管的cgg,ron,各种方块电容和方块电阻,要了解finfet和planar工艺的特点。

       

ps2:在子模块设计过程中,模块参数的选取远比调试模块重要,难度也高,想要精确的设计,就必须精确选取spec。

设计中必然需要迭代,第一次计算或仿真评估出来的spec的精度,决定了迭代的次数。虽然调试电路占了绝大多数时间,但是计算或评估子ip的spec,却最重要。


ps3:在实现过程中经常发现,某一个系统指标过于宽松(甚至没有限制),这时需要找制定者商议策略,往往提升另外一项关键参数的指标更有意义。




   

64

点赞

刚表态过的朋友 (64 人)

发表评论 评论 (10 个评论)

回复 osksnd 2024-10-25 18:18
很棒感谢分享
回复 1347444795 2024-10-28 11:03
谢谢分享,很有用啊
回复 jx2016 2024-10-28 11:23
很实用的经验,感谢分享
回复 戴柏淼淼 2024-10-30 08:54
感谢分享
回复 EchoEchoEcho 2024-11-10 18:34
感谢分享
回复 reffff 2024-11-13 17:27
感谢,膜拜大佬
回复 kzm 2024-11-19 14:55
谢谢大佬的总结分享,精辟啊
回复 风止于水 2024-11-25 08:57
怎么把芯片的指标分解到各个block呢
回复 hebut_wolf 2024-11-26 22:06
风止于水: 怎么把芯片的指标分解到各个block呢
需要对各个子模块非常了解,比如射频接收机,对lna mixer tia filter pga adc pll和数字DFE非常了解,1是了解工作原理;2是了解常见结构和优缺点,3是了解和系统参数相关的参数,比如接收链路增益,NF,平坦度,功耗。4.还需要了解校准,evb测试,FT测试需求,以便为各模块设计可测性支路。
总之,如果想将系统spec合理地转换为ip spec,首先你要了解ip,其次要在系统的角度去约束ip,既不能过松,也不能过紧,而且要结合工艺、功耗、面积开销,甚至研发时间开销和ip复用也要考虑。综合技术角度、市场角度、项目实现角度和对应的风险。大胆一些,对不会的知识点大胆去问,没有人是完美的,你会很快成长。
回复 zju-qyqx 2024-12-15 11:33
感谢分享,膜拜大佬

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 3

    月排名
  • 2

    总排名
  • 36

    关注
  • 488

    粉丝
  • 144

    好友
  • 1345

    获赞
  • 336

    评论
  • 3331

    访问数
关闭

站长推荐 上一条 /2 下一条


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

GMT+8, 2024-12-22 09:40 , Processed in 0.017667 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部