原创 [译完] Rapid System Prototyping with FPGAs - 4.5

2010-6-23 16:00 2807 7 7 分类: FPGA/CPLD


4.5 Training



Work to put together the best design team
possible. Having the “right” team will
have a significant impact on an FPGA project’s efficiency.
Gathering an
ideal team is often a challenge for smaller design groups and organizations
with limited FPGA design experience. An ideal team would be heavily staffed
with well-trained experienced FPGA designers. If a team cannot be assembled
with the required experience, then try to select individuals with experience
that can efficiently translate into FPGA design. Selecting team members with a
strong interest in learning FPGA technology should be a primary objective. The
following is a list of some training and support considerations.



  • Seed the team
    with senior FPGA designers if possible
  • Identify
    engineers for advanced FPGA design training based on a combination of interest
    in FPGA technology and related design experience such as board-level design and
    layout, hardware/software partitioning, simulation experience, and design debug
  • When only a few
    experienced design engineers are allocated to the project, select individuals
    who have a willingness and ability to direct and assist others effectively,
    individuals who are team-oriented and who enjoy teaching others rather than
    highly efficient, impatient, independent designers
  • Give the
    experienced designers the objectives, responsibility, authority, and schedule
    to guide, educate, mentor and assist the less-experienced team members








       Try
to rotate designers with less FPGA experience onto FPGA designers so that there
are more experienced designers to pull from for future projects. Try to involve
team members in the detailed FPGA schedule development so that individuals have
a sense of ownership and responsibility for their specific project
responsibilities and an understanding of how their tasks feed into other
project tasks. Work to educate team members on the tools and techniques they
will need to complete FPGA projects efficiently.



       Try
to get as many team members as possible to appropriate tool, process and
technology training as early in the design cycle as possible. Knowledge is
power when designing with complex architectures and tools with many design
options. Focused up-front training is often significantly more efficient than
unstructured, on-the-job training due to the nature of FPGA design. Setting
time and budget aside for training early in the design cycle can be a very good
investment. An untrained design team will have a scattered design approach and
may be more inefficient. Encourage and enable the team to develop the knowledge
base required to make confident and well-informed design decisions. If
external, for-fee training is not a realistic option, encourage designers to
educate themselves with available free or low-cost training and resources. For individuals interested in being involved in
FPGA development, set up in-house training and required reading and tutorial
completion requirements. Develop and educate team members on the adopted
company or project FPGA design process. If one does not exist, invest the time
and effort to develop one. It does not need to be formal, but it should be documented
so that the team knows the impact of decisions and actions on subsequent design
tasks and the relationships between different design phases. Try to restrict
critical FPGA technology design decisions to individuals with the necessary
knowledge base and understanding of the design trade-offs required to make
informed decisions.



       Manufacturer
literature is the foundation for learning about specific FPGA families,
components and features. While some printed literature is available, the
information available online will typically be the most up-to-date. One of the
challenges may be finding the information online. There are huge quantities of
documents available, including data sheets, user guides, application notes,
white papers, articles, and answer databases.



       The
design team must be diligent in reading and cross-referencing the manufacturer’s
documentation. Due to the complexity of the product and range of features
offered, even within a single family, it is essential to read as much
information on the specific part selected for the design, including application
notes and the footnotes associated with diagrams and tables. Often information
located in an application note table footnote can provide clarifying
information on the best approach for implementing a specific function within a
specific part in a family. Ideally all information required to design with a
specific part will be included in the data sheet and user guide for a part, but
this is not always the case. It is possible for a few sentences in an
application note to help clarify the understanding of a specific feature within
an individual part. When there is conflict between two or more written sources,
seed clarification from the manufacturer.



       It
is advisable that designers copy documents that address topics important to
their designs to their local machine or network; this makes it easier to
reference information in the future. Documents can move and be restructured
when manufacturer web pages are updated and it can be frustrating and time-consuming
to try to find documents covering specific topics again. Organizing the
information as it is collected can be a challenge. Files should be saved into
topic-specific directories, and spreadsheets can be used to make notes about
specific file contents. Many on-line files have short cryptic file names. It
can be helpful to expand the name of files as they are saved locally while
maintaining the original file name information. An example would be saving “xapp139.pdf”
as “Virtex_JTAG_Configuration__xapp139.pdf”. Check regularly for document
updates.



 



4.5 培训







