1 / 15

ELG6163 Presentation

ELG6163 Presentation. TI Standard for Writing Algorithms. Geoff Green March 20, 2006. Outline of Presentation. Motivation for standard development eXpressDSP vs. XDAIS Description of areas covered by standard XDAIS development tools XDAIS compliance process

damita
Télécharger la présentation

ELG6163 Presentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ELG6163 Presentation TI Standard for Writing Algorithms Geoff Green March 20, 2006

  2. Outline of Presentation • Motivation for standard development • eXpressDSP vs. XDAIS • Description of areas covered by standard • XDAIS development tools • XDAIS compliance process • Demonstration of XDAIS tools

  3. Motivation for Standard Development • As DSP systems grow in complexity and time-to-market windows shrink, it is uncommon to find companies that do all development “in-house” • There is a large number of third-party vendors of DSP algorithms that offer code that can be “inserted” into a product • In this environment, the task of systems integration becomes very important • Systems Integration – ensuring that all software components interoperate correctly in the overall design • Each vendor provides the algorithm interface in a different manner – leading to a lot of time writing “glueware” – not an effective use of time!

  4. Motivation for Standard Development • This motivates the use of a standard for DSP algorithms – a set of rules/ conventions that these algorithms must use to “plug in” to a larger system. • for the systems integrator, less effort writing code for each interface • for the algorithm developer, ensures that they can market their code to the maximum number of clients without having to support multiple interfaces • decreased time-to-market • free up skilled resources for algorithm development/creativity/innovation • simplifies the evaluation of algorithms from multiple vendors with the ability to quickly plug out and plug in various algorithms to compare (size, speed, etc.) or upgrade components • instills confidence in the product since algorithm has been verified by independent compliance process

  5. Texas Instruments DSP Algorithm Standard • XDAIS introduced in 1999 (XDAIS = eXpressDSP Algorithm Interface Standard) as a means of helping product development as well as creating a rich marketplace of DSP algorithms • eXpressDSP is not only a DSP algorithm standard, but also: • Code Composer Studio IDE • DSP/BIOS real-time OS • Reference Frameworks – “skeleton” applications • XDAIS specifies the “sockets” and “plugs” for the algorithms in this • picture

  6. XDAIS Requirements • During standard development, the following were deemed to be the “guiding principles”: • algorithms that originate from multiple vendors should be able to interoperate in the same system • algorithms should be “framework-agnostic” – in other words, a given algorithm can be re-used in many different applications • algorithm use should be possible in both static and dynamic environments (e.g. shared vocoders) • algorithms can be delivered in binary form (which safeguards the vendor’s IP, and eliminates the user’s need to re-compile)

  7. XDAIS Trade-off “There is no problem in computer programming that cannot be solved by an added level of indirection.” - M. Wilkes VS. “There is no performance problem that can’t be solved by eliminating a level of indirection.” – J. Gray So…. Adherence to the XDAIS standard must remain true to the spirit of DSP development – overhead must be minimized to preserve performance!

  8. XDAIS Rules and Guidelines – SPRU352 • The XDAIS standard consists of a set of 46 rules and 19 guidelines, each of which is defined at various algorithmic levels of abstraction. • An algorithm must obey all of the rules in order to be eXpressDSP compliant. It is recommended that the algorithm also adhere to all guidelines but this is not required.

  9. XDAIS Rules and Guidelines – SPRU352 • The rules and guidelines at Level 1 are very high level and cover all application areas. • all algorithms must be C-callable • all algorithms must be re-entrant • there must be no “hard-coded” data memory locations • algorithms should attempt to use scratch memory in place of • persistent memory • algorithms must never directly access peripheral devices (use parameters)

  10. XDAIS Rules and Guidelines – SPRU352 • Level 2 specifies an abstraction layer between the algorithm itself and the processor’s resources (such as memory, I/O, etc.). This ensures that multiple algorithms (or instances of the same algorithm) can co-exist on the DSP without “trampling” each other’s resources. • Algorithm code should be partitioned into distinct sections and each section • should be characterized by the average number of instructions executed per • input sample. • All algorithms must characterize their program memory requirements. • All algorithms must characterize their worst-case interrupt latency for every • operation.

  11. XDAIS Rules and Guidelines – SPRU352 • Level 3 deals with specific vendors’ DSP families (e.g. TMS320C6000) - while concensus does not exist today, the guidelines in the standard at least provide a starting point. If a vendor deviates from this, it will be easy to draw attention to this in documentation. • Algorithms should avoid the use of the float data type • All C6x algorithms must be supplied in little-endian format • Level 4 is specific to application domains and is NOT covered in the XDAIS standard. • A DSP algorithm that meets the rules defined in levels 1-3 is considered eXpressDSP-compliant.

  12. XDAIS APIs – SPRU360 • XDAIS provides a set of application programming interfaces (APIs) to • enforce adherence to the rules, e.g. • IALG(algorithm instance interface) – REQUIRED • - responsible for creating an algorithm instance at run-time ensuring safe operation in any environment (static/dynamic or pre- emptive/non pre-emptive) • - the most critical role performed here is that of memory management. All memory references in an algorithm must be directed through this API – no explicit memory references should exist in the code. • IDMA2/ACPY2 APIs (direct memory access (DMA) interface) – • - responsible for handling the DMA resource. • - though not required, any eXpressDSP compliant algorithm that wants to use DMA must implement this interface, as well as the ACPY2 interface to request DMA services

  13. Development Tools • TI provides several development tools that assist in the implementation • of XDAIS algorithms • Documentation: • Developer’s Kit (plugin to Code Composer Studio) • Files required for XDAIS standard (header files, algorithm APIs and libraries, examples) • eXpressDSP Component Wizard – automatically generate generic code for an algorithm interface (hides ugly details!) • QualiTI algorithm validation tool – enables DSP engineers to automate the testing of their algorithm (for compliance, not functionality)

  14. Compliance Testing • Responsibility to ensure that the conditions for eXpressDSP-compliance are met lies with the algorithm writer. • The QualiTI tool is used for XDAIS compliance self-testing. • The writer, after successfully passing QualiTI testing and examining the detailed report that is generated, submits the test result to TI (along with other relevant information such as processor platform, application area, etc.). • Upon review by TI, the algorithm is then certified as eXpressDSP compliant and qualifies to use the logo • It is interesting to note that at present, there are over 700 eXpressDSP compliant algorithms from roughly 100 third-party participants

  15. ELG6163 Presentation TI Standard for Writing Algorithms Geoff Green March 20, 2006

More Related