ABC/SCAT Project

From Deos
Jump to navigationJump to search


ABC SCAT Retargeting for 787 INR V&V. Add two new targets for the ABC/SCAT structural coverage analysis tooling: Blackfin DSP ADSP-BF532 and TI DSP TMS320C6713.

Description

ABC/SCAT is a structural coverage analysis tool used to accomplish certain types of test coverage analysis in support of Assembly Branch Coverage (ABC). SCAT is used in many Deos™ product verifications.

For information on the ABC/SCAT product and its use, see SCAT.

This project will extend ABC/SCAT to support two new targets, the Blackfin DSP ADSP-BF532 and TI DSP TMS320 C6713.

Experimental interface with inline editing

There is an experimental version of the abcJavascriptUtils.js script that replaces the copy that comes with the existing ABC tool. The new file enables Mozilla based browsers to perform inline editing of the justifications for misses and also permits "publishing" a version of the resulting coverageNotes.html file so that non-mozilla browsers can view the file. Publishing also minimizes the possibility that future browser changes will cause the reports to be non-viewable even in mozilla browsers.

To use the new capabilities:

  1. Copy new abcJavascriptUtils.js over the top of the abcJavascriptUtils.js file that was installed by reportCoverage (typically this is in the 'coverage-report' directory).
  2. Use as normal.
  3. Press the 'Save coverageNotes-publishable.html' button.
  4. Save a copy of the coverageNotes.html file
  5. Rename coverageNotes-publishable.html to coverageNotes.html

If you wish to apply the results from a previous regression run to a new run, just copy the 'justifications.js' file from the old run to the new run. You will likely have to edit the .js to remove obsolete justifications since there is as of yet no UI for that capability.

Current Status

2008-03-25. Full functionality release of TI target. See announcement for more.

2008-02-15. Pre-release of TI target and full-functionality release of Blackfin target. See announcement for more.

2008-02-04. (1) On the Blackfin retarget, we have moved into preparing the qualification kit; the full release is approaching. (2) On the TI retarget, we have moved into unit testing the instrumentor and the report generator, and work on the testsuite has commenced. (3) Two weeks ago we pulled in the estimated delivery date for the TI preliminary release in a few days, but over the last two weeks the date has slipped back out a total of one week. We are working to pull it back again.

2008-01-17. (1) The team in Bangalore has succeeded in collecting power-up coverage data on the Blackfin application code. (2) We are moving some geek-per-week from the Blackfin effort to the TI effort in hopes of pulling in the date of the TI preliminary release.

2008-01-06. The team in Bangalore is using the pre-release of the Blackfin target and shooting us support questions.

2008-01-02.The two other members of the development team are now on board and getting up to speed.

2007-12-11. Pre-release of Blackfin target. See announcement for more).

Tasks

Initial Budget: $114,300


Revised Budget: $193,040


TTD: $180,404


Current ETC: $12,636 (only LOE task remaining)


Current EAC: $193,040 (including post-release support)


Milestones Due Date Estimated Delivery Delivered Percentage Complete
[1] Pre Release of BlackFin Target 6-Dec-07 11-Dec-07 11-Dec-07 100%
[2] Full BlackFin Functionality 11-Feb-08 19-Feb-08 15-Feb-08 100%
[3] Pre Release of TI C76x Target 6-Dec-07 19-Feb-08 15-Feb-08 100%
[4] Full TI C76x Functionality 11-Feb-08 21-Mar-08 25-Mar-08 100%
[5] Post-release Support 31-May-09 LOE LOE 42%

 


Tasks for Milestone [1] Pre Release of BlackFin Target

Task Dependency Assignee Risk Original Estimate Current Estimate Elapsed Remaining
1.1 Improve retargetability of report generator John Kimball None 40 32 32 0
1.2 Retarget instrumentor for BF 532 John Kimball New instruction types (BF) 56 60 60 0
1.3 Unit-test instrumentor mods 1.2 John Kimball New instruction types (BF) 40 45 45 0
1.4 Retarget report generator for BF 532 1.1 John Kimball New instruction types (BF) 32 35 35 0
1.5 Unit-test report generator mods 1.4 John Kimball New instruction types (BF) 40 57 57 0
Totals 208 229 229 0

Tasks for Milestone [2] Full BlackFin Functionality

