FPMM(一):序言

简介: FPMM(一):序言

前言

我们感谢意法半导体的海伦娜·克鲁普诺瓦(Helena Krupnova)在本前言中分享了她对基于FPGA的原型设计的见解和经验。

格勒诺布尔——2010年12月

在本书中,我们介绍了“原型设计的三定律”。

在法国格勒诺布尔的STMicroelectronics的过去十年里,我在一个基于硬件的验证团队工作,为全世界的软件开发团队提供基于FPGA的原型解决方案,我们了解到,对于不严谨的原型设计者来说,有许多步骤和障碍。这本书涵盖了其中的大部分,但它们都归到了这三个“定律”:

  • · SoC比FPGA更大
  • · SoC比FPGA更快
  • · SoC设计对FPGA不友好

"FPGA-hostile"是一个术语,指的是某些设计或代码对FPGA(现场可编程门阵列)不友好,可能会导致FPGA性能下降或甚至损坏。这些设计或代码可能包括不合适的时序、电源噪声、布线问题等。因此,在设计或编写代码时,需要考虑FPGA的特性和限制,以确保设计或代码对FPGA友好。

然而,FPGA为SoC开发和验证提供了一个不同于任何其他的平台,其最大的价值在于其独特的能力,可以提供快速而准确的SoC模型,从而允许嵌入式软件在流片前验证

和所有的前沿开发人员一样,意法半导体在SoC设计和验证过程中广泛的使用了不同工具和平台。ST内部有一个原型开发社区,包括几个属于不同部门的团队,并通过各种原型开发方法(实时原型开发、商业解决方案和定制机器)解决不同的设计环境。我们使用基于FPGA的原型,因为它们通常比仿真器快十倍以上,这使得我们能够响应对快速平台的需求,以便在不同的站点上由大量开发人员对新的SoC软件进行交互式测试。

嵌入式软件已成为现代SoC设计的主导部分。我们需要在项目的早期开始,为软件的完成留出足够的时间,这意味着需要在SoC流片前就能运行起来。 “对我来说,非常清楚,基于FPGA的原型设计的主要好处正是为软件团队带来的。”

原型设计是硬件团队对软件团队问题的回答。

它是唯一一种为流片前软件开发人员提供现实性的技术,例如,通过JTAG调试器提供即时响应,允许操作系统以近乎实时的方式启动,并允许实时与系统外设的接口。我可以继续讲下去,但您可以在本书的介绍章节中,为自己阅读其他人从使用基于FPGA的原型设计中获得的好处。

本书讨论了不同的可能电路板和系统架构,我相信从以前可用的架构中学习对于每个构建高速原型的人来说都是必须的。在这本书中也可以找到技术和商业上的“制造与购买”决策标准,这强化了我的信念,即在内部构建定制平台的唯一原因是需要构建大量的复制平台。多少是一个“关键点”?

在这些页面中有帮助读者自己解决问题的内容,但通常只有拥有几十个复制品的板子才能让用户获得对开发成本的回报。当然,对于任何单一的使用情况来说,购买商业解决方案更加经济实惠。

我在前面提到了一些基于FPGA的原型设计的障碍让一些人望而生畏。然而,在克服这三条原型定律方面,我们大家都可以采取一些步骤。这些概述在这本综合性的书中,如果你在开始你的项目之前阅读这些,特别是设计原型指南,那么你更有可能成功

本书最后讨论了通过事务级接口将原型与仿真工具联系起来,并引出了未来方向的一瞥。我相信,我们将看到基于FPGA的原型开发与ESL建模的更多集成,以创建基于事务的平台,这将使软件开发人员从RTL之前的基于FPGA的原型开发扩展到第一颗芯片回来。

这本书以及它的配套的基于网络的论坛,将引起管理者对原型的重视,我期望它将是对原型社区的极大支持!

海伦娜·克鲁普诺娃

原型开发组组长

这本书的目的

这本书是种子。

它是一个种子,基于FPGA的原型设计的总知识结晶。

我们从各方面收集了意见,以呈现基于FPGA原型设计领域的最佳实践的概览。我们希望这本手册对每个人都有所帮助,但由于时间和空间的限制,可能对每个人都有所遗漏。

你手中的书(或屏幕上的电子书)是FPMM的第一版。从早期开始,我们就计划让这本书有一个在线组件,可以添加或更正信息,提供下载PDF副本,并根据每个读者的经验构建更多版本。

通过这种方式,FPMM将依靠反馈而蓬勃发展,并进一步为全球原型制作者提供更深入的教育。使用新媒体,我们可以帮助将孤立无援的原型制作专家团结起来,形成一个受人尊重的真正有价值的论坛。

这个价值不仅将使原型制作者受益,也将使他们成为越来越重要的SoC团队的一部分,促进基于FPGA的原型制作成为一种严肃的验证和验证方法。我们希望你喜欢这本书,并期待在FPMM在线社区上见到你(请访问wwn.synopsys.com/fpmm)。

奥斯汀,道格和勒内

出版商的便条

感谢您对Synopsys和我们的合作伙伴的技术系列书籍的关注。我们在Synopsys Press非常高兴地介绍FPGA-Based Prototyping Methodology Manual(FPMM),就像我们以前成功的方法论手册(例如,低功耗验证方法论手册(VMM-LP))一样,旨在不仅教育从业者,而且还要通知领导者。

