10、自上而下的电路架构设计

A Model is Worth a Thousand Pictures
一个模型胜过千张图片

Bryan Shova, IDSA

(1) 引言

\qquad 2016年,IPL (Interoperable PDK Libraries Alliance)联合台积电(TSMC)将PDK标准发展为iPDK,旨在开发和推广开放和可互操作的PDK,目前已被各大EDA厂商接受。今年7月,谷歌公司同SkyWater技术公司合作发布了首个可制造的开源PDK (SkyWater PDK),芯片制程限制在130-nm工艺节点(Sky130)。Sky130节点极具灵活性,为设计人员提供了广泛的设计选择。谷歌表示,如果Sky130节点成功,未来将会有更多、更先进的工艺节点可供选择。

\qquad 看来,芯片设计技术在非政府一级还会继续开放,但它太时髦、太富贵、太专业,非我等业余人士所能把玩。尽管如此,我还是要郑重申言:以我等的经验积累、技艺精进、雅俗兼收,在技术流于表面的国内,多少担当得起一名普通工匠的称呼。为此,我要在这里引用Ken Kundert先生关于架构设计和架构师作用的评论,呼吁国内软硬件市场尽快摆脱低级、无序竞争,为孜孜不倦钻研技术、不断追求理性的中国工匠们提供一个平和发展的环境。

\qquad *Ken Kundert是Spectre电路仿真器的开创者和首席架构师、Designer’s Guide Consulting公司的创始人。

(2) 自上而下的设计

\qquad “自上而下设计是一种在设计大型复杂系统时非常有用的设计方法。基本前提是在开始各个模块的详细设计之前,在抽象级或‘框图’级设计和验证系统。自上而下设计将取代传统的自下而上设计。
\qquad
\qquad 在自下而上设计中,先对各个模块进行全面设计,然后再专注于系统的框图设计。自下而上的设计通常要求对单个逻辑块进行过度设计,以便在连成一体形成系统时有足够裕度来克服预料之外的问题。最大风险是,所需的系统性能可能无法按照设计的逻辑块来实现,这意味着必须重新设计一个或多个逻辑块。
\qquad
\qquad 采用自上而下的设计方法,在开发模块之前,仔细研究和理解满足系统整体性能要求所需的单个逻辑块性能。这减少了对单个模块过度设计的需求,但存在一个或多个模块的预期性能无法实现的风险,这时将需要重新考虑系统设计。
\qquad
\qquad 显然,为了减少返工所需的费用和时间,系统级和逻辑块级的设计人员之间必须有广泛沟通。……除了文字、图表和规范外,还可以通过交换模型。人们常说一幅画胜过千句话。同样,一个模型比一张图更强大,因为它是所期望东西的一个有效例子。有了一个模型,就可以运行场景来阐明含义和意图。此外,代表性模型可以代理实现的逻辑块,这意味系统设计者可以用逻辑块设计者的模型来尝试他们的设计,或者逻辑块设计者可以在一个更大系统的模型中尝试他们的设计。在任何一种情况下,沟通都会得到改善,错误频率和严重程度都会随着所需的返工而降低。”
\qquad
[译自:《The Designer’s Guide to Verilog-AMS》,Kenneth Kundert,Chap. 1.4.5]
\qquad
tse4-mm.cn.bing.net

(图片来源:tse4-mm.cn.bing.net)

(3) 对架构师的技能要求

\qquad “对于复杂的模拟-混合信号(AMS)电路,广泛采用正式的自上而下设计风格的主要障碍是缺乏具备芯片架构师技能和培训的工程师。芯片设计师必须:
\qquad
\qquad - 熟练掌握AMS语言,熟练掌握建模技术
\qquad - 是有经验的设计师
\qquad - 了解自上而下的设计流程
\qquad - 熟练使用电路和AMS模拟
\qquad - 具有领导和管理复杂项目的能力”
\qquad
[译自:《A Formal Top-Down Design Process for Mixed-Signal Circuits》,Kenneth Kundert,Chap. 6.0]

www.informit.com

(图片来源:www.informit.com)

(4) 架构师的作用和职责

\qquad “芯片架构师是设计团队的新成员。他或她是自上而下设计过程的领导,负责开发仿真和建模计划,并与其他设计师协调以确保计划得以遵守。芯片架构师的主要职责是确保系统在最终实现时按预期运行。这必须是一位对所设计系统类型有经验的设计师,能够预见和计划可能出现的问题。他或她的经验最好能涵盖系统和模块设计的各个方面。芯片架构师可以是系统工程师,实际设计框图的人,但不一定是。然而,芯片架构师不应同时承担模块设计职责。模块设计有一种消耗工程师的趋势。
\qquad
\qquad 芯片架构师应该熟悉建模和AMS语言,这样他或她就可以编写系统和单个逻辑块的描述。……然而,重要的是要认识到建模是一种不同于设计的技能。设计师通常既没有技巧,也不倾向于编写复杂的模型。如果需要复杂模型,它们通常必须交由芯片架构师开发。
\qquad
\qquad 芯片架构师必须对仿真有很好的理解。特别是,在哪里使用以及如何使用仿真来验证设计中的重点区域,以及在哪里不能使用。这些知识在仿真计划的开发过程中会有很大用处。
\qquad
\qquad 芯片架构师拥有设计的顶层原理图。在开始设计任何逻辑块之前,必须获得此原理图,即便在设计完成之前它可能会被改动。顶层原理图指定了从设计到逻辑块的划分以及每个逻辑块的接口。所以每个逻辑块都应该是‘引脚-准确的’。这意味着在顶层原理图中,每个逻辑块和每个逻辑块上的每个引脚都要被表示出来,并且每个引脚类型都要予以仔细定义和归档。……这样,顶层原理图就为设计团队提供了清晰的意图。
\qquad
\qquad 一旦获得了顶层原理图,就可以编写顶层模型,通常由芯片架构师完成,并且系统根据仿真计划进行完整验证。然后,将顶层原理图和顶层模型分发给设计团队中的每个人。随着设计进展,芯片架构师协调对逻辑块接口的任何改动,然后将系统或逻辑块的更新模型分发给团队。当逻辑块设计者工作时,他们向芯片架构师提供布局前后的晶体管级原理图,在接受它们之前,芯片架构师再次根据仿真计划,用混合级仿真验证它们。
\qquad
\qquad 在设计阶段,芯片架构师与测试工程师一起开发测试计划和测试程序。在设计过程的早期,系统工作模型的可用性允许测试工程师尽早对测试程序进行开发和测试。将这项活动提前(过去只在设计完成后发生),以便在逻辑块设计启动时就开始,可以大大缩短生产时间。将测试开发引入设计阶段可以减少50%的硅后调试时间,并且可以通过尽早发现无法检测的芯片(问题)来消除返工。它还可以改进测试,从而提高产量。”
\qquad
[译自:《A Formal Top-Down Design Process for Mixed-Signal Circuits》,Kenneth Kundert,Chap. 3.1]
\qquad

www.techdesignforums.com

(图片来源:www.techdesignforums.com)

(5) 让世界更明晰

\qquad
Translating Complexity into Clarity

Translating Complexity into Clarity(图片来源:www.clo-communications.com)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值