| |
 |
 |
|
|
 |
 |
 |
Language
- Block diagram programming language
- Component-based language promotes software reuse and provides the basis for partitioning and mapping to multiple processors
- Self-documenting software model
- Block diagram along with comments and links to requirements traceability management tools allow the Gedae model to also serve as a specification document
- Hierarchy, Family, and Route Boxes
- Data distribution and parallelization is easily parameterized and expressed in the block diagram
- Data flow graph language
- An intuitive way of expressing software control that provides the basis for many compiler optimizations such as threading and mode control
- IO Primitives and Pause/Resume functions
- Easily and effectively incorporate ADCs and IO devices in Gedae graphs
- Parameter Evaluation and Trigger boxes
- Fully automated management of parameter calculation and the basis for GUIs and the expression of state machines
- Signal flow graph language
- Portability to FPGAs and optimizations at the for-loop level
Compilation Parameters
- Threading
- Automatically group components into threads, where the order of execution for the components in each thread are preplanned
- Partitioning and Mapping
- Easily distribute (and redistribute) processing across multiple processors, automatically incorporating the necessary communication into the threads
- Transfer methods
- Provides access to all available transfer types and their parameters, from which Gedae adds the glue code necessary to ensure non-deadlocking execution
- Granularity
- Increase the vectorization of the application up to the bounds of the system memory to maximize the efficiency of the innermost for-loops
- Memory partitioning
- Allows developers to map data streams or queues to different memory banks or buffers in the system
- Queue capacities
- Automatically evaluates the required queue sizes needed to ensure proper operation, and allows the developer to increase these sizes to prevent undesired blocking
- Launch Package
- One step creation of a standalone set of executables, completely divorced from the development environment, along with options for launching from EEPROM, executable compression, and other features
- Memory Packing
- Automatically preplan memory usage and identify buffers that can be reused during execution
Analysis
- Flattened graph
- Easily view and debug data flow issues
- Schedule display
- View the preplanned order of execution for each thread, as well as its memory usage during each stage
- Trace Table
- A wealth of timing information, both on the processor level and on the software component level, showing the execution timeline for each item in the system
- Parameter Trace
- Verbose accounting of all parameter evaluations, allowing for easier debugging of parameter and trigger issues
- Performance Simulation
- Simulate execution on virtual processors
- Distributed debugging
- Debug the execution of the multiprocessor application, including breakpoints, single stepping, and direct access to source code debugging
Utilities
- Autodocumentation
- Automatic creation of an HTML document showing the block diagram, source code, and implementation settings
- Configuration management
- Track changes to components of the block diagram through direct access to common CM tools
- Archiving
- Easily capture a snapshot of the current state of the application in an archive
|
|
|
| |
|
|
|
 |
|
|
|
|