我们特别高兴许多专家参与了内容的创作,并进行了广泛的同行评审。在每章的结尾,我们会感谢那些对其内容做出重要贡献的人。要了解更多关于Synopsys Press书籍以及技术和商业系列中的其他书籍,请访问www.synopsys.com/synopsys_press。我们希望您喜欢这本书。

菲尔·德沃尔斯基

本书架构

这本书被组织成四个部分,这些部分按照与 FPGA-基于系统原型设计项目执行的任务和决策相同的顺序排列。读者将从许多不同的角度阅读这本书。

一些读者可能熟悉 FPGA-基于系统原型设计中的许多任务,但寻求新的见解和想法;对其他人可能是相对新的主题,但在其他验证方法中具有经验;仍然其他人可能是项目经理,需要理解 FPGA-基于系统原型设计是否适用于他们的下一个系统项目。

因此,根据您的起点,您可能需要从不同的位置开始阅读这本书。在这方面,我们尽量使每个主题相对独立,或者必要时在某个主题中进行多次前后关系,并提供特定主题的参考:

  • 如第1章和第2章: 我们首先分析验证 SOC 和其中的软件所面临的复杂性。我们介绍了许多不同的原型方法,不仅是 FPGA 。然后,我们继续描述 FPGA-基于系统原型设计的好处,并提供一些现实世界的示例,这些示例来自行业领先的原型者。
  • 第3章: 这一章是关于 FPGA 技术和工具的简介,提供了 FPGA-基于系统原型设计的新视角。 FPGA 用户可能会感到跳过这一章,但它仍然建议作为一种看待 FPGA 的新方法。
  • 第4章: 每一次开始都是从一个步骤开始的。这一章提供了足够的信息,以便读者能够开始,并在他们的努力、工具和时间上花费时间来创建一个原型。
  • 第5和第6章: 硬件原型应该在项目初期选择。这两章提供了关于如何快速创建自己的平台,或者如何选择不同的商业平台,并如何比较它们的信息(见附录 B)。
  • 7、8、9、10章的内容包括: 针对 FPGA 器件,如何进行需求分析、架构设计、逻辑综合、适配验证平台、 RTL 代码设计、分区、 IP 处理等关键信息。同时,还包括了如何将设计模式的理念,应用到 FPGA 原型设计中,以提高设计效率和质量。
  • 第11章和第12章:板子已经准备好了;设计已经准备好了;当两者放在一起时,会发生什么?这些章节介绍了如何在实验室中打开原型,然后在系统上调试RTL和软件,并快速迭代设计。还讨论了在实验室外部署原型的问题。
  • 第13章: 我们有一个工作的 FPGA 原型,还能用它做什么呢?这一章展示了定制原型,以便在更大的验证环境中使用,包括 RTL 仿真器和系统 TM-based 虚拟模型。
  • 第14章:在这里,我们对基于FPGA的原型设计和混合原型设计进行了一些未来展望,结合第13章和其他地方的概念得出了一些新的结论。
  • 第15章:这导致了一些结论和对本手册中提出的关键规则和建议的重申。

注意:大多数FPMM内容都是通用的和普遍适用的,但是,在给出示例的情况下,我们希望读者原谅我们使用了最熟悉的工具平台,我们的Synopys和

Xilinx®(即我们自己的)。

目录
相关文章
|
前端开发
2023Web前端开发八股文&面试题(万字系列)——这篇就够了!
2023Web前端开发八股文&面试题(万字系列)——这篇就够了!
1483 2
|
3月前
|
存储 算法 Java
【干货】如何写一篇还算凑活的博客文章
本文从程序员的角度出发,分享了作者参加掘金启航计划并获得奖品的经历,通过实际写作流程,详细介绍了构思、撰写、美化文章及发布到各大平台的技巧与心得,旨在激发博友们的写作热情。文中还推荐了一些实用的辅助工具和博客平台。
35 0
【干货】如何写一篇还算凑活的博客文章
|
6月前
|
算法 程序员 开发工具
代码随想录 学习记录(1)
代码随想录 学习记录(1)
170 0
|
人工智能 Java
编程小白的第一篇博客
编程小白的第一篇博客
62 0
|
C++ Python
C++入门详细笔记(共八章)(中)
C++入门详细笔记(共八章)
102 0
C++入门详细笔记(共八章)(中)
|
缓存 网络协议 安全
前端八股文(未完待续······)
前端八股文(未完待续······)
|
JavaScript 前端开发 数据可视化
Python数据分析(1)--序言
本文目录 1. 背景 2. 方向 3. 总结
101 0
|
Java Spring 开发工具
Java开发之上帝之眼系列教程前言和章节目录汇总
如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系。本系列教程希望您能站在上帝的角度去观察(了解)Java体系。使Java的各种后端技术在你心中模块化;让你在工作中能将Java各个技术了然于心;能够即插即用。
2036 0
阅读札记
我在 GitHub 上创建了一个关于 Reading 的 repo, 里面可以分享一些关于论文的阅读经验或者是一些精彩论文介绍亦或是精品博客之类的. 欢迎大家在此仓库提交一些新的, 优秀的资源! Github 地址是: https://q735613050.
1298 0
|
存储 C语言
01-C语言程序设计开篇
计算机常识 什么是计算机 ? 顾名思义,就是能够进行数据运算的机器(台式电脑、笔记本电脑、平板电脑、智能手机) 计算机_百度百科 计算机的发明者是谁 ? 关于电子计算机的发明者是谁这一问题,有好几种答案: 1936年英国数...
1649 0