原作者:jblyler
现今,物联网 (IoT) 应用中模拟和混合信号电路的增长引发了对编译 C 语言代码、运行模拟、低功耗设计、延迟和 IP 集成等问题的讨论。
通常,技术研讨会最有价值的部分在于实际演讲后的问答 (Q&A) 部分。对我而言,最近一次有关适用于智能模拟和物联网 (IoT) 应用的混合信号设备制造的讨论确实如此。发言人包括 ARM 的 CPU 产品营销经理 Diya Soubra 和平台营销总监 Joel Rosenberg,以及 Cadence 的工程技术总监 Mladen Nizic。以下是我对 Q&A 部分的转述,并适当引用了相关演讲内容。– JB
问题:是否可以通过在 Cadence Virtuoso 环境的 ARM® Cortex®-M0 处理器上运行 C 语言和汇编代码来实现自定义 IC 设计?工具中是否存在 C 语言编译器?
Nizic:C 语言编译器来自于 ARM 的软件开发套件 Keil®。ARM DS-5 Development Studio 是适用于公司处理器和安全管理平台 (SoC) 的基于 Eclipse 的工具套件。编译完代码后,它可以在 (Cadence) 直接混合信号模拟器中与 RTL 软件一同运行。结果是对由指令集驱动的处理器以及所有在 RTL 中或在网关级别上模拟的数字外设进行模拟。设计的模拟信号部分可在相应的行为级别上进行模拟,这些行为级别分别是 Spice 晶体管级别、电子行为 Verilog A 或实数模型。[请参阅“Moore’s Cycle, Fifth Horseman, Mixed Signals, and IP Stress”(摩尔周期、第五骑士、混合信号和 IP 压力)的混合信号趋势部分]
您可以使用诸如 Verilog A、VHDL-A 和 VHDL–AMS 电子行为模型来模拟设计的模拟信号部分。但是,对于此任务而言,实数模型变得越来越受欢迎。通过实数模型,您可以建模带有可变振幅却又具备离散时间步长的模拟信号,而这正是数字模拟所需的。使用代表模拟信号的实数模型所完成的模拟,其速度与数字模拟的速度几乎相同,并且(在准确度方面)相差无几。例如,此处(请参见图 1)为系统模拟的结果,我们在此验证 Cortex-M0 将以多快的速度使用调节信号让压力达到指定值。它需要大约 28 个时钟周期。可以探索其他测试基准情景,例如在尚未检测到压力变化的情况下使 Cortex-M0 进入睡眠模式,或者在较少的时钟周期内唤醒处理器以使系统进入稳定状态。重点在于您可以将这些实数模型切换为 Verilog A 的电子模型,或者切换为晶体管模型以重做模拟,从而验证晶体管模型是否按预期执行。
图 1:Cadence 模拟结果,用于验证 Cortex-M0 准确度以调节压力监控系统。(由 Cadence 提供)
问题:是否可以列举一些在产品中加入模拟信号功能的应用以及如何使用它们?
Soubra:与电机控制、功耗转换和功耗控制相关的一切事物都是很好的例子,它们有力地说明了在混合信号输入旁添加小块(处理器)智能件可以产生显著差别。这是行业正如何向此模拟集成转变的一个明显例子。
问题:ARM 可以提供哪些功能,以便支持混合信号 SoC 设计的低功耗要求?
Rosenberg:此问题的答案涉及内存和逻辑组件两方面。就内存而言,我们提供现今可达 256k 位的扩展注册文件编译器。尽管指定应用的性能要求可能相对较低,但是用户仍希望从闪存启动至 SRAM 或注册文件实例。然后,他们将关闭闪存并执行 RAM,因为和执行闪存相比,RAM 提供明显不太活跃且备用的功率。
在逻辑方面,我们提供 7、9 和 12 三种迹线选择。其中包含三种 Vt 选项,分别适用于高速、常规速度和低速。除此之外,我们还提供电源管理套件,它可提供诸如电平转换器和电源门控等功能,以便用户关闭 SoC 电路中不活跃的部件。
问题:用于唤醒已进入睡眠状态的不同域的延迟数为多少?
Soubra:我在演讲时所共享的数字并不包括外设,因为我不知道将会添加哪些外设。至于哪个部件消耗什么功率,正常的进展通常是处理器、外设、总线,然后是闪存块。“唤醒”状态延迟取决于实施本身。您可能经历十几个甚至数十个周期,具体取决于如何实施时钟和锁相环 (PLL)。如果我们关闭所有部件,则在部件停止运行或者我们可以重启处理器之前,将需要几个周期。但是,我们讨论的是数十个而非数百个周期。
问题:这是否也针对唤醒时钟延迟?
Soubra:唤醒也是如此,因为当唤醒控制器发出“开始运行”时,它必须在启动处理器之前重启所有时钟。因此,数量也是相同的。
ARM Cortex-M 低功耗技术。
问题:ARM 和 Cadence 提供哪些模拟信号知识产权 (IP) 组件?设计人员如何在工作流中集成自有的知识产权?
Nizic:Cadence 通过收购 Cosmic 后,拥有大量适用的模拟和混合信号知识产权,如转换器、传感器等。我们支持此类方法所必需的所有设计视图,包括从实数模型到行为模型的模型摘要。和 ARM 的物理 IP 类似,我们所有的 IP 均符合各种铸模节点,因此 IP 和硅片之间的集成过程相当顺畅。
Soubra:在 ARM 看来,我们完全注重于 SoC 的数字部件,包括处理器、总线基础架构组件、外设和属于物理 IP 的内存控制器(标准单元库、I/O 单元和 SRAM 等)。设计人员在 RTL 设计阶段集成数字部件(处理器、总线组件、外设和内存控制器)。同时,他们还可以在模拟过程中添加内存和 I/O 单元的功能模拟模型,以及 Cadence 的模拟信号组件模型。实际物理 IP 将在各个实施阶段(合成、布局和布线等)集成。
问题:设计人员如何将自有的 IP 集成到 SoC?
Nizic:我们描述的部分功能和工作流实际上可用于创建客户 IP,以便稍后在 SoC 集成中重复使用。不论客户的 IP 为纯模拟信号还是包含少量的标准单元数字,都可以使用中央流。例如,行为建模功能有利于打包此 IP 以在完整芯片验证中进行功能模拟。但是,获取即时可用的 IP 仅为此工作流的一方面。
从物理摘要来看,可以描述在时间驱动模式下所使用的 IP 的特征。
此方法将支持您物理验证 SoC 上的 IP 是否有完整的芯片验证。