博客
关于我
Verilog基础知识5(ASIC设计中各个阶段的关键问题汇总)
阅读量:209 次
发布时间:2019-02-28

本文共 1794 字,大约阅读时间需要 5 分钟。

ASIC设计关键问题

ASIC设计是一个复杂且全局性的过程,从产品功能定义出发,涵盖工艺选择、功耗估算、面积优化、性能评估以及成本控制等多个方面。特别是在当前芯片复杂度不断提升、工艺改进加速的背景下,如何在有限的时间内开发出稳定可重用的ASIC芯片设计并实现一次性流片成功,显然需要一个成熟的设计方法和完整的开发流程。

本文将结合NCverilog、DesignCompile、Astro等常用EDA工具,从工艺独立性、系统稳定性和复杂性等角度,对比各种ASIC设计方法,重点探讨在编码设计、综合设计、静态时序分析和时序仿真等阶段中容易被忽视的问题及解决方案,从而确保整个设计过程的可控性。


ASIC设计流程概述

ASIC设计流程可以划分为前端设计和后端设计两个主要阶段,具体步骤可以细化为以下几个环节:

  • 系统结构分析设计与功能验证

    • 从产品功能定义出发,进行初步的工艺、功耗、面积评估,制定设计规划。
    • 对核心功能逻辑进行RTL编码设计,并进行功能验证。
  • 逻辑综合与形式验证

    • 通过逻辑综合工具对RTL代码进行优化,生成逻辑综合结果(Netlist)。
    • 在逻辑综合与Netlist之间进行形式验证,确保设计的逻辑正确性。
  • 后端设计与布局布线

    • 进行Floorplan设计,完成芯片物理布局。
    • 执行 Placement、ClockTree插入、全局布线(GlobalRouting)等步骤。
  • 详细路由与信号完整性验证

    • 进行DetailedRouting,完成信号的详细路由设计。
    • 执行DRC(设计规则检查),确保设计符合制造规则。
  • 时序分析与仿真

    • 在Postlayout阶段进行静态时序分析(STA),验证时序需求。
    • 使用门级仿真工具进行带延迟信息的仿真,验证设计的时序特性。
  • 最终输出与流片

    • 完成LVS(层次结构验证)和DRC检查,准备芯片流片批量生产。

  • RTL编码设计的关键问题

    RTL编码是ASIC设计的核心环节,其编码风格直接影响芯片的可靠性、可读性和综合性能。以下是几个常见问题及解决方法:

    1. 延迟单元的使用问题

    • 问题:延迟单元对制造工艺、温度和电压敏感,可能导致脉冲宽度变化,影响实际芯片行为。
    • 解决方法:尽量避免使用延迟单元,采用时钟树结构控制时钟信号的延迟。

    2. Latch设计的潜在风险

    • 问题:Latch设计可能引发锁存噪声、STA难度大等问题。
    • 解决方法:优先采用触发器设计,通过Setup和Hold时间检查确保信号稳定性。

    3. 时钟信号的使用问题

    • 问题:时钟信号如果作为普通信号使用,可能导致后端设计中的时钟树插入和信号布线问题。
    • 解决方法:在RTL编码时避免直接使用时钟信号,确保时钟树结构的合理性。

    4. 复位信号的处理策略

    • 问题:复位信号的Glitch和Removal控制可能引发触发器异常。
    • 解决方法:采用异步复位策略,通过双级Flip-Flop接收复位信号,确保复位逻辑的稳定性。

    异步与同步设计的权衡

    尽管异步设计具有低功耗和灵活性的优势,但在芯片设计中仍然更倾向于同步设计。主要原因包括:

  • 时钟分布问题:异步设计需要多个时钟域,增加了时钟树的复杂性。
  • 握手协议复杂性:异步设计中的握手协议增加了测试难度。
  • 信号传输问题:异步接口的控制信号可能引发时钟域间的Skew问题,需要额外处理。
  • 在实际设计中,通常通过划分模块将异步时钟域与同步时钟域分开管理,并在STA阶段进行特殊约束。


    后端设计中的关键问题

  • 时钟树插入与布局布线

    • 时钟树的插入直接影响芯片的时序性能,需确保各级时钟树的延迟一致性。
    • 全局布线时需注意信号的交叉和时钟树的干扰,避免信号延迟过大。
  • 信号完整性控制

    • 对于长距离信号,需进行电磁仿真,确保信号的稳定性。
    • 采用低电阻的IO布局,减少信号衰减和延迟。
  • 时序分析与仿真验证

    • 在Postlayout阶段,需结合实际布局信息进行详细时序分析。
    • 使用门级仿真工具验证设计的时序特性,确保长路径的Setup时间和短路径的Hold时间满足需求。

  • 结论

    ASIC设计是一个复杂的系统性工程,涉及多个阶段和多个维度的考量。通过合理的设计方法和完善的开发流程,可以有效降低设计风险,确保芯片的功能正确性和时序性能。特别是在RTL编码、逻辑综合和后端设计等环节,需要对常见问题有深入理解,并采取有效的解决措施。只有这样,才能设计出高质量、可靠的ASIC芯片。

    转载地址:http://hacj.baihongyu.com/

    你可能感兴趣的文章
    Nginx访问控制_登陆权限的控制(http_auth_basic_module)
    查看>>
    nginx负载均衡器处理session共享的几种方法(转)
    查看>>
    nginx负载均衡的5种策略(转载)
    查看>>
    nginx负载均衡的五种算法
    查看>>
    Nginx运维与实战(二)-Https配置
    查看>>
    Nginx配置ssl实现https
    查看>>
    Nginx配置TCP代理指南
    查看>>
    Nginx配置——不记录指定文件类型日志
    查看>>
    Nginx配置代理解决本地html进行ajax请求接口跨域问题
    查看>>
    Nginx配置参数中文说明
    查看>>
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置如何一键生成
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    NHibernate学习[1]
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>