FPGA的原型介绍.doc

FPGA的原型介绍.doc

ID:27518925

大小:148.00 KB

页数:14页

时间:2018-12-04

FPGA的原型介绍.doc_第1页
FPGA的原型介绍.doc_第2页
FPGA的原型介绍.doc_第3页
FPGA的原型介绍.doc_第4页
FPGA的原型介绍.doc_第5页
资源描述:

《FPGA的原型介绍.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、FPGA的原型介绍基于FPGA的原型可满足不同目的需求  原型设计不是一个按几个按钮就能完成的过程,在它不同的阶段需要仔细的关注和思考。除说明这个过程需要完成的工作和涉及到的专业知识外,我们还应解释在SoC项目中该进行(或者不该进行)原型设计的原因。  在与原型设计人员多年交谈中,我们最常问到的一个问题是“为什么您这么做?”答案有多种多样,我们把它们总结成了表1中几条常见的理由。系统了解这些项目的目的和我们进行原型设计的原因,将有助于我们判断基于FPGA的原型设计是否能为我们的下一个项目提供帮助。  因此,让我们探究一下

2、表1所述的目的以及基于FPGA的原型方法如何能帮助实现这些目的。高性能与准确度  只有基于FPGA的原型才能提供正确测试设计各个方面所需的速度和准确度。我们把这个理由放在首位的原因是,虽然项目有许多需要实现的给定目的,但对需要进行原型设计的团队来说,这可能是所有理由中最根本的原因。举例来说,这个团队的目的可能是验证某些SoC的嵌入式软件,观察其在真实硬件上全速运行的情况,但使用原型的根本原因是为了确保高性能与准确度。我们在虚拟系统中可以在更高的性能水平下验证该软件,但我们无法达到使用真实的RTL所能实现的准确度。  实时

3、数据流  难以验证SoC的原因之一是因为其状态取决于许多变量,包括其之前的状态、输入的次序以及更广泛的SoC输出系统效应(以及可能的反馈)。将SoC设计与系统的其他部分相连并以实时速度运行,可以让我们立即观察到实时条件、输入和系统反馈的变化带来的效应。  葡萄牙波尔图市Synopsys公司IP团队开发的HDMI原型中的实时数据流就是一个很好的例子。在本例中,高清(HD)媒体数据流经处理内核的原型输出到高清显示器上,如图1的方框图所示。    图1HDMI原型方框图  通过使用投片前的原型,我们可以立即看到和听到不同的高清

4、数据在我们的设计上的效果,反之亦然。只有采用基于FPGA的原型方法才支持这种实时数据流,不仅给此类多媒体应用带来极大好处,也能给许多其他要求对输入数据流做出实时响应的应用带来诸多裨益。软硬件集成  在上述实例中,读者可能已经注意到原型使用了一块小型MicroBlazeTMCPU,并备有外设和存储器,从而体现了一个SoC的所有常见模块。在这个设计中,运行在CPU上的软件主要用于加载和控制A/V处理。然而,在许多SoC设计中,软件最耗精力。  鉴于软件已成为SoC开发工作的主体部分,软件工作在项目日程中占据关键位置越来越常见

5、。当SoC能够有效达到量产标准的时候,决定项目实际完成日期的是软件开发和验证工作。在这种情况下,系统开发团队如何才能提升软件开发和验证工作的效率呢?要回答这个问题,我们需要查看软件开发团队把时间都花在什么地方。为软件开发建立SoC的模型  软件由于自身的复杂性,很难做到完美。对我们在日常使用计算机的过程中遇到的软件升级、服务包和漏洞修补的情况,我们都已经司空见惯。但是,具体到嵌入SoC中的软件,这种无休止的软件改进方法就遇到了障碍。另一方面,相比于通用的计算机软件而言,与嵌入式软件互动的系统,其设定的使用模式和环境条件都

6、更容易确定。而且,为较简单的系统开发的嵌入式软件可以比较简单,也就更易于全面验证。举例来说,控制车辆子系统或电子玩具的SoC比在实时操作系统(RTOS)上运行许多应用和流程的智能手机更容易进行全面测试。  如果我们更加仔细地观察运行在这类智能手机上的软件,例如图2所示的Android软件,我们可以看到一种多层布置,这称为软件协议栈。    图2Android软件协议栈  在观察软件协议栈时,我们会发现,协议栈的最底层——也就是那些最接近硬件的部分,主要是为了满足将软件映射到SoC硬件上的需求。这就需要对硬件有绝对的了解,

7、甚至包括地址和时钟周期等。软件协议栈最底层的设计人员往往称自己为平台工程师,他们的工作就是准确描述硬件,以便协议栈的更高层次能够识别和重复使用。这种描述被某些RTOS厂商称为板支持包(BSP),与我们日常使用的PC的基本输入/输出系统(BIOS)类似。  协议栈从下往上第二层包含RTOS的内核以及将较高层次的软件与被描述的硬件相连的必要驱动程序。在这些协议栈的最底层中,平台工程师和驱动程序开发人员需要在真实的SoC或完全准确的SoC模型上验证他们的代码。这个层面的软件开发人员需要全面了解各时钟周期软件的行为。  作为软件

8、开发人员的另一极,在协议栈的顶层,我们可以看到用户空间,在这里可以同时运行多个应用,比如像智能电话中的联系人管理器、视频显示器、互联网浏览器和实际呼叫的电话子系统。这些应用中的每一个都不能直接访问SoC硬件,而且实际上在某种程度上违背了所有硬件考虑事项。这些应用依赖运行在协议栈较低层的软件代表自己与SoC硬件及系统其

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。