Task Dependency Assignee Risk Original Estimate Current Estimate Elapsed Remaining
2.0 Spin-up and Coordination John Kimball, Jeff Giese 0 93.5 93.5 0
2.1 Update qual testsuite for BF 532 1.3, 1.5 John Kimball, Jeff Giese Tooling and infrastructure 120 201 201 0
2.2 Prep for user qualification 2.1 John Kimball, Jeff Giese Tooling and infrastructure 40 50 50 0
2.3 Package and release ABC/SCAT for BF 532 2.2 John Kimball, Jeff Giese Tooling and infrastructure 88 38 38 0
Totals 248 382.5 382.5 0

Tasks for Milestone [3] Pre Release of TI C76x Target

Task Dependency Assignee Risk Original Estimate Current Estimate Elapsed Remaining
3.0 Spin-up and Coordination John Kimball, Rick Spangle 0 62.5 62.5 0
3.1 Complete initial compiler assessment Rick Spangle None 16 20 20 0
3.2 Retarget instrumentor for C67x 3.1 Rick Spangle New instruction types (TI) 80 141 141 0
3.3 Unit-test instrumentor mods 3.2 Rick Spangle New instruction types (TI) 40 14 14 0
3.4 Retarget report generator for C67x 1.1, 3.1 John Kimball, Rick Spangle New instruction types (TI) 48 49 49 0
3.5 Unit-test report generator mods 3.4 John Kimball, Rick Spangle New instruction types (TI) 40 34 34 0
Totals 224 320.5 320.5 0

Tasks for Milestone [4] Full TI C76x Functionality

Task Dependency Assignee Risk Original Estimate Current Estimate Elapsed Remaining
4.0 Coordination John Kimball, Rick Spangle, Jeff Giese 0 25.5 25.5 0
4.1 Update qual testsuite for C67x 3.3, 3.5 John Kimball, Rick Spangle, Jeff Giese Tooling and infrastructure 120 204 204 0
4.2 Prep for user qualification 4.1 John Kimball, Rick Spangle, Jeff Giese Tooling and infrastructure 40 146 146 0
4.3 Package and release ABC/SCAT for C67x 4.2 John Kimball, Rick Spangle, Jeff Giese Tooling and infrastructure 60 43 43 0
Totals 220 418.5 418.5 0

Tasks for Milestone [5] Support

Task Dependency Assignee Risk Original Estimate Current Estimate Elapsed Remaining
5.0 Post-release Support 4.3 John Kimball 0 169 70 99

 

Risks

New instruction types (BF)

The ADSP-BF532 instruction set includes these wrinkles:

  • Parallel operations. An assembly language "instruction" can included a limited form of explicit parallelism. This is new for ABC/SCAT.
  • Register allocation. Previously ABC/SCAT has been able to avoid performing register allocation for inserted hitpoint code sequences.

New instruction types (TI)

The TMS320 C6713 instruction set includes three wrinkles:

  • Delayed branches. Most/all branches are delayed branches. Previously ABC/SCAT has not directly handled delayed branches.
  • Conditional operations. Most/all opcodes can be conditional. Previously ABC/SCAT has only had to cope with a small number of conditional opcodes.
  • Parallel operations. An assembly language "instruction" can specify up to 8 opcodes to be executed concurrently. This is new for ABC/SCAT.
  • Register allocation. Previously ABC/SCAT has been able to avoid performing register allocation for inserted hitpoint code sequences.

Tooling and infrastructure

Exercising ABC/SCAT requires access to hardware or an adequate simulator or virtual machine.

Other enhancements

Other potential enhancements for other programs are noted and discussed on the discussion tab above.

Organizational Responsibilities

Honeywell Responsibilities

Provide project coordination within Honeywell between departments and between Honeywell and Tucson Embedded Systems.

Software Configuration Management

  • Maintain Configuration Management.
  • Maintain and Archive software requirements documents, and other associated SLCD.
  • The Honeywell Technical Lead will be responsible for this activity.

Honeywell Quality Assurance

Honeywell Program Management Responsibilities

The work responsibilities of Honeywell Program Management are as follows:

  • Facilitate the authorization of statements of work and quotes
  • Facilitate changes to statements of work
  • Provide purchase orders and payment authorization

Tucson Embedded Systems Responsibilities

  • Tucson Embedded Systems will provide status to Honeywell upon request.
  • Progress report should be submitted to Honeywell Technical Lead at a rate to be determined by said lead.

Note: above progress should be measured against incremental, achievable tasks rather than percentage complete. Progress reports will consist of the statement that we completed a given task, didn't complete a given task (and what we will do to mitigate), or the task has changed.


Source files in SCM

The project's mailing list (and its archive)

PCR:4680 for Blackfin development

PCR:4743 for TI development

PCR:4935 for Blackfin support

PCR:4963 for TI support

TI C67x:

Blackfin BF53x: