ABC/SCAT Project
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:
- 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).
- Use as normal.
- Press the 'Save coverageNotes-publishable.html' button.
- Save a copy of the coverageNotes.html file
- 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
- The SQA Focal will perform the required audits as per the Software Quality Assurance Plan for Deos, DEOSDOC4.
- The deliverables will consist of the aforementioned SLCD.
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.
Useful Links for Development Team Members
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: