element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Forum 谈谈提高FPGA设计生产力的工具
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 0 replies
  • Subscribers 532 subscribers
  • Views 149 views
  • Users 0 members are here
  • 设计周期
  • 时序收敛
  • fpga
Related

谈谈提高FPGA设计生产力的工具

Flush
Flush over 14 years ago

影响FPGA设计周期生产力的最大因素是什么?许多设计人员的答案是,时序收敛是影响产品设计走向市场的关键。高效实现时序收敛,获得可信的结果是每一位设计师的梦想。然而,这仅仅是问题的一部分。

要在整个设计周期中真正做到高效率,设计师需要依赖整个设计环境以及其中的多种工具来管理流程复杂性,并为FPGA设计的独特风格和方法提供真实的解决方案。一个完整有效的设计环境提供了问题的焦点和透明性,最好是提供一个无缝的解决方案。

要提供最大的生产力,一个完整的FPGA设计环境应当包括如下一些主要特性:
·快速确定时序问题—所提供的工具能够为设计师提供关键信息,从而使他们迅速发现潜在的瓶颈。·利用一系列视图探究结果—设计良好的工具可以让设计师从多个视角察看有关时序路径的信息。

·以设计为中心,而非工具—能够在不同视图间无缝切换,工具操作透明,但设计问题清晰。
·提供有意义的中间结果—生产力包括能在尽早的阶段监测设计性能。如果尽早解决问题,结果是每天可以有更多的重复机会。
·管理复杂的源代码结构—设计工具需要方便的源文件的管理,提供兼容设计人员所喜好的源代码控制机制的能力和方法。
使用支持更快、更容易的时序收敛并且支持设计聚集的设计工具。下面的例子详细讨论了上面的话题。

快速确定时序问题

“设计满足时序要求吗?”每次通过布局布线完成设计实施时,通常设计师都会问这个问题。无论答案是什么,设计人员都希望以简洁的形式立即获得此类信息,如图1所示。

image

下一个问题就是“到底有多少满足时序要求,又有多少没有达到?”图2给出了与每一约束对应的时序结果简表。

利用不同的视图探究结果

一旦以摘要形式呈现时序结果,还可以很容易地察看特定约束或路径的详细信息。从上面的摘要中,简单地点击一条约束,设计师就可以看到更详细的时序报告,如图3所示。

image
设计人员可以非常快速方便地从高层时序摘要转到详细的文本信息,了解特定的时序路径。

文字信息只是了解设计时序特性的一种方法。通常,图形显示更有帮助。对于上面的设计,点击超链接可以得到在FPGA器件中时序路径的实际物理实现的图形显示,如图4所示。

image
图4中的例子显示出时序路径从一个起始块,通过每个中间块,最后终止在路径端点的实际物理布局。视图也给出了这些块之间实际布线的视觉表现。该 视图可以帮助回答与时序相关的问题,如:“有没有特别长的路径?”以及“有没有逻辑的布局跨越了多个时钟区域?”随着设计师逐渐放大视图到特定点,应当可 以看到如图5所示的片内部配置。

image

上面的物理器件视图通常很有用,但对于理解设计中不同的时序路径细节来说,其它表示方式也同样有用。一种基于原理图技术的视图如图6所示。

在这一时序路径视图中,很容易看出数据路径中的逻辑层次数,并了解时序路径如何穿越设计层次中的不同部分。还可以逐渐放大显示的原理图,显示其它逻辑连接到构成本路径的单元的情况。

以设计为中心,而非工具

通过同一设计问题的多种视图,设计师能够以不同的方式考虑时序问题,并定制针对问题的最适合的解决方案。当所有这些观察点都集成在单个设计环境中时,在不同视图之间的切换就只需点击一下鼠标就可以了。有时还可以将多个视图并列显示,如图7所示。

提供有意义的中间结果

在FPGA设计过程的中间,运行多个实施是很平常的。对于有大量时序要求的大型设计来说,能够检查中间结果是很有用的。通过方便的方法暂停、检测和恢复实施过程,设计师可以在设计编译的过程中获得更好的设计可视性,如图8所示。

想象一下,过度的时序约束可能需要更多时间才能够完成设计实施的布局和布线阶段。通过暂停流程,有些设计师可能认为设计时序已经“足够接近”, 从而可以将设计提交到实验室继续进行功能调试。同时,做完这一步后,还可以恢复布局布线,继续进行优化处理以满足最终时序要求。

更重要的是,通过检查中间结果,设计师可以更快地确定是否存在任何时序关键区域并尽早采取行动。

管理复杂的源代码结构

随着设计复杂性的增加,源代码结构的复杂性也在增加。许多设计师采用第三方源代码控制工具来管理复杂性并保证源代码文件的一致性。这些文件不仅限于HDL源文件,还包括约束文件、仿真测试基准等。

每位设计师都有处理这些问题的特有风格和方法,因此并没有适用于所有用户的万能解决方案。通过提供方便的机制来确定并有选择地输出FPGA设计项目中的所有源代码/文件,设计师可以采用最适合自己需要的外部源代码控制工具。输出过程还包括输出ASCII 形式的项目信息,以后可利用这一信息重建这一项目的早期阶段。

结语

对FPGA设计生产力来说,快速实现时序接近确实是一项关键因素。能否快速了解设计时序状态是衡量FPGA设计环境有效性的关键。由于导致时序路径出现时序失败的原因很多,因此设计师需要从多种不同角度(文字和图形)掌握方便察看时序信息的能力。这样他们才能够做出如何改进设计时序的最佳决策。无缝且透明的综合工具将可帮助快速实现时序收敛

  • Sign in to reply
  • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube