Skip to content
Snippets Groups Projects
Commit 531eb3d5 authored by Ludovic Apvrille's avatar Ludovic Apvrille
Browse files

Adding code generation facility

parent 9c72ec06
No related branches found
No related tags found
No related merge requests found
Directory used to store the C code generated from DIPLODOCUS mapping diagrams
\ No newline at end of file
% The Platform Extension Construct (PEC) for Embb
% Will need to write a small parser in Java as part of TTool/DIPLODOCUS for this
% Declare the (platform) Embb units and associate them to the DIPLODOCUS units of a platform diagram
CPU FEP_PSS, ADAIF_PSS, MAPPER_PSS, INTL_PSS;
CPU FEP_UC, ADAIF_UC, MAPPER_UC, INTL_UC;
CPU MAIN_CPU;
DMA FEP_DMA, ADAIF_DMA, MAPPER_DMA, INTL_DMA;
MEMORY FEP_MSS, ADAIF_MSS, MAPPER_MSS, INTL_MSS;
MEMORY MAIN_MEMORY;
% So far there is no need to declare other units...
% Declare available operations and declare who executes what
% The reason why declaring operations here is because for a given unit (e.g., DSP), an operation is performed by setting different values into control registers wit the same function calls
% Keep the declaration of operations separated from the declaration of execution as different units may execute the same operation
Operation FFT, CWL, CWP, CWA, CWM, CWS, MOV;
FEP_PSS executes FFT, CWL, CWP, CWA, CWM, CWS, MOV;
Operation SEND, RECEIVE;
ADAIF_PSS executes SEND, RECEIVE;
Operation MAP, UNMAP;
MAPPER_PSS executes MAP, UNMAP;
Operation INTERLEAVE, DEINTERLEAVE;
INTL_PSS executes INTERLEAVE, DEINTERLEAVE;
Operation DMA_TRANSFER;
FEP_DMA executes DMA_TRANSFER;
ADAIF_DMA executes DMA_TRANSFER;
MAPPER_DMA executes DMA_TRANSFER;
INTL_DMA executes DMA_TRANSFER;
% Now it is time to add the path of the library of code snippets that are associated to the target platform's units
%#include /home/andrea/TURTLE/pec/intl.lib for INTL_PSS
%#include /home/andrea/TURTLE/pec/ada.lib for ADAIF_PSS
%#include /home/andrea/TURTLE/pec/fep.lib for FEP_PSS
%#include /home/andrea/TURTLE/pec/mapper.lib for MAPPER_PSS
% Declare the data types that are used to program the target platform, this includes common data types (e.g., int,
% float, uint64_t) but also custom data types used for specific data structures (e.g., FEP_CONTEXT). The purpose of this
% declaration is simply to state the valid data types
#typeinclude uint64_t, FEP_CONTEXT;
This directory contains the Platform Extension Constructs used to pilot the DIPLDOCUS Mapping Diagram to C Code generation
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment