新闻中心

EEPW首页>EDA/PCB>设计应用> 现场可编程门阵列(FPGA)设计

现场可编程门阵列(FPGA)设计

作者: 时间:2011-05-27 来源:网络 收藏

可读性好的设计在调试、测试和维护上将节省大量的时间,已经经过验证的电路很容易重用,节省开发时间。

完备的开发文档

为了保证设计的可重复性,设计文档除了详尽的系统设计说明之外,还必须包括一些其他的必要信息,比如软件开发系统的版本号、软件的各个选项及参数设置。另外,各种操作和修改的过程都应该以文档的方式记录下来。如果不这样做,最终的实现就会因人而异、因开发系统而异,整个系统的性能也变得不稳定,甚至无法评估。

设计的基本原则

在EDACN的技术论坛上,一些经验丰富的设计人员总结了FPGA设计中几条非常重要的基本原则,现列举如下,供大家参考借鉴。

硬件资源与处理能力的折衷

在设计中,可以通过并行处理来提高处理能力,而并行的硬件将消耗更多的FPGA内部资源;也可以通过模块复用来降低硬件资源的消耗,带来的结果就是系统运行速度的降低。在具体设计中,应该根据系统性能指标的要求,在资源消耗和处理能力之间取得合理的折衷,在保证系统功能和性能的同时降低资源消耗,从而降低功耗和成本。

硬件思想

应该明确FPGA逻辑设计所采用的硬件描述语言与软件语言(如C,C++等)是有本质区别的。在使用硬件描述语言进行FPGA设计时,不应该片面追求代码的整洁,简短。而正确的编码方法是:首先要对所需实现的硬件电路的结构与连接有十分清晰的理解和设想,然后再用适当的HDL语句表达出来即可。

系统原则

在FPGA设计中,应该对设计的全局在宏观上进行合理的安排,比如时钟域、模块复用、约束、面积、速度等问题。这些系统上的考虑不仅关系到是否能够最大程度地发挥项目成员的协同设计能力,而且直接决定着设计的综合、实现效果和相关的操作时间。

模块化设计是系统原则的一个很好的体现,它不仅仅是一种设计工具,它更是一种设计思路、设计方法,它是自顶向下、模块划分、分工协作设计思路的集中体现,是当代大型复杂系统的推荐设计方法,目前很多的EDA厂商都提高了模块化设计工具。

同步设计原则

目前的商用FPGA都是面向同步电路设计而优化的,其上实现异步电路并不能充分体现出异步电路应有的优势。而同步时序电路可以很好地避免毛刺,因此,提倡在设计中全部使用同步逻辑电路。

FPGA设计新发展

随着FPGA的门数、速度、结构复杂度、各种IP核供应等方面的不断进步、数字系统设计规模超越几百万门,更多的设计者将混合使用系统级和平台级的FPGA器件及其内部嵌入的处理器、存储器或数字信号处理器。FPGA设计的要求也必须作出相应的变化,从而使设计者能够使用FPGA器件实现更复杂、更高速的系统。

在通常的FPGA设计中,首先是整个系统进行架构,然后再把硬件部分设计交给硬件工程师进行寄存器转移级(RTL)设计,软件部分设计交给软件工程师采用C++语言等进行编程。但随着设计规模的扩大,芯片复杂度及性能需求的提高,使用传统方法将面临很多困难。因此,FPGA模块化设计和系统级设计概念正在不断得到发展和改进。

分层次的模块化设计方法

分层次的、基于模块的设计方法将系统分为多个层次,采用模块作为基本设计单元,实现系统的开发和设计。在这种设计流程中,设计者面对的是各种不同层次的功能模块,这样就为复杂的几百万门级系统的设计和处理提供了更高的抽象级别以及更灵活的实现方式。

分层次的模块化设计方法具有很多优点。满足了缩短市场响应时间,同时降低成本的需求。首先,基于模块的设计方法在设计实现中引入了最大程度的并行性,使顶层设计和单个模块设计能同时进行;其次,这种方法使得设计者更容易进行设计复用,包括设计模块和IP核的复用。

电子系统级(ESL)设计与验证方法学

ESL设计是能够让电子系统设计工程师以紧密耦合方式开发、优化和验证复杂系统架构和嵌入式软件的一套方法学,它还提供寄存器传输级实现的验证基础。

ESL的目标是系统级模型的协同软硬件设计。在过去几年中,ESL设计被认为是一个很难达到的目标。然而目前,业界在ESL设计上已经取得了一定的进展。随着SystemC已提交给IEEE P1666工作组,SystemC如今已被接受并成为广泛使用的系统级建模标准。目前已有许多世界领先的系统和半导体公司采用ESL设计,为产品提供必需的先进功能和高性能。电路规模越大、复杂度越高,ESL设计方法和工具所能显示的优势就越高


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