致力于组建最佳的设计团队。拥有 “最合适”的团队会对FPGA项目的效率产生显著的影响。对于缺乏FPGA设计经验的较小的设计机构和组织来说,组建一支理想的团队经常是个挑战。在一支理想的团队中,训练有素、经验丰富的FPGA设计者应该占大多数。如果无法组建这样的团队,那么设法选择虽然没有直接的FPGA设计经验,但是其经验可以有效地转化到FPGA设计中的成员。选择对学习FPGA技术有浓厚兴趣的团队成员应该是首要目标。下面的清单列出了一些培训和技术支持方面的考虑因素。



1.        
有可能的话,让资深的FPGA设计师加入,来发展壮大团队



2.        
确定参加高级FPGA设计培训的人选,选取的标准是,既要对FPGA技术有兴趣,还要有相关的设计经验,比如在电路板级别具备设计和布局经验,软/硬件划分经验,仿真和调试经验。



3.        
当只有几个经验丰富的FPGA设计工程师被分配给这个项目时,选择有意愿和能力有效地指导和帮助他人的个人,选择乐于教导他人的具有团队导向的个人,而不是效率高但是缺乏耐心的独来独往的设计者。



4.        
给经验丰富的设计者以目标、责任、权威和时间来指导、教育、教导和帮助缺乏经验的团队成员。



设法让缺少FPGA经验的设计者们都有机会轮流参与FPGA设计,这样一来,在以后的项目中就会有更多的有经验的设计者可供选择。设法让团队成员参与详细的FPGA日程制定,这样可以使成员具有主人翁精神,意识到自己在项目中担负的具体责任,并理解自己的任务对项目中其他任务的影响。致力于工具和技术方面的培训,团队成员将会需要这些工具和技术来高效地完成FPGA项目开发。



设法在设计周期中尽早地让尽可能多的团队成员接受恰当的工具、流程和技术培训。当采用复杂的结构和选项众多的工具进行设计时,知识就是力量。由于FPGA设计的本质特性,有针对性的前期培训比没有组织的在岗培训经常会有效率的多。在设计周期的早期给培训留出时间和预算会是非常好的投资。没经过培训的设计团队会采用松散且不统一的设计方法,导致效率低下。鼓励并帮助团队获取和建立必要的知识基础,来做出有信心的和有根据的设计决定。如果收费的外部培训不是一个现实的选项,那么鼓励设计者通过免费的或低成本的现成的培训和资源来进行内部培训和自学。



对有兴趣参与FPGA开发的成员,安排内部培训并给出必需的阅读材料和教学课程完成要求。教育团队成员,以使他们了解并遵循公司内部或具体项目采用的FPGA设计流程。如果这样的设计流程并不存在的话,投入时间和精力开发一个。这一流程并不需要过于正式,但是应该文档化,来让团队成员知道设计决定和措施对相应的设计任务的影响,以及不同设计阶段之间的关系。设法把关键的FPGA设计技术决定留给这样的成员来做出,他们必须具备必要的知识基础并且理解制定有根据的设计决定所需要的各项权衡因素。



芯片厂商文档是学习具体FPGA系列、具体器件功能和特性的基础材料。尽管有一些现成的印刷品,但是从厂商网站获得的在线文档内容是最新的。挑战之一会是如何找到所需的在线文档。在线文档数量众多,包括数据手册、用户指南、应用笔记、白皮书、文章和在线解答数据库。



设计团队必须勤于阅读和参照厂商提供的文档。由于FPGA芯片的复杂性和功能特性之广,即使在单独一个产品系列之内,尽量多地阅读设计中所选取的具体器件的信息也是至关重要的,包括应用笔记和图表的脚注。从应用笔记的表格脚注中发现的信息,通常可以给在属于某一系列的某一型号器件上,实现特定功能的最佳方法提供澄清信息。理想的情况下,用特定型号器件进行设计所需的全部信息都包含在该器件的数据手册和用户指南中,但是并不一定如此,应用笔记中的几句话也有可能帮助澄清特定器件的某一特性。如果在几份正式文档中发现了相互矛盾之处,应该向器件厂商寻求澄清。



值得建议的是,设计者应该把解决了设计中重要问题的文档拷贝到本地的机器或网络中;这样做使得日后可以很容易参考这些信息。当器件厂商更新网页时,文档的网址可能会变化,文档的结构也会发生变化,要再次找到包含某一具体题目的文档可能会花费大量的时间并且令人泄气。即时地对收集到的文档进行整理会是一个挑战。文档应该保存到专题目录下,并采用电子表格来记录具体的文件内容。许多在线文档为了便于在网站上组织和管理,其文件名都是缩写的,当保存到本地时,在重命名为完整名称的同时,保留原始的缩写文件名信息也是有帮助的,比如,把“xapp139.pdf”另存为“Virtex_JTAG_Configuration__xapp139.pdf”。最后,应该定期检查文档的更新。



PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条