riple

Stay Hungry, Stay Foolish.

[译完] Rapid System Prototyping with FPGAs - 4.5

0
阅读(2633)

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技术有浓厚兴趣的团队成员应该是首要目标。下面的清单列出了一些培训和技术支持方面的考虑因素。

< >有可能的话, 让资深的FPGA设 计师加入,来发展壮大团队 确定参加高级FPGA设计培训的人选,选取的标准是,既 要对FPGA技术 有兴趣,还要有相关的设计经验,比如在电路板级别具备设计和布局经验,软/硬件划分经验,仿真和调试经验。 当只有几个经 验丰富的FPGA设 计工程师被分配给这个项目时,选择有意愿和能力有效地指导和帮助他人的个人,选择乐于教导他人的具有团队导向的个人,而不是效率高但是缺乏耐心的独来独往 的设计者。 给经验丰富的 设计者以目标、责任、权威和时间来指导、教育、教导和帮助缺乏经验的团队成员。

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

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

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

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

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

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

Baidu
map