230 likes | 444 Views
Processor Design and Implementation for Real-Time Testing of Embedded Systems. Walters, G.; King, E.; Kessinger, R.; Fryer, R. 17th DASC . The AIAA/IEEE/SAE , Digital Avionics Systems Conference, 1998. Proceedings., Volume: 1 Page(s): B44/1 -B44/8. What’ Problem ?.
E N D
Processor Design and Implementation for Real-Time Testing of Embedded Systems Walters, G.; King, E.; Kessinger, R.; Fryer, R. 17th DASC . The AIAA/IEEE/SAE , Digital Avionics Systems Conference, 1998. Proceedings., Volume: 1 Page(s): B44/1 -B44/8
What’ Problem ? • Design and implement processor that are compatible with commercial instruction sets and have specific features for visibility to facilitate to test ,debug, and maintenance of real-time processing system. These features include: • Real time Non-intrusive instrumentation(RTNI) • Behavioral Verification Technology(BVT) • Do not interfere in any way in the operation of the system.
Introduction • The advance of combination of RTNI and BVT: • Reduces system validation time ,risk and cost. • Increasing the coverage and assurance level • The feature implemented in processor • High performance • Low power,commercial grade, or radiation hardened • Development of processor military and commercial application
Background • DOD-design embedded processors contained in avionics system have incorporated “test hooks” to facilitate the debugging of the system and software • Most of Commercial-Off-The-Shelf (COTS) have not included RTNI for real-time software application
Real time Non-intrusive Instrumentation (RTNI) • The software bug often do not appear until the system has been fully integrated and running at speed. • Real time execution causes event timing and the CPU profile to change, since it is affected by real-time interrupts, real-time task-switching,and inter-task dependencies.
Bus-based debugging system • That is blind when MP is doing in no bus cycles at system bus. • That is unable locate instruction or operand boundaries within the block of memory accessed. • This force s firmware/software developer to intrusively trap real time code.
Solve Bus-based problem • The instrumentation mechanisms must be transparent to the behavior of the software. • Transparency has typically been deemed adequate : • If the flow of addresses in program execution is identical • If the time relationships of all software detectable events are equivalent • i.e. interrupts,sequence of procedures run,time spent in a process.
The debug functions of RTNI supports • Trace Stop/Start on Event • Single Step • Software/Hardware Breakpoints • Inspect/Change Memory • Up to (16) Hardware traps • Timers/Event Counters • Event Timing • Inspect/Change Registers • Inspect/Change I/O port • Reset/Configure Performance Monitor • Enter/Exit Console Mode • Reset RTNI • Run/Stop
The RTNI specifics • The interface is made up of : • 8-bit command bus • 32-bits data bus • 14-bits status bus • The data bus is used to : • Specify the register number for read/write register commends • Specify the address for read/write memory/IO commends • Specify the data value for write commends • Provide the data value for read commends • Provide the trace data when trace is enable
The RTNI specifics (cont.) • The status bus is to indicate: • RTNI can accept a new commend • Current RTNI commend complete • Current state of the microprocessor • Valid trace data • First word of multi-word trace packet • Hit/Miss status for the internal breakpoint register
The application of RTNI • Support industry standard symbolic debugger through an Application Programming Interface (API). • Implemented as a general-purpose diagnostic port architecture which is open, scalable and consistent with commercial development tools.
The characteristics of BVT • It is automated, checking against expected results thereby eliminating the uncertainty of ad-hoc,random testing. • It is based on a measurable and enforceable specification . • It provides comprehensive specification coverage.
The characteristics of BVT • It is applicable throughout the development process as well as on the finished product. • It integrates new tests as the specification evolves or as the developer requires. • It provides repeatable and predictable test results. • It is easy to use.
The “bootstrapping” Validation Fashion Complete system Simplest function Incremental
The basic organization of BVT • Basic Function Test • Focus on each individual operation or function are working properly • Also verify that unwanted side-effect do not exist. • Example: • proper result is calculated • register and memory are update correctly • condition code are set properly.
The basic organization of BVT • Corner Case Test • boundary conditions cases of a function • Example : • underflow or overflow in floating point operation • Cause address calculation to cross memory boundary • exception cases of a function . • Example: • Proper prioritization of multiple exception
The basic organization of BVT • Sequence Tests • Multiple functions are executed sequentially or concurrently • Sequences of multiple instructions interact properly • Example : • Dependencies between instruction for register values,memory contents,and flag settings.
Applications • CPU-1750A • Inserted in an Air Force avionics system • provide 12 DAIS MIPS sustained at 60MHz • MS1 • An x86-compatible micro processor • Developed in conjunction with Navy • BVT provides more test coverage than vector,application and/or random testing.
Conclusion • RTNI • Single cycle execution of COTS processor. • Standardized across multi-processor including DSP • Visualize real-time data allows developers to isolate where and why a particular real-time bug occurs.
Conclusion • BVT • Based on the systematic verification of the specification • Significantly more effective in finding, identifying, correcting, and re-testing bugs • Created to validate specifications for both software and hardware