首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA原型设计 能为您做些什么?(2)

基于FPGA原型设计 能为您做些什么?(2)

较早的内核使用的某些设计技术对ASIC 来说非常有效果,但对 FPGA 来说却不太好用。另外,RTL 的一部分是从系统级设计代码中自动生成的,由于其过于复杂的时钟网络,对 FPGA 来说也是相当不利。因此,必须对 RTL 进行一些调整,使其更加兼容 FPGA,这样做的成效非常显著。
除了能够加快协议测试, 到Freescale 的工程师完成首个芯片时,他们还能够:
•发布调试器软件,且在芯片实现后无需进行大的修改;
•完成驱动程序软件;
•在操作系统提示符下引导SoC;
•实现调制解调器阵营(modem camp)和注册。

仅在完成首个芯片后一个月,Freescale 团队就成功地从这个系统中拨出了第一个移动电话呼叫,把产品开发进度缩短了6个多月,这非常具有里程碑意义。
如 Scott Constable 所说,“除了加速我们所述的协议测试目标外,我们的 FPGA 系统原型还加快了众多其他领域的项目进度,再次证明了它的价值。
也许最重要是给开发人员带来的不可估量的好处:它能够让工程人员尽早参与项目,让从设计到软件到验证再到应用
的所有开发团队在芯片完成前半年时间内就对产品了如指掌。这种对产品专业知识认知的进程的加快是难以用甘特图
(Gantt chart) 来衡量的,却可能是最有益处的。”

“ 鉴于如此多的优势, 用基于FPGA 的原型解决方案来加快 ASIC 的开发进程是一件非常自然的事情。我们随后将这种方法介绍给了 Freescale 网络和微控制器部,还将其用于最新 IP验证、驱动程序开发、调试器开发和客户演示。”
这个例子说明基于 FPGA的原型方法能够给软件开发团队提供什么样的增值工具,能够在产品质量和项目进程方面带来怎样显著的回报。
接口优势:测试真实条件下的数据效应很难想象有这样一种 SoC 设计可以不遵守输入数据、处理数据、生成输出数据的基本结构。实际上,如果我们深入 SoC 设计,就会发现无数的子模块遵循着同样的结构,直到单个门级。要在这些层级中的每一个层级验证正确的处理,要求我们提供完整的输入数据集,并观察处理结果的输出数据是否正确。对单个门来说,这个工作很简单,对小型 RTL 模块来说,也是可能的。但随着系统日趋复杂,从统计上来说基本没有可能确保输入数据和初始条件的完整性,尤其是在有软件运行在一个以上的处理器的时候。
为了提升传统验证方法的效率和覆盖面,以及应对这种复杂性所带来的挑战,我们已经投入了大量的研究工作和资金。在完整的 SoC 层面,我们需要使用多种不同的验证方法来覆盖所有输入组合并和剔除极端情况下的组合。
最后一点非常重要,因为不可预测的输入数据能扰乱所有的 SoC 系统,即便是精心设计的关键SoC设计也难以幸免。与新输入的数据或者输入数据不寻常的组合或序列相结合的,是非常多的 SoC 可能的前置状态,可能会使SoC 处于某种无法验证的状态。当然,这种情况不一定是什么问题,SoC 可以在无需系统的其他部分干预的情况下恢复,或者用户根本就没有察觉。
但是,不能验证的状态必须在最终芯片中避免,因此我们需要尽可能全面地测试设计的方法。在设计的功能仿真过程中,验证工程师会采用有力的方法,比如受约束随机激励和高级测试工具来完成多种测试,旨在达到可接受的测试覆盖面。但是,完整性仍受验证工程师选择的方向和给定的约束条件的限制,并受限于可用于运行仿真的时间。
结果虽然受约束随机验证永远不可能穷尽,但能够大大增强我们已经测试了所有输入的组合(包括可能的输入和极端
情况输入)的信心。

为了屏蔽极端情况下的组合,我们可以通过观察真实条件下运行在基于FPGA 原型上的设计来完善我们的验证工作。通过将 SoC设计植入原型,我们能够以与最终芯片媲美的速度和准确度来运行设计,从而在最终的环境数据中进行“浸入式”测试,就如在最终芯片上进行的一样。
西班牙瓦伦西亚的 DS2 采用基于FPGA 的原型将 SoC 设计浸入到真实环境中就是一个很好的例子。
实例:浸入到真实环境数据中
电力线宽带 (BPL) 技术一般采用无法检测的信号来通过输电线发送和接收信息。BPL 的一种典型应用是将高清视频从接收器通过输电线传输到室内的任意一台显示器,如图 4 所示。DS2 的 BPL 设计核心是复杂的硬件和嵌入式软件算法,其可对电力线输入输出的高速传输信号进行编码和检索。这些电力线可能工作在噪声极高的电气环境中,因此开发工作的关键部分是在各种真实情况下验证这些算法。



图4 WiFi 范围扩展器采用的电力线宽带 (BPL) 技术
DS2 的 BPL 设计核心是复杂的硬件和嵌入式软件算法,其可对电力线输入输出的高速传输信号进行编码和检索。这些电力线可能工作在噪声极高的电气环境中,因此开发工作的关键部分是在各种真实情况下验证这些算法。
DS2 的 ASIC 设计经理 Javier Jimenez 说明了基于 FPGA 的原型设计对他们的用处:“采用稳健的验证技术开发可靠的高速通信非常重要。它需要采用不同的通道和噪声模型进行大量的尝试,只有基于 FPGA 的原型可帮助我们全面测试算法,在原型上运行设计的嵌入式软件。另外,我们还可将原型拿出实验室,进行广泛的现场测试。我们可将多个原型放在真正的家居和办公环境中,其中部分电气环境非常恶劣。我们不能考虑将仿真器系统用于该目的,因为其价格非常昂贵,也不便携带。”这种在实验室外使用基于 FPGA的原型设计非常有指导意义,因为我们明白打造可靠、便携的平台对取得成功非常重要。
对实验室可行性实验的优势在项目的初始阶段,需要对芯片拓扑、性能、功耗以及片上通信结构做出基本决策。部分决策采用算法或系统级建模工具便可良好执行,但也可以采用FPGA 进行某些额外的实验。这是否是真正基于 FPGA 的原型设计呢?我们正使用 FPGA 进行某个概念的原型设计,但这与使用算法或数学工具不同,因为我们需要某些可能是由这些高级工具生成的 RTL。一旦进入 FPGA,就可采集早期信息帮助推进算法和最终 SoC 架构的优化。基于 FPGA 的原型为项目该阶段带来的优势是,可使用更准确的模型,而且这些模型的运行速度非常快,能够与实时输入互动。
这种类型的实验性原型值得一提,因为它们是在全面的 SoC 项目中使用基于 FPGA 的原型设计硬件和工具的又一途径,可为我们的投资带来更高的回报。
在实验室外使用原型
基于 FPGA 的原型设计可用于验证 SoC 设计的一个真正独到之处,是其独立工作的能力。这是因为 FPGA 可通过闪存 EEPROM 卡或其它独立介质进行配置,无需主机 PC 管理。因此该原型不但可独立运行,而且还可用于各种环境下的 SoC 设计测试,这与其它建模技术(如需要依赖主机干预的仿真)提供的环境俨然不同。
在极端情况下,原型可以完全从实验室中取出,用于现场真实环境中。比如将原型安装在开动的车辆上,研究设计对外部噪声、移动、天线场强等条件变化的依赖性。比如,本文作者就曾将移动电话的基带原型安装在车辆上,通过公共 GSM 网络在移动中拨打电话。
返回列表