博客首页 | 排行榜 |

uoyna的博客

个人档案
博文分类
[zz]AutoESL:The Easiest Path from ESL to Silicon  2007-07-12 11:59

  AutoPilot, a powerful ESL synthesis software tool, automatically generates efficient RTL code from C, C++, or SystemC descriptions and simultaneously optimizes logic, interconnects, performance, and power, providing superior platform-based system-level synthesis capability. The behavioral design descriptions are parsed and optimized by AutoESL’s enhancements to a fully GNU compatible compiler. 

  AutoPilot’s core technology is an advanced ESL synthesis and optimization engine that manages large systems described in a high-level language with minimal modifications to its source code.  AutoPilot’s synthesis engine performs precise platform pre-characterization that enables more informed optimizations.  The characterization libraries contain delay, area and power information for resources such as ALUs, multipliers, memories, and steering logic. Layout information of the target FPGA is also utilized by the physical-aware synthesis engine.  Constraints for the RTL code such as multi-cycle and false paths are automatically generated to insure design closure.

 

How is parallelization achieved? (怎样完成从串行程序设计语言到并行程序设计语言的转换?)

  • Parallelization is extracted from the algorithm by examining the untimed system-level behavioral source code and using a GNU-compatible software compiler to apply advanced code transformation, optimization techniques such as loop unrolling, if-conversion, loop flattening and data dependence analysis(???). 使用GNU编译工具,实现代码优化
  • The compiler automatically employs behavior-level scheduling and resource binding on data-intensive and control-intensive algorithms that can include large memory structures
  • The designer can also specify course-grain(???) parallelism using SystemC

Level of Abstraction — How different is it from coding in HDL?

  • With AutoPilot, software written in C/C++/SystemC-code used at the system level does not have to be re-written for synthesis
  • Source code is written at the behavioral level versus at an RTL level
  • Throughput, latency and various pipeline options can be specified in a constraint file used by the synthesis engine versus explicit coding of timing and concurrency in RTL
  • Design of a large system is driven by behavioral- and architectural-level executable models written in C/C++/SystemC instead of hardware-specific HDL models
  • Much more efficient and faster evaluation of different micro-architectures, hardware and software boundaries using a high-level language
  • 10:1 reduction in code base size using a high-level language versus HDL

Skill pre-requisite ?

  • No knowledge of FPGA and hardware design is necessary but is helpful
  • AutoPilot can be used by both software and hardware designers familiar with high -level languages such as C, C++, SystemC, or M-code
  • Working knowledge of software centric compilation and debugging environments such as the industry standard Eclipse CDT and/or GNU/make
|
上一篇:Trends for RFID | 下一篇:[zz]C程序到系统门
以下网友评论只代表其个人观点,不代表本网站的观点或立场