1 - Component Implementation

Component Implementation

Component Documentation

1.1 - ArchGlbPrm Review


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 7.020-Apr-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR999A_ArchGlbPrm_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. 1.3.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Avinash James
Change Request ID:


EA4#10351





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































MDD


YesSource Code


YesPolySpace









































Integration Manual


Davinci Files








































































Comments:

New constants added



























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request. (Note: If this peer review form was not
completed for pervious versions of this component, the Change Owner should review the entire component and complete the checklist in its entirety prior and check
the form into Syngery. This may be done prior to reviewing the modifications for this Change Result)
- The Change Owner shall responsible for completing the entire checklist (Pre and Group review items) prior holding the initial group review.
- New components should include FDD Owner and Intergator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Select "Yes" and add "N/A" to the comments for checklist items that are not applicable for this change
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










Prep project is updated from correct basline








Yes
Comments:










































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Avinash James


Review Date :

03/22/17
































Lead Peer Reviewer:


Kathleen Creager


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Source Code






















Rev 7.020-Apr-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:




kzshz2: Intended Use: Identify which .asm, .c, or .h file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. ArchGlbPrm.h
Source File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 3

























Module Design Document Name:




kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD N/A
MDD Revision:


kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD N/A

























FDD/SCIR/DSR/FDR/CMS Revision:




nz63rn: Intended Use: Identify which version of which FDD/CMS/SER this source file was written against. Rationale: Needed for traceability between source code and FDD/CMS/SER AR999A_ArchGlbPrm_Design v1.3.0




















nz63rn: Intended Use: Identify which version of which FDD/CMS/SER this source file was written against. Rationale: Needed for traceability between source code and FDD/CMS/SER





Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







Yes
Comments:

Reviewed the changes














































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































All source code changes have Requirements Tracability








N/A
Comments:









tags in the component





































No Variables are declared at the Module level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































No Compiler Errors or Warnings verified


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Is component.h included








N/A
Comments:
























Are all includes actually needed? System includes








Yes
Comments:









only allowed in Nexteer library components





































Software Design and Coding Standards followed:











Version:2.1

























Code comments are clear, correct, and adequate







Yes
Comments:










and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:










standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







N/A
Comments:










contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code, function parameters







N/A
Comments:










to





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































No possibility of a non-terminating loop: [N63]







N/A
Comments:

















































No possibility of divide by zero: [N65]







N/A
Comments:

















































All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































No possibility of converting a negative floating







N/A
Comments:










point value to an unsigned type: [N67]





































All conversions between signed and unsigned







N/A
Comments:










types handle msb==1 as intended: [N78]





































No possibility of dereferencing a null







N/A
Comments:










pointer: [N70]





































Module outputs are limited to the legal range







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







N/A
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































No violations of other coding standard rules








Yes
Comments:









identified during review





































Incorrect items that require FDD changes








N/A
Comments:









ie (display variables used incorrectly, limiting on outputs,













NvM struct types, divide by zero, other?)
















































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Avinash James


Review Date :

03/22/17
































Lead Peer Reviewer:


Kathleen Creager


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 4: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


ArchGlbPrm.h











Source File Revision:


3

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.01.00














Poly Space version:


Windows User: eg. 2013b 2013B
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 NA

QAC version:


Windows User: eg 8.1.1-R 8.1.1-R
QAC sub project version:




Windows User: eg. TL_100A_1.1.0 1.2.0


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline





























Are previously added justification and deviation








Yes
Comments:





comments still appropriate






































Do all MISRA deviation comments use approved








Yes
Comments:





deviation tags






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:







































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Avinash James


Review Date :

03/22/17
































Lead Peer Reviewer:


Kathleen Creager


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































2 - Component Implementation

Component Implementation

Component Documentation

2.1 - ArCplrSuprt Peer Review Checklists


Overview

Summary Sheet
Synergy Project
Source Code


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR201A_ArCplrSuprt_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR201A_ArCplrSuprt_Impl_1.1.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Lucas Wendling
Work CR ID:


EA4#3184





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


YesSource Code


N/APolySpace









































N/AIntegration Manual


N/ADavinci Files








































































Comments:

This component is mostly-unmodified files delivered by third parties. Peer review focus is to ensure correctness






to delivered software and reviews of any Nexteer modifications.



















































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include FDD Owner and Integrator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








N/A
Comments:










































Project contains the correct version of subprojects








N/A
Comments:










































Design subproject is correct version








N/A
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Lucas Wendling


Review Date :

01/12/16
































Lead Peer Reviewer:


Kathleen Creager


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


N/A

Source File Revision:


N/A
Header File Name:


Compiler.h, Platform_Types.h

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 2, 2

























MDD Name:

N/A

Revision:
N/A

























FDD/SCIR/DSR/FDR/CM Name:




N/A

Revision:
N/A


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







N/A
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


N/A
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








N/A
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








N/A
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





N/A
Comments:
















































Component.h is included








N/A
Comments:
























All other includes are actually needed. (System includes








N/A
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version:

























Code comments are clear, correct, and adequate







N/A
Comments:










and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







N/A
Comments:










standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







N/A
Comments:










contain correct information: [N43]





































Code formatting (indentation, placement of







N/A
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































All loops have termination conditions that ensure







N/A
Comments:










finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:










if needed: [N65]





































All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsiged conversions ensure the.







N/A
Comments:










float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:










types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







N/A
Comments:










null pointer if needed: [N70]





































Component outputs are limited to the legal range







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







N/A
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








N/A
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:
















































Review only delivered file from vector SIP vs files to be checked in as well as new contract file "Renesas_Compiler.h"































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Lucas Wendling


Review Date :

01/12/16
































Lead Peer Reviewer:


Kathleen Creager


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































3 - Component Implementation

Component Implementation

Component Documentation

3.1 - ArSuprt Peer Review Checklists


Overview

Summary Sheet
Synergy Project
3rd Party Files


Sheet 1: Summary Sheet























Rev 1.019-Apr-17
Peer Review Summary Sheet


























Synergy Project Name:



Windows User: Intended Use: Identify which component is being reviewed. This should match the component short name and the middle part of the Synergy project name ArSuprt
Revision / Baseline:


Windows User: Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved. AR200A_ArSuprt_Impl_1.2.0


























Change Owner:



Windows User: Intended Use: Identify the developer who made the change(s) being reviewed Kevin Smith
Work CR ID:


Windows User: Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one) EA3#14829


























3rd party delivery package identifier:







Intended Use: This is a reference to the identifier of the 3rd party delivery package(s) that the component was extracted/created from. Rationale: This will allow easier tracing back to 3rd party deliveries. CBD1700369_D00_Rh850


























Windows User: Identifiy which type of 3rd party component this is so as to provide appropriate review checklist sheets Component Type:





























































































































Windows User: General section for summarizing review comments or review notes. Review Checklist Summary:


















































Comments:


Added Fr_GeneralTypes.h to project




























































Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)





















































Quality Check Items:





































Rationale is required for all answers of No











New baseline version name from Summary Sheet follows








Yes
Comments:





naming convention for 3rd Party Software Components









































Project contains necessary subprojects








N/A
Comments:


















There are no subprojects




























Project contains the correct version of subprojects








N/A
Comments:


















There are no subprojects




























General Notes / Comments:

































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:



























Change Owner:

Kevin Smith


Review Date :

08/26/17

































Lead Peer Reviewer:


Lucas Wendling


Approved by Reviewer(s):



Yes
































Other Reviewer(s):












































































Sheet 3: 3rd Party Files

Peer Review Meeting Log (3rd Party File Review)





















































Quality Check Items:






































Rationale is required for all answers of No










(e.g. component_bswmd.arxml) Component "autosar" folder contains autosar module description file from 3rd party delivery packageN/A
Comments:




































(e.g. component_preo.arxml) Component "autosar" folder contains any relevant preconfiguration files from 3rd party delivery package(s)N/A
Comments:




































If needed as in the case with Renesas MCAL (e.g. MCALcomponent_bswmd_rec.arxml taken from Vector delivery) Component "autosar" folder contains any needed supplemental autosar module description file(s)N/A
Comments:




































Component "doc" folder contains all documentation related to this component from 3rd party delivery packageN/A
Comments:

Besides this checklist, there is no




extra documentation.



























Modifications from delivery to be reviewed (e.g. path changes) Component "generate" folder contains all external generation files from 3rd party delivery packageN/A
Comments:




































Component "include" and "src" folder contains exact component files from 3rd party delivery packageYes
Comments:




































Component "make" folder contains any makefiles included from 3rd party delivery packageN/A
Comments:




































1) All source and headers of component should be referenced in .gpj 2) Compiler settings may need to be tailored to source component (e.g. Renesas MCAL vs Vector BSWs) Component "tools" folder contains GHS project file with appropriate files referenced with appropriate compiler settingsYes
Comments:




































Should delete old existing files/directories from integration project and copy new ones into integration project May also contain logic for integrator user interaction if required. (e.g. selection of micro variant on MCAL) Component "tools" folder contains Integrate.bat with appropriate logic in it for integration into projectN/A
Comments:

Not required. Only needed to include




into working projects.



























For external generation and internal behavior definition for use with Vector Davinci tools. Typically only desired/needed for non-Vector developed components. This file should be copied as part of Integrate.bat. Components optionally contains settings xml file with appropriate contentsN/A
Comments:




































General Notes / Comments:





























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:



























Change Owner:

Kevin Smith


Review Date :

08/26/17

































Lead Peer Reviewer:


Lucas Wendling


Approved by Reviewer(s):



Yes
































Other Reviewer(s):











































































4 - Component Implementation

Component Implementation

Component Documentation

4.1 - ImcArbn_IntegrationManual

Integration Manual

For

Imc Arbitration

VERSION: 1.0

DATE: 02-Feb-2017

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionAkilan Rathakrishnan1.017-Jan-2017
2Added note about potential compilation issue in case of no signal group configuredAkilan Rathakrishnan2.002-Feb-2017

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 8

5 Integration DATAFLOW REQUIREMENTS 9

5.1 Required Global Data Inputs 9

5.2 Required Global Data Outputs 9

5.3 Specific Include Path present 9

6 Runnable Scheduling 10

7 Memory Map REQUIREMENTS 12

7.1 Mapping 12

7.2 Usage 12

7.3 Non RTE NvM Blocks 12

7.4 RTE NvM Blocks 12

8 Compiler Settings 13

8.1 Preprocessor MACRO 13

8.2 Optimization Settings 13

9 Appendix 14

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
<1><FDD - <AR350A_ImcArbn_Design>Refer Synergy subproject version

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

ImcArbn_Private_Cfg.c

ImcArbn_Private_Cfg.h

ImcArbn_ Cfg.h

Note 1: Include “ImcArbn_Private_Cfg.h” in the “Rte_UserTypes.h” file as user defined typedefs are generated in this file.

Note 2: Configuration files “ImcArbn_Private_Cfg.c”, “ImcArbn_Private_Cfg.h” and “ImcArbn_ Cfg.h”

shall be regenerated whenever there is a change in text template files ImcArbn_Private_Cfg.c.tt, ImcArbn_Private_Cfg.h.tt and ImcArbn_Cfg.c.tt.

Note 3: If there is no IMC Signal Group / IMC Signals are configured, configuration scripts of this component will end-up in generating zero-size array typedefs, which will cause compilation issues. It is a design limitation and underlying assumption is that if no Signal Group configured, then the component shall be removed from the project altogether.

Da Vinci DEVELOPER NOTES

Davinci Developer project for this component is just base. Integrator need to import the developer project into the integration project and add all required IMC Signals in order to access the signal using S/R Ports. Also, for every of the signal, based on the Rate Group provided by higher level Architectural and Requirement documents, port access shall be provided to corresponding Transmit periodics (ImcArbnPer1= 2ms, ImcArbnPer2= 10ms and ImcArbnPer3= 100ms). All IMC Signals RTE reads shall be direct reads.

Da Vinci Parameter Configuration Changes

Following configurations shall be made in DaVinci configurator for the component. Configuration data for this component shall be provided by higher level Architectural and Requirement documents.

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Exclusive Areas

ConstantNotesSWC
ExclsvAr1DrvrTxRxBuf

Exclusive area needs to protect access to Transmit and Receive buffers from asynchronous updates by server runnables and periodic updates by tasks.

Integrator needs to verify if client calls to server runnables can inteerupt periodics and set up exclusive area to properly protect access. If exclusive area is needed, at minimum it must disable OS Task scheduling (It is assumed that all clients call occurs in OS Tasks).

ExclsvAr2SigDataBuf

Exclusive area needs to protect access to Signal data buffers from asynchronous read by server runnables and periodic updates by tasks.

Integrator needs to verify if client calls to server runnables can inteerupt periodics and set up exclusive area to properly protect access. If exclusive area is needed, at minimum it must disable OS Task scheduling (It is assumed that all clients call occurs in OS Tasks).

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer AR350A_ImcArbn_DataDict.m file

Required Global Data Outputs

Refer AR350A_ImcArbn_DataDict.m file

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
ImcArbnInit1Invoked by RTE during InitRTE
RunnableScheduling RequirementsTrigger
ImcArbnPer1Refer Notes listed below the tableRTE 2ms Task
ImcArbnPer2Refer Notes listed below the tableRTE 10ms Taks
ImcArbnPer3Refer Notes listed below the tableRTE 100ms Task
ImcArbnPer4Refer Notes listed below the tableRTE 2ms Task
ImcArbnPer5Refer Notes listed below the tableRTE 10ms Task
ImcArbnPer6Refer Notes listed below the tableRTE 100ms Task
GetSigImcDataExtdSts_f32_OperServer RunnableClient call
GetSigImcDataExtdSts_u32_OperServer RunnableClient call
GetSigImcDataExtdSts_s32_OperServer RunnableClient call
GetSigImcDataExtdSts_u16_OperServer RunnableClient call
GetSigImcDataExtdSts_s16_OperServer RunnableClient call
GetSigImcDataExtdSts_u08_OperServer RunnableClient call
GetSigImcDataExtdSts_s08_OperServer RunnableClient call
GetSigImcDataExtdSts_logl_OperServer RunnableClient call
GetSigImcData_f32_OperServer RunnableClient call
GetSigImcData_u32_OperServer RunnableClient call
GetSigImcData_s32_OperServer RunnableClient call
GetSigImcData_u16_OperServer RunnableClient call
GetSigImcData_s16_OperServer RunnableClient call
GetSigImcData_u08_OperServer RunnableClient call
GetSigImcData_s08_OperServer RunnableClient call
GetSigImcData_logl_OperServer RunnableClient call
GetTxRateGroup_OperServer RunnableClient call
GetTxSigGroup_OperServer RunnableClient call
SetRxSigGroup_OperServer RunnableClient call

Notes:

  1. ImcArbnPer1, ImcArbnPer2 and ImcArbnPer3 periodic functions shall be called prior to calling respective primary and secondary signal source transmit layer functions.

  2. ImcArbnPer4, ImcArbnPer5 and ImcArbnPer6 periodic functions shall be called after calling respective primary and secondary signal source receive layer functions.

  3. ImcArbn Receive periodic functions (ImcArbnPer4, ImcArbnPer5 and ImcArbnPer6) shall run prior to the ImcArbn Transmit periodics (ImcArbnPer1, ImcArbnPer2 and ImcArbnPer3) functions.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

<This section is for appendix>

4.2 - ImcArbn_MDD

Module Design Document

For

Imc Arbitration

Nov 07, 2017

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USAChange History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionAkilan Rathakrishnan1.017-Jan-2017
2Anomaly fix EA4#10556 - Remove bit mask functionJayakrishnan T2.019-Mar-2017
3Updated local function paramtersAvinash James3.007-Nov-2017

Table of Contents

1 ImcArbn High-Level Description 7

2 Design details of software module 8

Graphical representation of ImcArbn 8

2.1.1 Data Flow Diagram 8

2.1.2 Component level DFD 9

2.1.3 Function level DFD 9

3 Variable Data Dictionary 10

3.1 User defined typedef definition/declaration 10

3.2 Variable definition for enumerated types 12

4 Constant Data Dictionary 13

Program (fixed) Constants 13

4.1.1 Embedded Constants 13

4.1.1.2 Global 13

4.1.2 Module specific Lookup Tables Constants 13

5 Software Module Implementation 14

5.1 Sub-Module Functions 14

5.1.1 Init: ImcArbnInit1 14

5.1.1.1 Design Rationale 14

5.1.1.2 Design Rationale 14

5.1.2 PERIODIC FUNCTIONS 14

5.1.3 Per: ImcArbnPer1 14

5.1.3.1 Design Rationale 14

5.1.4 Per: ImcArbnPer2 14

5.1.4.1 Design Rationale 14

5.1.5 Per: ImcArbnPer3 14

5.1.5.1 Design Rationale 14

5.1.6 Per: ImcArbnPer4 14

5.1.6.1 Design Rationale 14

5.1.7 Per: ImcArbnPer5 14

5.1.7.1 Design Rationale 14

5.1.8 Per: ImcArbnPer6 14

5.1.8.1 Design Rationale 14

5.1.9 Interrupt Functions 14

5.2 Server Runnable Functions 15

5.2.1 GetSigImcDataExtdSts_f32 15

5.2.1.1 Design Rationale 15

5.2.2 GetSigImcDataExtdSts_u32 15

5.2.2.1 Design Rationale 15

5.2.3 GetSigImcDataExtdSts_u16 15

5.2.3.1 Design Rationale 15

5.2.4 GetSigImcDataExtdSts_s16 15

5.2.4.1 Design Rationale 15

5.2.5 GetSigImcDataExtdSts_u08 15

5.2.5.1 Design Rationale 15

5.2.6 GetSigImcDataExtdSts_s08 15

5.2.6.1 Design Rationale 15

5.2.7 GetSigImcDataExtdSts_logl 15

5.2.7.1 Design Rationale 15

5.2.8 GetSigImcData_f32 15

5.2.8.1 Design Rationale 15

5.2.9 GetSigImcData_u32 15

5.2.9.1 Design Rationale 15

5.2.10 GetSigImcData_s32 15

5.2.10.1 Design Rationale 15

5.2.11 GetSigImcData_u16 16

5.2.11.1 Design Rationale 16

5.2.12 GetSigImcData_s16 16

5.2.12.1 Design Rationale 16

5.2.13 GetSigImcData_u08 16

5.2.13.1 Design Rationale 16

5.2.14 GetSigImcData_s08 16

5.2.14.1 Design Rationale 16

5.2.15 GetSigImcData_logl 16

5.2.15.1 Design Rationale 16

5.2.16 GetTxRateGroup 16

5.2.16.1 Design Rationale 16

5.2.17 GetTxSigGroup 16

5.2.17.1 Design Rationale 16

5.2.18 SetRxSigGroup 16

5.2.18.1 Design Rationale 16

5.3 Module Internal (Local) Functions 16

5.3.1 Local Function #1 16

5.3.1.1 Description 17

5.3.2 Local Function #2 17

5.3.2.1 Description 17

5.3.3 Local Function #3 17

5.3.3.1 Description 17

5.3.4 Local Function #4 17

5.3.4.1 Description 17

5.3.5 Local Function #5 17

5.3.5.1 Description 18

5.3.6 Local Function #6 18

5.3.6.1 Description 18

5.3.7 Local Function #7 18

5.3.7.1 Description 18

5.3.8 Local Function #8 18

5.3.8.1 Description 18

5.3.9 Local Function #9 19

5.3.9.1 Description 19

5.3.10 Local Function #10 19

5.3.10.1 Description 19

5.3.11 Local Function #11 19

5.3.11.1 Description 19

5.3.12 Local Function #12 19

5.3.12.1 Description 20

5.3.13 Local Function #13 20

5.3.13.1 Description 20

5.3.14 Local Function #14 20

5.3.14.1 Description 20

5.3.15 Local Function #15 20

5.3.15.1 Description 20

5.3.16 Local Function #16 20

5.3.16.1 Description 20

5.3.17 Transition Functions 20

5.3.18 Global Function/Macro Definitions 21

6 Known Limitations with Design 22

7 UNIT TEST CONSIDERATION 23

Appendix A Abbreviations and Acronyms 24

Appendix B Glossary 25

Appendix C References 26

ImcArbn High-Level Description

The Inter-Micro Communication (IMC) Arbitration prepares data for transmission to a complimentary ECU through two redundant communication paths. On the receive side, the Arbitration reads data from the primary source and determines the data validity. A validity fault on primary source prompts the IMC Arbitration component to evaluate the same signal from the secondary source. Faulty signals from the primary source will be replaced with signals from the secondary source, as long as they are valid. If both data sources are invalid the IMC Arbitration outputs the signal status based on never received, missing and invalid conditions.

Design details of software module

See FDD.

Graphical representation of ImcArbn

Data Flow Diagram

See FDD.

Component level DFD

See FDD.

Function level DFD

See FDD.

Variable Data Dictionary

User defined typedef definition/declaration

<This section documents any user types uniquely used for the module.>

Variable definition for enumerated types

Enum NameElement NameValue
See AR350A_ImcArbn_DataDict.m file

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
See AR350A_ImcArbn_DataDict.m file
SETNODETSIGID_CNT_U161Cnt((uint16)0xFFFFU)

Global

<This section lists the global constants used by the module. For details on global constants, refer to the Data Dictionary for the application>

Constant Name
See AR350A_ImcArbn_DataDict.m file

Module specific Lookup Tables Constants

<(This is for lookup tables (arrays) with fixed values, same name as other tables)>

Constant NametypeValueSoftware Segment
SIGGROUPCONFIG_RECSigGroupRec1ConfigurableImcArbn_CONST
<SIGGROUPNAME>_RECSigPrmRec1ConfigurableImcArbn_CONST
RATEGROUPOFFS_CNT_U08Uint8ConfigurableImcArbn_CONST
NRSIGGROUPINRATEGROUP_CNT_U08Uint8ConfigurableImcArbn_CONST
MISSSIGGROUPTIOUT_CNT_U08Uint8ConfigurableImcArbn_CONST

Note: <SIGGROUPNAME>_REC – Placeholder <SIGGROUPNAME> will be replaced based on respective Signal Group names from the configuration. Also note, this component will have as many number of <SIGGROUPNAME>_REC constants as number of Signal Groups.

Software Module Implementation

Sub-Module Functions

None

Init: ImcArbnInit1

Design Rationale

Design follows implementation in FDD.

Design Rationale

Refer FDD

PERIODIC FUNCTIONS

Per: ImcArbnPer1

Design Rationale

Refer FDD

Per: ImcArbnPer2

Design Rationale

Refer FDD

Per: ImcArbnPer3

Design Rationale

Refer FDD

Per: ImcArbnPer4

Design Rationale

Refer FDD

Per: ImcArbnPer5

Design Rationale

Refer FDD

Per: ImcArbnPer6

Design Rationale

Refer FDD

Interrupt Functions

None

Server Runnable Functions

GetSigImcDataExtdSts_f32

Design Rationale

Refer FDD

GetSigImcDataExtdSts_u32

Design Rationale

Refer FDD

GetSigImcDataExtdSts_u16

Design Rationale

Refer FDD

GetSigImcDataExtdSts_s16

Design Rationale

Refer FDD

GetSigImcDataExtdSts_u08

Design Rationale

Refer FDD

GetSigImcDataExtdSts_s08

Design Rationale

Refer FDD

GetSigImcDataExtdSts_logl

Design Rationale

Refer FDD

GetSigImcData_f32

Design Rationale

Refer FDD

GetSigImcData_u32

Design Rationale

Refer FDD

GetSigImcData_s32

Design Rationale

Refer FDD

GetSigImcData_u16

Design Rationale

Refer FDD

GetSigImcData_s16

Design Rationale

Refer FDD

GetSigImcData_u08

Design Rationale

Refer FDD

GetSigImcData_s08

Design Rationale

Refer FDD

GetSigImcData_logl

Design Rationale

Refer FDD

GetTxRateGroup

Design Rationale

Refer FDD

GetTxSigGroup

Design Rationale

Refer FDD

SetRxSigGroup

Design Rationale

Refer FDD

Module Internal (Local) Functions

Local Function #1

Function NameImcArbnTxTypeMinMax
Arguments PassedRateGroup_Cnt_T_u08Uint802
Return ValuevoidN/AN/AN/A

Description

This function implements “ImcArbnTx” function in the FDD.

Local Function #2

Function NameImcArbnRxTypeMinMax
Arguments PassedFrmFltCntr_Ary2D_u8Ary2D_u8_2_20x000xFF
RateGroup_Cnt_T_u08uint802
IniTiOutChkCmpl_Cnt_T_loglBoolean01
Return ValueNoneN/AN/AN/A

Description

This function implements “ImcArbnRx” function in the FDD.

Design Rationale

FrmSts_Cnt_T_enum initialization at the start of for loop is removed as it’s a redundant assignment and Polyspace is flagging it as a defect. The design may be updated in the next revision for the same.

Local Function #3

Function NameNoDataHndlgTypeMinMax
Arguments PassedRxSigExtdSts1_Cnt_T_enumImcArbnRxExtdSts106
RxDataSrc_Cnt_T_enumImcArbnRxDataSrc102
RateGroup_Cnt_T_u08uint802
SigGroup_Cnt_T_u08uint80255
PrimSrcNoDataRxd_Cnt_T_loglboolean01
SecdrySrcNoDataRxd_Cnt_T_loglboolean01
Return ValueNoneN/AN/AN/A

Description

This function implements “NoDataHndlg” function in the FDD.

Local Function #4

Function NameOvrdSigStsDurgStrtUpTypeMinMax
Arguments PassedSigGroup_Cnt_T_u08uint80255
IniTiOutChkCmpl_Cnt_T_loglBoolean01
Return ValueNoneN/AN/AN/A

Description

This function implements “OvrdSigStsDurgStrtUp” function in the FDD.

Local Function #5

Function NameEvlSigGroupNeverRxdMissStsTypeMinMax
Arguments PassedRateGroup_Cnt_T_u08uint802
SigGroup_Cnt_T_u08uint80255
Return ValueRxSigExtdSts1_Cnt_T_enumImcArbnRxExtdSts106

Description

This function implements “OvrdSigStsDurgStrtUp” function in the FDD.

Local Function #6

Function NameRxFrmVldChkTypeMinMax
Arguments PassedDataBuf_Cnt_T_u08uint8*0x000000010xFFFFFFFF
FrmFltCntr_Cnt_T_u08u8*0x000000010xFFFFFFFF
SigGroupDataSrc_Cnt_T_enumImcArbnRxDataSrc102
RateGroup_Cnt_T_u08uint802
SigGroup_Cnt_T_u08Uint80255
PrimSrcOnlySigGroup_Cnt_T_loglBoolean01
IniTiOutChkCmpl_Cnt_T_loglBoolean01
Return ValueFrmSts_Cnt_T_enumImcArbnRxRollgCntrSts102

Description

This function implements “RxFrmVldChk” function in the FDD.

Local Function #7

Function NameImcChResyncHndlgTypeMinMax
Arguments PassedSigGroupDataSrc_Cnt_T_enumImcArbnRxDataSrc102
SigGroup_Cnt_T_u08Uint80255
PrsntRollgCntr_Cnt_T_u08Uint8031
Return ValueVoidNANANA

Description

This function implements “ImcChResyncHndlg” function in the FDD.

Local Function #8

Function NameVldtRollgCntrTypeMinMax
Arguments PassedSigGroupDataSrc_Cnt_T_enumImcArbnRxDataSrc102
RateGroup_Cnt_T_u08Uint802
SigGroup_Cnt_T_u08Uint80255
PrsntRollgCntr_Cnt_T_u08Uint8031
Return ValueRollgCntrSts_Cnt_T_enumImcArbnRxRollgCntrSts102

Description

This function implements “VldtRollgCntr” function in the FDD.

Local Function #9

Function NameVldtRollgCntrAlgTypeMinMax
Arguments PassedSigGroupDataSrc_Cnt_T_enumImcArbnRxDataSrc102
RateGroup_Cnt_T_u08Uint802
SigGroup_Cnt_T_u08Uint80255
PrsntRollgCntr_Cnt_T_u08Uint8031
Return ValueRollgCntrSts_Cnt_T_enumImcArbnRxRollgCntrSts102

Description

This function implements “VldtRollgCntrAlg” function in the FDD.

Local Function #10

Function NameRollgCntrSeqChkTypeMinMax
Arguments PassedPrsntRollgCntr_Cnt_T_u08Uint8031
AntcptdRollCntr_Cnt_T_u08Uint8031
UpprDriftLim_Cnt_T_u08Uint80255
LwrDriftLim_Cnt_T_u08Uint80255
Return ValueRollgCntrVld_Cnt_T_loglboolean01

Description

This function implements “RollgCntrSeqChk” function in the FDD.

Local Function #11

Function NameCreatSigGroupDataTypeMinMax
Arguments PassedSigGroup_T_recSigGroupRec1 const*0x000000010xFFFFFFFF
Return ValueRetData_Uls_T_u32uint3204294967295

Description

This function implements “CreatSigGroupData” function in the FDD.

Local Function #12

Function NameDecodSigGroupDataTypeMinMax
Arguments PassedSigGroup_T_recSigGroupRec1 const*0x000000010xFFFFFFFF
SigGroupRxData_Uls_T_u32uint3204294967295
RxSigExtdSts1_Cnt_T_enumImcArbnRxExtdSts106
RxDataSrc_Cnt_T_enumImcArbnRxDataSrc102
Return Valuevoid

Description

This function implements “DecodSigGroupData” function in the FDD.

Local Function #13

Function NameGetImcSigStsTypeMinMax
Arguments PassedRxSigExtdSts1_Cnt_T_enumImcArbnRxExtdSts106
Return ValueRetSts_Cnt_T_enumImcArbnRxSts102

Description

This function implements “GetImcSigSts” function in the FDD.

Local Function #14

Function NameGetImcFltParamByteTypeMinMax
Arguments Passedvoid
Return ValueFltBitMask_Cnt_T_u08Uint8015

Description

This function implements “GetImcFltParamByte” function in the FDD.

Local Function #15

Function NameNoDataRxdTypeMinMax
Arguments PassedStrtByte_Cnt_T_u08Uint80255
EndByte_Cnt_T_u08Uint80255
Return ValueRetVal_Cnt_T_loglboolean01

Description

This function implements “NoDataRxd” function in the FDD.

Transition Functions

None.

Global Function/Macro Definitions

Refer FDD

Known Limitations with Design

None

UNIT TEST CONSIDERATION

  1. Number of Signals / Signal Groups / Rate Groups that can be supported by Imc Tx/Rx is configurable. Even though underlying data type of configuration information might have wider range, only values that are generated out of configuration will be supported by the component. If complete range need to be supported, then make configuration, and generate the cfg files accordingly. Also, none of the configuration values shall be hand-modified to cover legal range of underlying parameter.

Abbreviations and Acronyms

Abbreviation or AcronymDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc2.0
4Software Design and Coding Standards.doc2.1
5FDD: AR350A_ImcArbn_DesignSee Synergy subproject version

4.3 - ImcArbn_Review


Overview

Summary Sheet
Synergy Project
Source Code
MDD
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR350A_ImcArbn_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR350A_ImcArbn_Impl_1.3.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Avinash James
Work CR ID:


EA4#17164





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


N/ADavinci Files








































































Comments:






























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include FDD Owner and Integrator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

11/08/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Gustavo Nunes






































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


ImcArbn.c

Source File Revision:


4
Header File Name:


ImcArbn.h

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 1

























MDD Name:

ImcArbn_MDD.doc

Revision:
3

























FDD/SCIR/DSR/FDR/CM Name:




AR350A_ImcArbn_Design

Revision:
1.5.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







Yes
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







Yes
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





No
Comments:






















Refer Comments
























Component.h is included








Yes
Comments:
























All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:










and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:










standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:










contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































All loops have termination conditions that ensure







N/A
Comments:










finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:










if needed: [N65]





































All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsiged conversions ensure the.







N/A
Comments:










float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:










types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







Yes
Comments:










null pointer if needed: [N70]





































Component outputs are limited to the legal range







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:
















































Reviewed only for changes

compilation warning is 'OK' after review.Cast of a uint32 pointer to a float32 pointer  is allowed for the purpose of efficient memory copying.


















LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

11/08/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Gustavo Nunes






































































Sheet 4: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:






ImcArbn_MDD.doc








MDD Revision:

3


























Source File Name:





ImcArbn.c








Source File Revision:


4

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Unit Tester)








Yes
Comments:













































Diagrams have been included per MDD Guideline








Yes
Comments:











and reviewed






































All Design Exceptions and Limitations are listed








Yes
Comments:



















































Design rationale given for all global








N/A
Comments:











data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].















































All implementation details that differ from the FDD are








Yes
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








Yes
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

11/08/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Gustavo Nunes






































































Sheet 5: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:






ImcArbn.c







Source File Revision:


4

Source File Name:






ImcArbn_Private_Cfg.c







Source File Revision:


3

Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:








1.3.0













Poly Space version:


Windows User: eg. 2013b R2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 Not released


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline





























Are previously added justification and deviation








Yes
Comments:





comments still appropriate






































Do all MISRA deviation comments use approved








Yes
Comments:





deviation tags






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:























1. MISRA Rule 21.1 analyzed and found not an issue

2. Data flow issues in polyspace are analyzed and found not an issue

12.12 : Cast of a uint32 pointer to a float32 pointer  is allowed for the purpose of efficient memory copying.


















































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

11/08/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Gustavo Nunes





































































5.1 - MicroCtrlrSuprt Integration Manual

Integration Manual

For

MicroCtrlrSuprt

VERSION: 1

DATE: 07/19/17

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionLucas Wendling107/19/17

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 Non RTE NvM Blocks 10

7.4 RTE NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion

Dependencies

This component is dependant on the v800_ghs.h compiler header file for definition of some compiler intrinsic functions.

SWCs

ModuleRequired Feature

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

This component provides the following inline functions in NxtrMcuSuprtLib.h for use as needed in components and integration project. Note that the exact API for usage can be found in the header file.

For P1M devices:

Function NameDescription
WrProtdRegPortJ_u32Protected Register write sequence for 32bit PortJ peripheral registers
WrProtdRegPort0_u32Protected Register write sequence for 32bit Port0 peripheral registers
WrProtdRegPort1_u32Protected Register write sequence for 32bit Port1 peripheral registers
WrProtdRegPort2_u32Protected Register write sequence for 32bit Port2 peripheral registers
WrProtdRegPort3_u32Protected Register write sequence for 32bit Port3 peripheral registers
WrProtdRegPort4_u32Protected Register write sequence for 32bit Port4 peripheral registers
WrProtdRegPort5_u32Protected Register write sequence for 32bit Port5 peripheral registers
WrProtdRegSys_u08Protected Register write sequence for 8bit Sys peripheral registers
WrProtdRegSys_u32Protected Register write sequence for 32bit Sys peripheral registers
WrProtdRegSysClmac_u32Protected Register write sequence for 32bit Clmac peripheral registers
WrProtdRegClma0_u08Protected Register write sequence for 8bit Clma0 peripheral registers
WrProtdRegClma1_u08Protected Register write sequence for 8bit Clma1 peripheral registers
WrProtdRegClma2_u08Protected Register write sequence for 8bit Clma2 peripheral registers
WrProtdRegClma3_u08Protected Register write sequence for 8bit Clma3 peripheral registers
WrProtdRegEcmm_u08Protected Register write sequence for 8bit Ecmm peripheral registers
WrProtdRegEcmc_u08Protected Register write sequence for 8bit Ecmc peripheral registers
WrProtdRegEcm_u08Protected Register write sequence for 8bit Ecm peripheral registers
WrProtdRegEcm_u16Protected Register write sequence for 16bit Ecm peripheral registers
WrProtdRegEcm_u32Protected Register write sequence for 32bit Ecm peripheral registers
WrProtdRegFlmd_u32Protected Register write sequence for 32bit Flmd peripheral registers
NxtrSwRstAPI to issue a Nexteer Defined Software Reset
NxtrSwRstFromExcpnAPI to issue a Nexteer Defined Software Reset for resetting from a hardware exception source

For P1XC devices:

Function NameDescription
WrProtdRegEcmm0_u32Protected Register write sequence for 32bit Ecmm0 peripheral registers
WrProtdRegEcmc0_u32Protected Register write sequence for 32bit Ecmc0 peripheral registers
WrProtdRegEcm0_u32Protected Register write sequence for 32bit Ecm0 peripheral registers
WrProtdRegFlmd_u32Protected Register write sequence for 32bit Flmd peripheral registers
NxtrSwRstAPI to issue a Nexteer Defined Software Reset
NxtrSwRstFromExcpnAPI to issue a Nexteer Defined Software Reset for resetting from a hardware exception source

Configuration REQUIREMeNTS

None

Build Time Config

ModulesNotes

Configuration Files to be provided by Integration Project

N/A

Da Vinci Parameter Configuration Changes

ParameterNotesSWC

DaVinci Interrupt Configuration Changes

ISR NameNotes

Manual Configuration Changes

ConstantNotesSWC

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Required Global Data Outputs

Specific Include Path present

Yes – Integrator must properly choose the correct include search path in this component in the integration .gpj file. The path chosen must align with the correct micro family (e.g. P1M vs P1MC) as well as the correct specific micro derivative that is being used in the integration project (e.g. R7F701373A). Additionally, the integration .gpj should only include the correct subproject .gpj file (again aligning to the correct micro family as well as correct micro derivative). Please note that two include paths are required in the integration project for use of this component, one to the base family being used (e.g. “-I..\..\AR202A_MicroCtrlrSuprt_Impl\include\P1XC\”) and one to the exact micro derivative (e.g. “-I..\..\AR202A_MicroCtrlrSuprt_Impl\include\P1XC\R7F701373A\”).

Runnable Scheduling

None.

InitScheduling RequirementsTrigger
RunnableScheduling RequirementsTrigger

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM

NvM Blocks

Compiler Settings

Preprocessor MACRO

Optimization Settings

Appendix

<This section is for appendix>

5.2 - MicroCtrlrSuprt Module Design Document

Module Design Document

For

MicroCtrlrSuprt

7/19/17

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionLucas Wendling17/19/17


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of NxtrOsErrHndlg (Expected External Intefaces) 7

3.2 Data Flow Diagram 7

3.2.1 Component level DFD 7

3.2.2 Function level DFD 7

4 Constant Data Dictionary 8

4.1 Program (fixed) Constants 8

4.1.1 Embedded Constants 8

5 Software Component Implementation 9

5.1 Sub-Module Functions 9

5.1.1 Init: 9

5.1.2 Per: 9

5.2 Server Runables 9

5.2.1 NxtrOsErrHndlg 9

5.2.1.1 Design Rationale 9

5.2.1.2 Processing 9

5.3 Interrupt Functions 13

5.4 Module Internal (Local) Functions 13

5.4.1 Local Function #1 13

5.4.1.1 Design Rationale 13

5.4.1.2 Processing 13

5.5 GLOBAL Function/Macro Definitions 13

5.5.1 GLOBAL Function #1 13

5.5.1.1 Design Rationale 13

5.5.1.2 Processing 13

6 Known Limitations with Design 14

7 UNIT TEST CONSIDERATION 15

Appendix A Abbreviations and Acronyms 16

Appendix B Glossary 17

Appendix C References 18

Introduction

Purpose

This design document will capture the design of the Nexteer Mcu Support Library (NxtrMcuSuprtLib) functionality. This is the only portion of this component that is designed by Nexteer rather than generated by a 3rd party tool.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

High-Level Description

The Nexteer designed portions of this component include the definition of some inline functions for supporting the Renesas microcontroller. These are described in detail in the following sections. Note that this component supports multiple files to support the different microcontroller variants used by Nexteer.

Design details of software module

Graphical representation of Protected Register Write Functions

In general, the design of all protected write functions contained in this module follow the following high-level flow:

Graphical representation of Nexteer Software Reset Function

Graphical representation of Nexteer Software Reset From Exception Function

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
None

Software Component Implementation

Sub-Module Functions

Init:

None

Per:

None

Library/Server Runables

P1M Micro Variants

Protected Write APIs

Function NameWrProtdRegPortJ_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFC24014

0xFFC24018

0xFFC24028

Return ValueN/A (void)
Function NameWrProtdRegPort0_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFC14014

0xFFC14018

0xFFC1403C

0xFFC14028

0xFFC10030

Return ValueN/A (void)
Function NameWrProtdRegPort1_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFC14054

0xFFC14058

0xFFC1407C

0xFFC14068

0xFFC10070

Return ValueN/A (void)
Function NameWrProtdRegPort2_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFC14094

0xFFC14098

0xFFC140BC

0xFFC140A8

0xFFC100B0

Return ValueN/A (void)
Function NameWrProtdRegPort3_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFC140D4

0xFFC140D8

0xFFC140FC

0xFFC140E8

0xFFC100F0

Return ValueN/A (void)
Function NameWrProtdRegPort4_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFC14114

0xFFC14118

0xFFC1413C

0xFFC14128

0xFFC10130

Return ValueN/A (void)
Function NameWrProtdRegPort5_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFC14154

0xFFC14158

0xFFC1417C

0xFFC14168

0xFFC10170

Return ValueN/A (void)
Function NameWrProtdRegSys_u08TypeMinMax
Arguments PassedWrVal_Arguint8FullFull
WrAddr_Argpointer to volatile uint8

Valid values:

0xFFF82838

0xFFF82830

0xFFF8282C

0xFFF8283C

Return ValueN/A (void)
Function NameWrProtdRegSys_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFF82840

Return ValueN/A (void)
Function NameWrProtdRegSysClmac_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFF82C00

0xFFF8AC18

0xFFF89080

0xFFF890C0

0xFFF89200

0xFFF8A440

0xFFF88204

Return ValueN/A (void)
Function NameWrProtdRegClma0_u08TypeMinMax
Arguments PassedWrVal_Arguint8FullFull
WrAddr_Argpointer to volatile uint8

Valid values:

0xFFF88400

Return ValueN/A (void)
Function NameWrProtdRegClma1_u08TypeMinMax
Arguments PassedWrVal_Arguint8FullFull
WrAddr_Argpointer to volatile uint8

Valid values:

0xFFF88420

Return ValueN/A (void)
Function NameWrProtdRegClma2_u08TypeMinMax
Arguments PassedWrVal_Arguint8FullFull
WrAddr_Argpointer to volatile uint8

Valid values:

0xFFF88440

Return ValueN/A (void)
Function NameWrProtdRegClma3_u08TypeMinMax
Arguments PassedWrVal_Arguint8FullFull
WrAddr_Argpointer to volatile uint8

Valid values:

0xFFF88460

Return ValueN/A (void)
Function NameWrProtdRegEcmm_u08TypeMinMax
Arguments PassedWrVal_Arguint8FullFull
WrAddr_Argpointer to volatile uint8

Valid values:

0xFFD60000

0xFFD60004

Return ValueN/A (void)
Function NameWrProtdRegEcmc_u08TypeMinMax
Arguments PassedWrVal_Arguint8FullFull
WrAddr_Argpointer to volatile uint8

Valid values:

0xFFD61000

0xFFD61004

Return ValueN/A (void)
Function NameWrProtdRegEcm_u08TypeMinMax
Arguments PassedWrVal_Arguint8FullFull
WrAddr_Argpointer to volatile uint8

Valid values:

0xFFD62000

0xFFD6203C

Return ValueN/A (void)
Function NameWrProtdRegEcm_u16TypeMinMax
Arguments PassedWrVal_Arguint16FullFull
WrAddr_Argpointer to volatile uint16

Valid values:

0xFFD62044

Return ValueN/A (void)
Function NameWrProtdRegEcm_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFD62004

0xFFD62008

0xFFD6200C

0xFFD62010

0xFFD62014

0xFFD62018

0xFFD6201C

0xFFD62020

0xFFD62024

0xFFD62028

0xFFD62034

0xFFD62038

0xFFD62048

0xFFD6204C

0xFFD62050

0xFFD62054

Return ValueN/A (void)
Function NameWrProtdRegFlmd_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFA00000

Return ValueN/A (void)
Design Rationale

These functions will perform the correct sequence of writes to protected registers. These are designed such that the function attempts the write sequence up to 3 times with increasing levels of interrupt disabling for each attempt (no interrupts disabled->Os interrupts disabled->All interrupts disabled). Since these functions are broken out based on the peripheral register set to be written and width of register write, DET error checking is done to ensure the implementer is using the correct API. A DET error is also set if for some reason the 3 write attempts all fail.

Processing

See source code for implementation.

Nexteer Software Reset

Function NameNxtrSwRstTypeMinMax
Arguments PassedMcuDiagcData0_ArgMcuDiagc1FullFull
McuDiagcData1_Arguint32FullFull
Return ValueN/A (void)
Design Rationale

This function exists to ensure that before calling a reset, the caller is properly indicating what the source of the reset is and that this type of reset is part of the known list of reset causes. Additionally, the second parameter is able to store more information along with the reset. This processing is done in a separate component, but the interface is the “SetMcuDiagcIdnData” API. Additionally, the Renesas SAN indicates that before any software reset, the register containing the reset cause flags shall be cleared. The Mcu_PerformReset() function is then called to perform the actual reset. In the event that there is an issue where this function doesn’t actually perform a reset as expected, a while loop is entered at the end of this function, which could likely lead to a hardware watchdog timeout if this loop is entered.

Processing

See source code for implementation.

Nexteer Software Reset From Exception

Function NameNxtrSwRstFromExcpnTypeMinMax
Arguments PassedMcuDiagcData0_ArgMcuDiagc1FullFull
McuDiagcData1_Arguint32FullFull
Return ValueN/A (void)
Design Rationale

This function exists to ensure that before calling a reset from a hardware exception, the caller is properly indicating what the source of the reset is and that this type of reset is part of the known list of reset causes. This function will clear all ECM status registers prior to issuing a reset to ensure a known state of these registers after the reset. Additionally, the second parameter to this function is used to store more information along with the reset.

In an effort to try to capture useful data relating to the exception, the internal logic of this function will attempt to at least store the register value that contains the program counter of when the exception occurred. In order for this to work, a value of “0x0000000” must be passed to the “McuDiagcData1_Arg” argument in the case of an FE exception, and an value of “0xFFFFFFFF” must be passed to the “McuDiagcData1_Arg” argument in the case of an EI exception. In case of any other values in the “McuDiagcData1_Arg” , this function assumes the caller of this function has already setup data that is desired to be stored in this argument, and therefore leaves it unmodified.

This storage of this reset information is done in a separate component, but the interface is the “SetMcuDiagcIdnData” API.

This function also intentionally attempts to write the error output pin to an “error” state as a redundant mechanisms for putting the system into a safe state in the event that the software reset (which also should drive the system to a safe state) doesn’t properly execute.

Additionally, the Renesas SAN indicates that before any software reset, the register containing the reset cause flags shall be cleared. The Mcu_PerformReset() function is then called to perform the actual reset. In the event that there is an issue where this function doesn’t actually perform a reset as expected, a while loop is entered at the end of this function, which could likely lead to a hardware watchdog timeout if this loop is entered.

Processing

See source code for implementation.

P1XC Micro Variants

Protected Write APIs

Function NameWrProtdRegEcmm0_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFD60000

0xFFD60004

Return ValueN/A (void)
Function NameWrProtdRegEcmc0_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFD61000

0xFFD61004

Return ValueN/A (void)
Function NameWrProtdRegEcm0_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFD62000

0xFFD62004

0xFFD62008

0xFFD6200C

0xFFD62010

0xFFD62014

0xFFD62018

0xFFD6201C

0xFFD62020

0xFFD62024

0xFFD62028

0xFFD6202C

0xFFD62030

0xFFD62034

0xFFD62038

0xFFD6203C

0xFFD62048

0xFFD6204C

0xFFD62050

0xFFD62054

0xFFD6205C

0xFFD62060

0xFFD62064

0xFFD62068

0xFFD6206C

0xFFD62070

0xFFD62074

0xFFD62078

Return ValueN/A (void)
Function NameWrProtdRegFlmd_u32TypeMinMax
Arguments PassedWrVal_Arguint32FullFull
WrAddr_Argpointer to volatile uint32

Valid values:

0xFFA00000

Return ValueN/A (void)
Design Rationale

These functions will perform the correct sequence of writes to protected registers. These are designed such that the function attempts the write sequence up to 3 times with increasing levels of interrupt disabling for each attempt (no interrupts disabled->Os interrupts disabled->All interrupts disabled). Since these functions are broken out based on the peripheral register set to be written and width of register write, DET error checking is done to ensure the implementer is using the correct API. A DET error is also set if for some reason the 3 write attempts all fail.

Processing

See source code for implementation.

Nexteer Software Reset

Function NameNxtrSwRstTypeMinMax
Arguments PassedMcuDiagcData0_ArgP1mcDiagc1FullFull
McuDiagcData1_Arguint32FullFull
Return ValueN/A (void)
Design Rationale

This function exists to ensure that before calling a reset, the caller is properly indicating what the source of the reset is and that this type of reset is part of the known list of reset causes. Additionally, the second parameter is able to store more information along with the reset. This processing is done in a separate component, but the interface is the “SetMcuDiagcIdnData” API. Additionally, the Renesas SAN indicates that before any software reset, the register containing the reset cause flags shall be cleared. The Mcu_PerformReset() function is then called to perform the actual reset. In the event that there is an issue where this function doesn’t actually perform a reset as expected, a while loop is entered at the end of this function, which could likely lead to a hardware watchdog timeout if this loop is entered.

Processing

See source code for implementation.

Nexteer Software Reset From Exception

Function NameNxtrSwRstFromExcpnTypeMinMax
Arguments PassedMcuDiagcData0_ArgP1mcDiagc1FullFull
McuDiagcData1_Arguint32FullFull
Return ValueN/A (void)
Design Rationale

This function exists to ensure that before calling a reset from a hardware exception, the caller is properly indicating what the source of the reset is and that this type of reset is part of the known list of reset causes. This function will clear all ECM status registers prior to issuing a reset to ensure a known state of these registers after the reset. Additionally, the second parameter to this function is used to store more information along with the reset.

In an effort to try to capture useful data relating to the exception, the internal logic of this function will attempt to at least store the register value that contains the program counter of when the exception occurred. In order for this to work, a value of “0x0000000” must be passed to the “McuDiagcData1_Arg” argument in the case of an FE exception, and an value of “0xFFFFFFFF” must be passed to the “McuDiagcData1_Arg” argument in the case of an EI exception. In case of any other values in the “McuDiagcData1_Arg” , this function assumes the caller of this function has already setup data that is desired to be stored in this argument, and therefore leaves it unmodified.

This storage of this reset information is done in a separate component, but the interface is the “SetMcuDiagcIdnData” API.

This function also intentionally attempts to write the error output pin to an “error” state as a redundant mechanisms for putting the system into a safe state in the event that the software reset (which also should drive the system to a safe state) doesn’t properly execute.

Additionally, the Renesas SAN indicates that before any software reset, the register containing the reset cause flags shall be cleared. The Mcu_PerformReset() function is then called to perform the actual reset. In the event that there is an issue where this function doesn’t actually perform a reset as expected, a while loop is entered at the end of this function, which could likely lead to a hardware watchdog timeout if this loop is entered.

Processing

See source code for implementation.

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameTypeMinMax
Arguments Passed
Return Value

Design Rationale

Processing

GLOBAL Function/Macro Definitions

GLOBAL Function #1

Function NameTypeMinMax
Arguments Passed
Return Value

Design Rationale

Processing

Known Limitations with Design

Functionality for P1XC devices that is currently supported by this component is only targeted for P1MC variants (not designed for P1HC variants).

UNIT TEST CONSIDERATION

Abbreviations and Acronyms

Abbreviation or AcronymDescription

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.3.0 R4.0 Rev 2
2MDD Guideline EA4 01.00.01.docxEA4 01.00.01
3Software Naming Conventions.doc1.0
4EA4 Software Naming Conventions 01.01.00.docx01.01.00

5.3 - MicroCtrlrSuprt Peer Review Checklists


Overview

Summary Sheet
Synergy Project
3rd Party Files
Integration Manual
Nexteer Source Code
MDD
PolySpace


Sheet 1: Summary Sheet























Rev 1.019-Apr-17
Peer Review Summary Sheet


























Synergy Project Name:



Windows User: Intended Use: Identify which component is being reviewed. This should match the component short name and the middle part of the Synergy project name MicroCtrlrSuprt
Revision / Baseline:


Windows User: Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved. AR202A_MicroCtrlrSuprt_Impl_2.2.0


























Change Owner:



Windows User: Intended Use: Identify the developer who made the change(s) being reviewed Avinash James
Work CR ID:


Windows User: Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one) EA4#12708


























3rd party delivery package identifier:







Intended Use: This is a reference to the identifier of the 3rd party delivery package(s) that the component was extracted/created from. Rationale: This will allow easier tracing back to 3rd party deliveries. N/A


























Windows User: Identifiy which type of 3rd party component this is so as to provide appropriate review checklist sheets Component Type:





























































































































Windows User: General section for summarizing review comments or review notes. Review Checklist Summary:


















































Comments:
































































Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:

Follows standard Nexteer developed

naming convention for 3rd Party Software Components











component naming conventions


























Project contains necessary subprojects








Yes
Comments:

Requires dependencies for














included header files


























Project contains the correct version of subprojects








Yes
Comments:













































General Notes / Comments:























subprojects were unchanged since they were not affected by the updates in 2.2.0


































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Avinash James


Review Date :

11/20/17
































Lead Peer Reviewer:


Lucas Wendling


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: 3rd Party Files

Peer Review Meeting Log (3rd Party File Review)





















































Quality Check Items:






































Rationale is required for all answers of No










(e.g. component_bswmd.arxml) Component "autosar" folder contains autosar module description file from 3rd party delivery packageN/A
Comments:




































(e.g. component_preo.arxml) Component "autosar" folder contains any relevant preconfiguration files from 3rd party delivery package(s)N/A
Comments:




































If needed as in the case with Renesas MCAL (e.g. MCALcomponent_bswmd_rec.arxml taken from Vector delivery) Component "autosar" folder contains any needed supplemental autosar module description file(s)N/A
Comments:




































Component "doc" folder contains all documentation related to this component from 3rd party delivery packageN/A
Comments:




































Modifications from delivery to be reviewed (e.g. path changes) Component "generate" folder contains all external generation files from 3rd party delivery packageN/A
Comments:




































Component "include" and "src" folder contains exact component files from 3rd party delivery packageYes
Comments:

Tool generated headers contained in




include folder for P1XC devices



























Component "make" folder contains any makefiles included from 3rd party delivery packageN/A
Comments:




































1) All source and headers of component should be referenced in .gpj 2) Compiler settings may need to be tailored to source component (e.g. Renesas MCAL vs Vector BSWs) Component "tools" folder contains GHS project file with appropriate files referenced with appropriate compiler settingsYes
Comments:




































Should delete old existing files/directories from integration project and copy new ones into integration project May also contain logic for integrator user interaction if required. (e.g. selection of micro variant on MCAL) Component "tools" folder contains Integrate.bat with appropriate logic in it for integration into projectN/A
Comments:

Headers only in component, so no need




of integration batch file



























For external generation and internal behavior definition for use with Vector Davinci tools. Typically only desired/needed for non-Vector developed components. This file should be copied as part of Integrate.bat. Components optionally contains settings xml file with appropriate contentsN/A
Comments:

Headers only in component, so no need




of settings xml file



























General Notes / Comments:
























.gpj file update needed for the new header (SEG_RegDefns.h) - Done 11/20/2017



































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:



























Change Owner:

Avinash James


Review Date :

11/20/17

































Lead Peer Reviewer:


Lucas Wendling


Approved by Reviewer(s):



Yes
































Other Reviewer(s):












































































Sheet 4: Integration Manual

Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. MicroCtrlrSuprt Integration Manual.doc

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 1





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:













































Latest template used








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Integrator)








N/A
Comments:

Initial Version










































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Lucas Wendling


Review Date :

07/20/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 5: Nexteer Source Code

Peer Review Meeting Log (Source Code Review)

























Source File Name:


N/A

Source File Revision:


Windows User: Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project) N/A
Header File Name:


NxtrMcuSuprtLib.h (P1XC version)

Header File Revision:


Windows User: Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project) 1

























MDD Name:

MicroCtrlrSuprt Module Design Document.docx

Revision:
Windows User: Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project) 1



















































Quality Check Items:




































Rationale is required for all answers of No



































EA4 Software Naming Convention followed:











Windows User: Intended Use: list version/revision of latest released EA4 Software Naming Conventions document. (Listing version of the EA4 Common Naming Conventions is not needed since it is called out by the Software Naming Conventions document) Version:



























for variable names







Yes
Comments:




















































for constant names







N/A
Comments:




















































for function names







Yes
Comments:




















































for other names (component, memory







Yes
Comments:











mapping handles, typedefs, etc.)






































Verified no possibility of uninitialized variables being








N/A
Comments:










written to component outputs or IRVs







































All variables are declared at the function level.








N/A
Comments:



















































Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:




and Version Control version in file comment block







































Change log contains detailed description of changes








Yes
Comments:




(including any anomaly number(s) being fixed) and














Work CR number
















































Code accurately implements MDD








Yes
Comments:













































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:










(and verified for all possible combinations of any














conditionally compiled code)
















































Component.h is included








N/A
Comments:



















































All includes are actually needed. (System includes








Yes
Comments:










only allowed in Nexteer library components)







































Software Design and Coding Standards followed:











Version: 2.1



























Code comments are clear, correct, and adequate







Yes
Comments:











and have been updated for the change: [N40] and














all other rules in the same section as rule [N40],























plus [N75], [N12], [N23], [N33], [N37], [N38],























[N48], [N54], [N77], [N79], [N72]
















































Source file (.c and .h) comment blocks are per







Yes
Comments:











standards and contain correct information: [N41], [N42]







































Function comment blocks are per standards and







Yes
Comments:











contain correct information: [N43]







































Code formatting (indentation, placement of







Yes
Comments:











braces, etc.) is per standards: [N5], [N55], [N56],














[N57], [N58], [N59]
















































Embedded constants used per standards; no







N/A
Comments:











"magic numbers": [N12]







































Memory mapping for non-RTE code







N/A
Comments:











is per standard







































All execution-order-dependent code can be







Yes
Comments:











recognized by the compiler: [N80]







































All loops have termination conditions that ensure







No
Comments:

There are intentional loop forever








finite loop iterations: [N63]










loops in this component after issuing software reset



























All divides protect against divide by zero







N/A
Comments:











if needed: [N65]







































All integer division and modulus operations







N/A
Comments:











handle negative numbers correctly: [N76]







































All typecasting and fixed point arithmetic,







Yes
Comments:











including all use of fixed point macros and














timer functions, is correct and has no possibility























of unintended overflow or underflow: [N66]
















































All float-to-unsiged conversions ensure the.







N/A
Comments:











float value is non-negative: [N67]







































All conversions between signed and unsigned







N/A
Comments:











types handle msb==1 as intended: [N78]







































All pointer dereferencing protects against







Yes
Comments:

DET mechanism will check for








null pointer if needed: [N70]










bad pointers in this component



























Component outputs are limited to the legal range







N/A
Comments:

No Outputs








defined in the design (MDD) : [N53]







































All code is mapped with MDD (all MDD







Yes
Comments:











subfunctions and/or model blocks identified














with code comments; all code corresponds to























some MDD subfunction and/or model block): [N40]















































Review did not identify violations of other








Yes
Comments:










coding standard rules
































































General Notes / Comments:
















































Note only P1XC version of header was reviewed under this peer review, as no changes were done to the P1M version.































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Lucas Wendling


Review Date :

07/20/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 6: MDD

Peer Review Meeting Log (MDD Review)


























MDD Name:

MicroCtrlrSuprt Module Design Document.docx













MDD Revision:

1


























Source File Name:


NxtrMcuSuprtLib.h (P1M version)











Source File Revision:


3

Source File Name:


NxtrMcuSuprtLib.h (P1XC version)











Source File Revision:


1

Source File Name:















Source File Revision:






























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








N/A
Comments:

Initial Version










































Changes Highlighted (for Unit Tester)








N/A
Comments:

Initial Version










































Diagrams have been included per MDD Guideline








Yes
Comments:











and reviewed






































All Design Exceptions and Limitations are listed








Yes
Comments:



















































Design rationale given for all global








N/A
Comments:











data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].















































All Unit Test Considerations have been described








Yes
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Lucas Wendling


Review Date :

07/20/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 7: PolySpace

Peer Review Meeting Log (PolySpace Review)


























Source File Name:


NxtrMcuSuprtLib.h (P1M version)











Source File Revision:


3

Source File Name:


NxtrMcuSuprtLib.h (P1XC version)











Source File Revision:


1

Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.02.00














Poly Space version:


Windows User: eg. 2013b 2013b







































Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline





























Are previously added justification and deviation








Yes
Comments:





comments still appropriate






































Do all MISRA deviation comments use approved








Yes
Comments:





deviation tags






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:























Red polyspace errors for inifinite loops. This is acceptable since it is intended to have these after attempting to issue a software reset.


































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Lucas Wendling


Review Date :

07/20/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































5.4 - HeaderGen

Rev. 1.2

April 20th, 2016

Introduction

This document describes installation and usage of the C code header file generation script (HeaderGen) created by Renesas. The HeaderGen script is a Python based script that utilizes one external Python module for parsing Excel files. The purpose of the tool is to enable more configurable and consistent header file generation for our customers, as well as to provide some useful formatting options within the header files themselves.

Contents

1. Installation 1

2. Usage 2

2.1 Configuration File 2

2.2 Execution 3

2.3 Output 3

3. Revision Record 4

4. Testing 5

Installation

The following tools are needed for execution of the Script

ToolVersionInstall instructions
Pythonv2.7.9

Visit the Python Install site and download the latest v2.x.x Windows version:

https://www.python.org/downloads/

openpyxlv2.3.0

(1) Download easy_install from Windows from this link: https://bootstrap.pypa.io/ez_setup.py

(2) execute the file ez_setup.py:

>python ez_setup.py

(3) Navigate to C:\PythonXX\Script and execute

> easy_install openpyxl

.

Excel2013Script requires use of the .xlsx Excel file format

Table 1: Required SW Packages

Usage

Configuration File

The script takes as an input a text configuration file. Required fields in the file are:

FieldDescriptionExample
Input_file_nameExcel input file name and full or relative path./dr7f701310_matrix_smaller.xlsx
Tab_nameExcel tab name with relevant data – typically “APB area2”APB area2
Output_file_location

Location where the resulting header files will be written with full or relative path.

NOTE: this is currently unsupported

./
Base_type_byteBase type for byte variablesuint8
Base_type_shortBase type for short (two byte) variablesuint16
Base_type_longBase type for long (four byte) type variablesuint32
Base_union_name_byteName for byte variable access within union of register access typesUINT8
Base_union_name_shortName for short variable access within union of register access typesUINT16
Base_union_name_longName for long variable access within union of register access typesUINT32
Base_union_name_bitsName for bit variable access within union of register access types. This will provide access to the bitfield structure.BITS
[prefix] (sample text)Anything following a line starting with [prefix] will be printed exactly at the start of the header file, after the inclusion guard #ifdef
[groups] (sample group)

By default, all register access structures, address binding pragmas, and access macros will be placed into the default output file. Adding a group to the configuration file will place any register whose name starts with the text following [groups] into a separate file.

More than one piece of text can follow a group name, as shown in the example.

[groups] ADC_FILE = ADCD0, ADCD1

This will place all registers starting with either “ADC0” or “ADCD1” into an output file called dr7f701310_ADC_FILE.h, and cause them to skip the default header file.

[groups] DEFAULT =

This is the default group for all register information. It must be present in the configuration file. This will place all unmatched registers into an output file called dr7f701310_DEFAULT.h.

[suffix] (sample text)Anything following a line starting with [suffix] will be printed exactly at the end of the header file, before the inclusion guard #endif
[skip] (address)Only hexadecimal addresses are allowed to follow the [skip] tag. Any register whose address overlaps with this address will be placed into a group labeled “skip” and generate into a _SKIP.h file[skip] DEADBEEF
use_module_names = <True/False>Setting this argument to true will ignore all [groups] arguments and use the module column from the Excel file as register grouping names.use_module_names = True
gen_address_macros = <True/False>Setting this argument to true will generate macros for each register mapping their address to the register name followed by “_ADDR”gen_address_macros = True

Table 2: configuration file entries

Execution

The script can be executed by issuing this command from the command line:

> python headerGen.py config.txt

Note: this assumes (1) the python executable has been added to your system path, and (2) the headerGen,py script and config file are resident in your current directory.

The script will print several informative messages to the command line as it runs. Because the Excel file for a typical micro is very large (>50,000 lines), the script can take up to 10 minutes to execute. It will print percentage complete status messages during long running sections.

You will see these messages when the command line script has completed:

Output

Figure 1: header file contents and usage

Revision Record

Rev.DateDescription
PageSummary
1.02/8/2016AllInitial Draft
1.12/25/2016MultipleAdding support for multiple groups, marking output file directory config option as unsupported.
1.24/20/2016MultipleAdding support for register address macro generation as well as register grouping based on module name column from Excel

Testing

Due to the size of the input Excel file, it is not feasible for Renesas or a customer (user) of the script to test each of the registers generated. Therefore, we have identified a sub-set of registers that represent interesting register layout permutations for testing. As long as these registers have generated fine, we can assume that all other register, being of identical pattern to these registers, are fine as well.

The registers in the test suite are:

NumberRegister sizeBase access typeBit access typeP1M example
18-bit8-bit8-bit15.3.10 – SCI30BRR
NOTE: SCI30BRR and SCI30MDDR are allocated to the same address, so the script will parse this incorrectly.
28-bit8-bit< 8-bit, single10.4.2 – CVMF
38-bit8-bit< 8-bit, multiple16.3.2.1 – RLN30LWBR
3a8-bit8-bit, 1-bit< 8-bit, single14.3.2 – CSIH0CTL0
416-bit16-bit16-bit13.3.10 – CSIG0TX0H
516-bit16-bit8-bit16.3.3.18 – RLN30LUTDR
616-bit16-bit< 8-bit, single13.3.6 – CSIG0STCR0
716-bit16-bit< 8-bit, multiple, cross byte boundaries13.3.4 – CSIG0CTL2
816-bit16-bit, 8-bit16-bit
916-bit16-bit, 8-bit8-bit
1016-bit16-bit, 8-bit< 8-bit, single
1116-bit16-bit, 8-bit< 8-bit, multiple
1232-bit32-bit32-bit19.3.2 – RSENTT0TSC
1332-bit32-bit16-bit13.3.9 – CSIG0TX0W
1432-bit32-bit8-bit14.3.5 – CSIH0STR0
1532-bit32-bit< 8-bit, single7.9.2.1 – DMACTL
15b32-bit32-bit< 8-bit, single, all 32-bits7.9.2.13 – DTSPR0
Note: Excel and .pdf UM don’t match exactly, Excel shows these as 2-bit entries, while UM shows them as single bit entries that are clearly paired via name.
1632-bit32-bit< 8-bit, multiple7.9.2.9 – DM0CMV
16b32-bit32-bit< 8-bit, multiple, crossing byte boundaries11.3.5 – TSNREFD
1732-bit32-bit, 16-bit32-bit
1832-bit32-bit, 16-bit16-bit
1932-bit32-bit, 16-bit8-bit
2032-bit32-bit, 16-bit< 8-bit, single
2132-bit32-bit, 16-bit< 8-bit, multiple
2232-bit32-bit, 16-bit, 8-bit32-bit18.2.7.12 – FLXA0FRNMV1
2332-bit32-bit, 16-bit, 8-bit16-bit18.2.6.2 – FLXA0FRSUCC2
2432-bit32-bit, 16-bit, 8-bit8-bit18.2.3.1 – FLXA0FRLCK
2532-bit32-bit, 16-bit, 8-bit< 8-bit, single18.2.2.1 – FLXA0FROC
2632-bit32-bit, 16-bit, 8-bit< 8-bit, multiple, crossing byte boundaries18.2.5.1 – FLXA0FRT0C
27Multiple32-bit, 16-bit, 8-bit17.3.3 – RSCAN0C0CTR
28Multiple16-bit, 8-bit16.3.3.2 – RLN30LBRP01
Note: The Excel file shows this split into two 8-bit named entries: LBRP0 and LBRP1, while the UM shows a single entry.

6 - Component Implementation

Component Implementation

Component Documentation

Specific Component Tools

6.1 - MotCtrlMgr Integration Manual

Integration Manual

For

MotCtrlMgr

VERSION: 4

DATE: 05/18/17

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionLucas Wendling105/29/15
2Updates for Signal MappingLucas Wendling210/28/15
3Updates describing tool that generates MotCtrlMgr configurationLucas Wendling309/21/16
4Added more notes about DMA write section mappingLucas Wendling405/18/17

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 Non RTE NvM Blocks 10

7.4 RTE NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1MDD GuidelinesProcess 04.00.00
2Software Naming ConventionsProcess 04.00.00
3Software Coding StandardsProcess 04.00.00
4AR300A_MotCtrlMgr_DesignSee Synergy subproject version

Dependencies

SWCs

ModuleRequired Feature

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

MotCtrlMgrIrq – This is a category 1 interrupt (see details below)

Configuration REQUIREMeNTS

In addition to configuration based .c and .h files, the MotCtrlMgr generator will also generate a .m file data dictionary for MotCtrlMgr. In addition to documentation purposes, this data dictionary is intended to aid in the creation of the AUTOSAR SWC model that is required to be created for the MotCtrlMgr’s signal interface to the RTE. While the generator will create the RTE runnables and runnable contents automatically, the SWC model to be used in the AUTOSAR authoring tools (e.g. Davinci Developer) is not automatically created by the generator and will need either a separate tool to create, or will need to be manually created.

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

CDD_MotCtrlMgr.c

CDD_MotCtrlMgr_Data.c

CDD_MotCtrlMgr_Data.h

CDD_MotCtrlMgr_Irq.c

DaVinci Parameter Configuration Changes

Most of the configuration parameters in the table below are determined from extracted data from the component data dictionaries of a given project. This includes all of the motor control related runnables as well as all of the signals that interface to motor control related runnables (on either sender or receiver side).

The DataDictionary tool has been updated to support generation of the majority of the MotCtrlMgr configuration listed below. The inputs this tool requires is a project’s collection of component DataDictionaries, a signal mapping xml, as well as the latest FDD tool data management folder. The DataDictionary tool currently generates a .arxml file with all of the MotCtrlMgr configuration except the following parameters which still need to be manually populated:

/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/IncludeHeaders

/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/Runnable/SequenceOrder

The DataDictionary tool version which was used for testing of this component is embedded within this component’s baseline. This particular version of the tool is included mostly for reference purposes, and isn’t required to be used at an integration level for the actual generation of the MotCtrlMgr configuration so long as the version that is being used produces the correct output.

ParameterNotesSWC
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/IncludeHeadersAll of the includes that are required to provide runnable prototypes (e.g. “MyHeader.h”)MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/RunnableAll of the runnables that are required in a given project that run at the “MotorControl” or “MotorControlx2” Rate. The shortname needs to exactly match the runnable function nameMotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/Runnable/RunnableRateSelection of the rate at which the given runnable executes (MotorControl or MotorControlx2)MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/Runnable/SequenceOrderSequence order number to help define the ordering of the runnables relative to each other. Lower numbers are executed prior to higher numbers. Ordering does not need to be sequential, but it is recommended for clarity. Please note that if all MotorControlx2 runnables are not grouped together, there will be throughput inefficiencies.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/IncludeHeadersAll of the includes that may be required to provide signal initial values (e.g. “MyHeader.h”). This is possibly required if initial values are required to be tied to a global constant that is defined in a certain header for example.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/NonRteEnumAll of the enumeration definitions required outside of the RTE. The short name needs to exactly match the desired enumeration name.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/NonRteEnum/EnumImplementationDataTypeImplementation Data Type of the given enumeration. Selection of the supported types of “uint8”, “uint16”, and “uint32”.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/NonRteEnum/EnumElementElements of a given enumeration. The short name should be the enumeration element name.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/NonRteEnum/EnumElement/ValueNumeric value of a given enumeration elementMotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalMappingContains the configuration required for mapping differently named signals to eachother. This component specifically requires, at a minimum, all of the mapping of names related to signals that flow into, out of, or through the Motor Control runnables. Recommended “Short Name” of container is “<OutputSignal>Map”MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalMapping/OutputSignalNameOutput signal name of signal needing mappingMotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalMapping/InputSignalNameInput signal name (or names) of signal needing mapping. Note that it is allowed to map more than one input name to each output.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalContains the required details of a given signal. The short name should match the base signal name (excluding “MotCtrl” prefix)MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/EnumerationNameReferenceSelection of Enumeration (if applicable - this should only exist on signals that are enumerations). Enumeration needs to be added to “/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/NonRteEnum” configuration before it can be selected.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ImplementationDataTypeSelection of Implementation Data Type of signal. For enumerations, this should be selected to match the underlying enumeration datatype.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/InitialValueInitial Value, for arrays this should be a comma separated list (e.g. you would enter: 10,20,30,40). Suffixes of “F”, “U”, etc should be on appropriate signals as required.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/MaxMaximum Value as indicated by m file defining signal.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/MinMinimum Value as indicated by m file defining signal.MotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadInMotCtrlRunnableThis flag indicates if a given signal is read in a runnable that runs at “MotorControl” or “MotorControlx2” rateMotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadIn2msRunnableThis flag indicates if a given signal is read in a runnable that runs at 2ms (or slower) RTE taskMotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenInMotCtrlRunnableThis flag indicates if a given signal is written in a runnable that runs at “MotorControl” or “MotorControlx2” rateMotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenIn2msRunnableThis flag indicates if a given signal is written in a runnable that runs at 2ms (or slower) RTE taskMotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/SizeSize of signal. This needs to be 1 for standard signals and if greater than 1, the signal is considered to be an arrayMotCtrlMgr
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/UnitsUnits of signal as indicated by m file defining signal.MotCtrlMgr

DaVinci Interrupt Configuration Changes

ISR NameInterrupt Category (FE/EI)Interrupt Channel NumberPriority DependencyNotes
MotCtrlMgrIrqEINeeds to be gathered from program specific CM###_XXXXMcuCfg_Design componentNeeds to be an appropriate priority for the high speed motor control interruptThis ISR should be category 1 ISR and mapped to trusted application

Manual Configuration Changes

NotesSWC

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

This module defines all non-RTE motor control data structures

Required Global Data Outputs

This module defines all non-RTE motor control data structures

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
RunnableScheduling RequirementsTrigger
MotCtrlMgrIrqNoneISR – exact ISR source to be gathered from program specific CM###_XXXXMcuCfg_Design component
MotCtrlMgrPer1MotCtrlMgrPer1 should execute near the start of the 2ms loop before any other functions that need data that is output by runnables running at the Motor Control rate. The DMA transfer that is populating MotCtrlMgr_TwoMilliSecFromMotCtrl_Rec shall run before MotCtrlMgrPer1 and ideally enough other functionality runs in-between these two events that the transfer can complete with minimal wait time in MotCtrlMgrPer1 (since this function is waiting for DMA transfer completion).2ms RTE
MotCtrlMgrPer2MotCtrlMgrPer2 should execute as the final function of the forward path to allow minimal lag on computation of new PWM commands in the Motor Control loop.2ms RTE

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
MotCtrl_START_SEC_CODEInterrupt codeThis code section also includes a static function scope variable, and therefore needs to open and close variable mapping statements and this should be mapped to the same application that the ISR is mapped to.
CDD_MotCtrlMgr_DmaWrite_START_SEC_VAR_INIT_128Data that a DMA channel writes to during run-time

This gets mapped to a “.data_dma_128” section and/or a “.sdata_dma_128” section (depending on compiler settings) that will need to be explicitly added to the linker file. The intent of these sections is to be placed in a RAM memory section that only the DMA has write access to (processor in user mode only has read access).

Additionally, since these are initialized data sections, the appropriate ROM sections will need to be added to the linker to allow initial values to be copied from Flash to RAM during startup for these sections.

e.g.:

.ROM_data_dma_128 ROM(.data_dma_128) FILL(0xFF) :{}>.

and

.ROM_sdata_dma_128 ROM(.sdata_dma_128) FILL(0xFF) :{}>.

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

<This section is for appendix>

6.2 - MotCtrlMgr Review


Overview

Summary Sheet
Synergy Project


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR300A_MotCtrlMgr_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR300A_MotCtrlMgr_Impl_1.4.1

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Lucas Wendling
Work CR ID:


EA4#12182





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































NoMDD


NoSource Code


NoPolySpace









































NoIntegration Manual


NoDavinci Files








































































Comments:

Reviewed only generation batch file changes.



























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include FDD Owner and Integrator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Lucas Wendling


Review Date :

05/23/17
































Lead Peer Reviewer:


Hari Mattupalli


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































6.3 - MotCtrlMgr_MDD

Module Design Document

For

MotCtrlMgr

VERSION: 2

DATE: 10/28/15

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionLucas Wendling105/29/15
2Updates for Signal MappingLucas Wendling210/28/15

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 MotCtrlMgr High-Level Description 6

4 Design details of software module 7

4.1 Graphical representation of MotCtrlMgr 7

4.2 Data Flow Diagram 7

4.2.1 Module level DFD 7

4.2.2 Sub-Module level DFD 7

4.3 COMPONENT FLOW DIAGRAM 7

5 Variable Data Dictionary 8

5.1 User defined typedef definition/declaration 8

5.2 Variable definition for enumerated types 8

6 Constant Data Dictionary 9

6.1 Program(fixed) Constants 9

6.1.1 Embedded Constants 9

6.1.1.1 Local 9

6.1.1.2 Global 9

6.1.2 Module specific Lookup Tables Constants 9

7 Software Module Implementation 10

7.1 Generated file description and logic 10

7.2 Initialization Functions 13

7.3 PERIODIC FUNCTIONS 13

7.3.1 Per1/Per2: 13

7.4 Non PERIODIC FUNCTIONS 13

7.5 Interrupt Functions 13

7.5.1 Isr: <ModuleName>_Isr<n)> 13

7.6 Serial Communication Functions 14

7.7 Local Function/Macro Definitions 14

7.8 GLObAL Function/Macro Definitions 14

7.9 TRANSIENT FUNCTIONS 14

8 Unit Test Considerations 15

9 Known Limitations With Design 16

10 Appendix 17

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1MDD GuidelinesProcess 04.00.00
2Software Naming ConventionsProcess 04.00.00
3Software Coding StandardsProcess 04.00.00
4AR300A_MotCtrlMgr_DesignSee Synergy subproject version

MotCtrlMgr High-Level Description

None

Design details of software module

Graphical representation of MotCtrlMgr

None

Data Flow Diagram

None

Module level DFD

None

Sub-Module level DFD

None

COMPONENT FLOW DIAGRAM

None

Variable Data Dictionary

User defined typedef definition/declaration

<This section documents any user types uniquely used for the module.>

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

MotCtrlToTwoMilliSecRec1Elements are project specific and generatedstruct
TwoMilliSecFromMotCtrlRec1Elements are project specific and generatedstruct
TwoMilliSecToMotCtrlRec1Elements are project specific and generatedstruct
MotCtrlFromTwoMilliSecRec1Elements are project specific and generatedstruct
MotCtrlIntRec1Elements are project specific and generatedstruct

Variable definition for enumerated types

Enum NameElement NameValue
Enumerations are project specific and generated

Constant Data Dictionary

Program(fixed) Constants

Embedded Constants

Local

Constant NameResolutionUnitsValue
N/A

Global

Constant Name
N/A

Module specific Lookup Tables Constants

Constant NameResolutionValueSoftware Segment
N/A

Software Module Implementation

Generated file description and logic

The following sections provide details on the logic used for generating the data and functions from the MotCtrlMgr configuration. The generator uses text templating to generate the appropriate file content based on the configuration details. The logic described in the following sections are implemented in the text template files provided in this component.

  1. CDD_MotCtrlMgr_Irq.c

This file contains the definition of the interrupt service routine that Motor Control Manager defines. This interrupt service routine primarily contains a task list for executing runnables that are required to be scheduled at the motor control rate or motor control x2 rate. The following table lists the configuration parameters that are required in generation of this file:

Configuration ParameterFile Generation Usage Notes
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/RunnableUsed to determine the runnables needed to be called in the ISR task list
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/Runnable/RunnableRateUsed to determine if runnable needs to be called every ISR loop (MotorControl) or every other ISR loop (MotorControlx2)
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/IncludeHeadersUsed for include list required for this file for runnable prototype definitions
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/RunnableManagement/Runnable/SequenceOrderUsed to help define the relative calling sequence of the runnables in the ISR task list
  1. CDD_MotCtrlMgr.c

This file contains the functions for the RTE interface. This file will receive appropriate signals from the RTE and provide appropriate signals to the RTE. Per1 provides updated signals to the RTE after the DMA transfer of the data successfully completed, and Per2 recieves signals from the RTE and then indicates to the DMA that the data is ready for transfer.

Configuration ParameterFile Generation Usage Notes
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalUsed for the name of the signals being read/written by the runnables being defined.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenInMotCtrlRunnableUsed in conjuction with “/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadIn2msRunnable” to determine when a signal is needed to be managed by Per1
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadIn2msRunnableUsed in conjuction with “/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenInMotCtrlRunnable” to determine when a signal is needed to be managed by Per1
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenIn2msRunnableUsed in conjuction with “/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadInMotCtrlRunnable” to determine when a signal is needed to be managed by Per2
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadInMotCtrlRunnableUsed in conjuction with “/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenIn2msRunnable” to determine when a signal is needed to be managed by Per2
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/SizeUsed to determine if the signals being read/written by the runnables being defined are arrays (Impacts RTE API name).
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ImplementationDataTypeUsed to determine if the signals being read/written by the runnables being defined are boolean types (Impacts RTE API name).
  1. CDD_MotCtrlMgr_Data.c

This file contains the definition of all of the structures containing the Motor Control ISR related signals. This includes providing initial values for all of the signals in the structure and padding the structure for proper structure size alignment restrictions.

Configuration ParameterFile Generation Usage Notes
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalUsed to determine signal names as part of the logic to determine if special grouping is needed for TSG3 signals
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenInMotCtrlRunnableUsed to determine which initial values are needed in which structure.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadIn2msRunnableUsed to determine which initial values are needed in which structure.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenIn2msRunnableUsed to determine which initial values are needed in which structure.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadInMotCtrlRunnableUsed to determine which initial values are needed in which structure.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/SizeUsed in the structure size calculation to determine how many pad bytes are needed for alignment at the end of the structure. Used also to add the appropriate braces for arrays on structure elements.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ImplementationDataTypeUsed in the structure size calculation to determine how many pad bytes are needed for alignment at the end of the structure.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/InitialValueUsed as the initializer value for a given signal in the structure
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/IncludeHeadersUsed for include list required for this file for definition of any intial values that may be required
  1. CDD_MotCtrlMgr_Data.h

This file defines the structure definition of the Motor Control Data structures containing all Motor Control ISR related signals. It also defines any enumerations that need to be accessed by Non-RTE related code. Prototype statements for all Motor Control Data structures are included in this file as well as the macros defined for accessing individual signals of the Motor Control Data structures.

Configuration ParameterFile Generation Usage Notes
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/NonRteEnumUsed to define enumeration accessed by Non-RTE related code. Used for enumeration name.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/NonRteEnum/EnumImplementationDataTypeUsed to define enumeration accessed by Non-RTE related code. Used for enumeration datatype.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/NonRteEnum/EnumElementUsed to define enumeration accessed by Non-RTE related code. Used for enumeration element name.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/NonRteEnum/EnumElement/ValueUsed to define enumeration accessed by Non-RTE related code. Used for enumeration element value.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalUsed to determine signal names as part of the logic to determine if special grouping is needed for TSG3 signals. Also used as signal name for structure element definitions. Used to also determine name of signal access macros that are generated.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenInMotCtrlRunnableUsed to determine the structure the signal should be added to.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadIn2msRunnableUsed to determine the structure the signal should be added to
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenIn2msRunnableUsed to determine the structure the signal should be added to
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadInMotCtrlRunnableUsed to determine the structure the signal should be added to
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ImplementationDataTypeUsed to determine datatype of structure element. Also used as part of the structure size calculation to determine how many pad bytes are needed for alignment at the end of the structure.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/EnumerationNameReferenceUsed to determine if a given signal is an enumeration and used to determine the corresponding enumeration name
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/SizeUsed in the structure size calculation to determine how many pad bytes are needed for alignment at the end of the structure. Used also to add the appropriate array size on signals that are arrays (having size > 1).
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalMappingUsed for creation of motor control signal access macros for inputs that are named differently than outputs
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalMapping/OutputSignalNameOutput name for signal mapping (used to define an input signal macro definition)
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalMapping/InputSignalNameInput name(s) for signal mapping (used to define the names of the signal macros)
  1. AR300A_MotCtrlMgr_DataDict.m

This file is the generated data dictionary for MotCtrlMgr. This is intended to be used for documentation purposes as well as to aid in creating the AUTOSAR component description files.

Configuration ParameterFile Generation Usage Notes
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/SignalUsed to determine signal name for I/O depending on signal useage.
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ImplementationDataTypeUsed to determine datatype of signal. Also used for stripping off c constant qualification (“U”, “L”, “F”) on standard datatypes that is assumed to be present in the initial value. Also used to convert boolean type initial values to “0/1” from “TRUE/FALSE”
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/EnumerationNameReferenceUsed to determine if a given signal is an enumeration and used to determine the corresponding enumeration name
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/InitialValueUsed for the initial value of a signal
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/SizeUsed to determine if the signal is an array and to set the format of the initial value appropriately
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/ReadIn2msRunnableUsed to determine if signal is an output from Per1 runnable
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/WrittenIn2msRunnableUsed to determine if signal is an input to Per2 runnable
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/MaxUsed for Maximum value property of signal
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/MinUsed for Minimum value property of signal
/Nexteer/MotCtrlMgr/MotCtrlMgrConfigSet/SignalManagement/Signal/UnitsUsed for units property of signal

Initialization Functions

None

PERIODIC FUNCTIONS

Per1/Per2:

See section 7.1.2

Non PERIODIC FUNCTIONS

None

Interrupt Functions

Isr:

See section 7.1.1

Serial Communication Functions

None

Local Function/Macro Definitions

None

GLObAL Function/Macro Definitions

None

TRANSIENT FUNCTIONS

None

Unit Test Considerations

Known Limitations With Design

  1. None

Appendix

6.4 - MotCtrlMgr DataDictionary Tool User Guide

Purpose

This document provides details on using the DataDictionary.exe tool for generating and testing the MotCtrlMgr component.

Overview

The MotCtrlMgr component is a project specific, highly configurable component. The majority of the configuration parameters of the component, however, can be derived from analysis of the collection of data dictionaries that exist within any given project. A tool was created (DataDictionary.exe) to create a file which contains the bulk of the MotCtrlMgr configuration which can subsequently be imported into the AUTOSAR Configuration Tools (Davinci Configurator). While this tool can primarily be used at a project configuration level, it also is used at a component level in the MotCtrlMgr component. The usage at a component level serves two primary purposes:

  1. Generation of the majority of the MotCtrlMgr “test” configuration.

MotCtrlMgr component defines a “test” configuration. This test configuration is used for several purposes:

  • To exercise the .bswmd file containing the configuration parameters of MotCtrlMgr (for property correctness and Davinci Configuration compatibility)

  • To test for the proper/successful generation of the MotCtrlMgr component’s generated configuration files

  • To generate test files of all generated files of this component used to run static analysis checks on the generated file output, provide the possibility for unit testing of the generated files, and test compilation of the generated files.

  1. Test of the DataDictionary.exe tool output.

Since the DataDictionary.exe tool is used at a project level with files that will change from project to project as needed, it is useful to have a fixed, known set of test files as inputs to the tool to test that the tool is providing the correct output with a known set of inputs. These input files can also be tailored to test different combinations of input scenarios to try to provide a robust set of test inputs to the tool.

Usage Steps for MotCtrlMgr Component Development

  1. Unzip TestDataManagement.zip file into AR300A_MotCtrlMgr_Impl\tools\local\tools\DataDictionary directory

This is needed since Telelogic synergy can’t currently recognize some of the folder names that are in this directory.

  1. Update Data Dictionary input files in AR300A_MotCtrlMgr_Impl\tools\local\tools\DataDictionary directory

This step is required if there are new or changed configurations that need to be tested. This step would be manually changing the .m files to add or change the configuration or this could also be done with the aid of matlab data dictionary tools.

Note: if new configurations include new/changed enumerations, these enumerations will need to be manually added into the “TestDataManagement” folder that was unzipped in step 1. And this update will need to be re-zipped for check-in to Synergy.

Note: if the new configurations include new signal mappings, the Mappings.xml file will need to be manually updated in the AR300A_MotCtrlMgr_Impl\tools\local\tools\DataDictionary directory.

  1. Rerun tool: TL117A_DataDict\toolsDataDictionary.exe to create new configuration file needed for the next step

    1. Select “Cals” option from initial Data Dictionary tool options:

  1. Select proper tools settings for generation of MotCtrlMgr configuration file. (note file paths may not be exactly the same as listed below):

  1. Select “Generate” option in tool to create MotCtrlMgr.arxml configuration file.

  1. Import MotCtrlMgr.arxml into MotCtrlMgr component Davinci Configurator project.

Notes: It is suggested to remove all configuration containers manually from the old configuration before importing the updated configuration. This allows easier import to ensure that older configuration is fully removed. Otherwise, much more care needs to be taken during the merge process to fully replace older configuration with newer configuration. Additionally, the configuration file does not contain runnable sequence number or header file include needs. These parameters will have to manually be filled out after the import process is complete (or the old configuration settings for these parameters can be kept).

  1. Generate MotCtrlMgr component in Davinci Configurator.

  2. Update Davinci Developer component for any updates needed from configuration changes.

The Davinci Developer component is manually maintained for MotCtrlMgr even though the source code for this component is generated. This component needs to be setup properly for any signals that flow between the MotCtrl Interrupt and RTE tasks. Any changes to Data Dictionary input files (new or changed signals) need to be updated in the Davinci Developer component. As a tip, the component needs to be properly configured to align with the content in AR300A_MotCtrlMgr_Impl\tools\local\generate\CDD_MotCtrlMgr.c file.

  1. Regenerate RTE contract headers for Davinci Developer component.

This step is done through the Davinci Configurator custom workflow steps that are configured in Davinci Configurator.

7 - Component Implementation

Component Implementation

Component Documentation

7.1 - NxtrDet Integration Manual

Integration Manual

For

NxtrDet

VERSION: 1

DATE: 10/07/15

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionLucas Wendling110/07/15

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 Non RTE NvM Blocks 10

7.4 RTE NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1FDD – AR998A NxtrDet DesignSee Synergy subproject version
2Software Naming ConventionsProcess 04.02.00
3Software Coding StandardsProcess 04.02.00

Dependencies

SWCs

ModuleRequired Feature
DetEntire Module – NxtrDet is a component that manages the Det errors that are defined by Nexteer SWCs. The AUTOSAR Det module is required for NxtrDet functionality.

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

NxtrDet functionality defaults in a manner in which it will automatically enable all of the defined Nexteer Det errors when the global Det Enable flag is turned on. It is assumed that as needed, a project could selectively disable certain Nexteer Det errors if needed, but this currently would have to be managed either by alteration of the NxtrDet.h component header directly for the Det enabled build, or by an integration project pointing to its own integration specific version of NxtrDet.h.

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

Da Vinci Parameter Configuration Changes

ParameterNotesSWC

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

None

Required Global Data Outputs

None

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
None
RunnableScheduling RequirementsTrigger
None

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

*See DataDict.m

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

<This section is for appendix>

7.2 - NxtrDet Module Design Document

Module Design Document

For

NxtrDet

Oct 6, 2015

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionLucas Wendling110/06/15


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 NxtrDet High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of NxtrDet 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: NxtrDet 8

5.1.2 Per: NxtrDet 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 8

5.4.1 Local Function #1 8

5.4.1.1 Design Rationale 8

5.4.1.2 Processing 8

5.5 GLOBAL Function/Macro Definitions 8

5.5.1 GLOBAL Function #1 8

5.5.1.1 Design Rationale 8

5.5.1.2 Processing 8

6 Known Limitations with Design 10

7 UNIT TEST CONSIDERATION 11

Appendix A Abbreviations and Acronyms 12

Appendix B Glossary 13

Appendix C References 14

Introduction

Purpose

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

NxtrDet High-Level Description

See FDD

Design details of software module

Graphical representation of NxtrDet

None

Data Flow Diagram

Component level DFD

N/A

Function level DFD

N/A

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Constants containing the Nexteer ModuleIDs defined for Det functionality are defined in the .m file included in the doc folder of this component. This is to allow new SWCs adding new Det errors to not drive changes to the design project, only to the implementation project.

Local Constants

Constant NameResolutionUnitsValue
None

Software Component Implementation

Sub-Module Functions

Init: NxtrDet

None

Per: NxtrDet

None

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function Name(Exact name used)TypeMinMax
Arguments PassedNone<Refer MDD guidelines[1]><Refer MDD guidelines[1]><Refer MDD guidelines[1]>
Return Value

Design Rationale

Processing

GLOBAL Function/Macro Definitions

GLOBAL Function #1

Function Name(Exact name used)TypeMinMax
Arguments PassedNone<Refer MDD guidelines[1]><Refer MDD guidelines[1]><Refer MDD guidelines[1]>
Return Value

Design Rationale

Processing

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.0

7.3 - NxtrDet Peer Review Checklists


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR998A_NxtrDet_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR998A_NxtrDet_Impl_1.2.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Akilan Rathakrishnan
Work CR ID:


EA4#9291





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


N/ADavinci Files








































































Comments:






























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include FDD Owner and Integrator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Akilan Rathakrishnan


Review Date :

01/18/17
































Lead Peer Reviewer:


Spandana Balani


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Lucas Wendling






































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


N/A

Source File Revision:


N/A
Header File Name:


NxtrDet.h

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 3

























MDD Name:

NxtrDet Module Design Document

Revision:
1

























FDD/SCIR/DSR/FDR/CM Name:




AR998A_NxtrDet_Design

Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







Yes
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







Yes
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Component.h is included








N/A
Comments:
























All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version:

























Code comments are clear, correct, and adequate







Yes
Comments:










and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:










standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







N/A
Comments:










contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































All loops have termination conditions that ensure







N/A
Comments:










finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:










if needed: [N65]





































All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsiged conversions ensure the.







N/A
Comments:










float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:










types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







N/A
Comments:










null pointer if needed: [N70]





































Component outputs are limited to the legal range







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







N/A
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:























Header file only
























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Akilan Rathakrishnan


Review Date :

01/18/17
































Lead Peer Reviewer:


Spandana Balani


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Lucas Wendling






































































Sheet 4: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


NxtrDet_StaticAnalysisStub.cSource File Revision:


2

Source File Name:



Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.00.00







Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 N/A

QAC version:


Windows User: eg 8.1.1-R 8.1.1-R
QAC sub project version:




Windows User: eg. TL_100A_1.1.0 TL100A_QACSuprt_1.2.0


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline





























Are previously added justification and deviation








Yes
Comments:





comments still appropriate






































Do all MISRA deviation comments use approved








Yes
Comments:





deviation tags






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:























Stub c file used to make use of header constants


































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Akilan Rathakrishnan


Review Date :

01/18/17
































Lead Peer Reviewer:


Spandana Balani


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Lucas Wendling





































































8 - Component Implementation

Component Implementation

Component Documentation

8.1 - NxtrFil Integration Manual

Integration Manual

For

NxtrFil

VERSION: 1.0

DATE: 03/02/2015

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionK. Creager1.003/02/15

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 Non RTE NvM Blocks 10

7.4 RTE NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1Working EA4 naming Conventions[1]Temp
2AutoSAR and Nexteer KeyWord Abbreviations list[1]Temp

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

FilLpUpdGain()

FilLpUpdOutp_f32()

FilLpInit()

FilHpUpdGain()

FilHpUpdOutp_f32()

FilHpInit()

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

N/A

Required Global Data Outputs

N/A

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
NoneNoneRTE/ISR(<time>ms)
RunnableScheduling RequirementsTrigger
NoneNoneRTE/ISR(<time>ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

[1] – No official document released for EA4.0 for this document’s revision.

8.2 - NxtrFil Review


Overview

Summary Sheet
Source Code - initial review
Source Code -rework review
QAC - initial review
QAC - rework review
Integration Manual


Sheet 1: Summary Sheet
























Rev 6.028-Oct-14

Peer Review Summary Sheet



























Component Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. NxtrFil
Component Revision:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. 1.0.0





























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Kathleen Creager
Change Request ID:


EA4#166





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:
















































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































MDD


Source Code



Data Dictionary


QAC



































Integration Manual


Davinci Files








































































Comments:

MDD not created -- design information will be in the AR104A_Design






integration manual not ready at initial peer review but is needed before final review



















































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request. (Note: If this peer review form was not
completed for pervious versions of this component, the Change Owner should review the entire component and complete the checklist in its entirety prior and check
the form into Syngery. This may be done prior to reviewing the modifications for this Change Result)
- The Change Owner shall responsible for completing the entire checklist (Pre and Group review items) prior holding the initial group review.
- New components should include FDD Owner and Intergator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Select "Yes" and add "N/A" to the comments for checklist items that are not applicable for this change















Sheet 2: Source Code - initial review






















Rev 6.028-Oct-14
Peer Review Meeting Log (Source Code Review)

























Source File Name:




kzshz2: Intended Use: Identify which .asm, .c, or .h file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrFil.h
Source File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 1

























Module Design Document Name:




kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD NA
MDD Revision:


kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD NA

























Data Dictionary Revision:




kzshz2: Intended Use: Identify which version of the Data Dictionary was referenced for ranges during the source file review. Rationale: Needed for traceability between source code and DD NA




FDD/SER/CMS























and Revision:


nz63rn: Intended Use: Identify which version of which FDD/CMS/SER this source file was written against. Rationale: Needed for traceability between source code and FDD/CMS/SER AR104A design not yet created

Quality Check Items:

































YesNo
Rationale is required for all answers of No









Pre-review checklist for change ownersSoftware Naming Convention V1.2 followed:








































for variable names







X
Comments:

EA4 naming conventions














































for constant names







X
Comments:

EA4 naming conventions














































for function names







X
Comments:

add _f32 to functions that return float32














































for other names (component, memory







X
Comments:

memory names need NxtrFil instead of NXTRFIL







mapping handles, typedefs, etc.)






































All buffered outputs written in every path, i.e. no








X
Comments:

N/A







possibility of an uninitialized value being written






































Group-review Checklist (review board)Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


X
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








X
Comments:



and CR number





































Code accurately implements FDD (Document or Model)








X
Comments:

FDD not created yet













implementation matches EA3 macro implementation
























No Compiler Errors or Warnings verified


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





X
Comments:
















































FDD test points exist as display variables: declared








X
Comments:

N/A







static volatile, written once and never used, names













match the FDD













































Software Design and Coding Standards V2.0 followed:








































Code comments are clear, correct, and adequate







X
Comments:











and have been updated for the change: [N40] and














all other rules in the same section as rule [N40],























plus [N75], [N12], [N23], [N33], [N37], [N38],























[N48], [N54], [N77], [N79], [N72]
















































Source file (.c and .h) comment blocks are per







X
Comments:











standards and contain correct information: [N41], [N42]







































Function comment blocks are per standards and







X
Comments:











contain correct information: [N43]







































Code formatting (indentation, placement of







X
Comments:











braces, etc.) is per standards: [N5], [N55], [N56],














[N57], [N58], [N59]
















































Embedded constants used per standards; no







X
Comments:











"magic numbers": [N12]







































All variables and constants defined at module







X
Comments:

N/A








level are included in appropriate MemMap














section: [N25] and Naming Conventions
















































All execution-order-dependent code can be







X
Comments:

N/A








recognized by the compiler: [N80]







































No possibility of a non-terminating loop: [N63]







X
Comments:

N/A

















































No possibility of divide by zero: [N65]







X
Comments:

logic prevents divide by zero

















































All integer division and modulus operations







X
Comments:

N/A








handle negative numbers correctly: [N76]







































All typecasting and fixed point arithmetic,







X
Comments:

N/A








including all use of fixed point macros and














timer functions, is correct and has no possibility























of unintended overflow or underflow: [N66]
















































No possibility of converting a negative floating







X
Comments:

N/A








point value to an unsigned type: [N67]







































All conversions between signed and unsigned







X
Comments:

N/A








types handle msb==1 as intended: [N78]







































No possibility of dereferencing a null







X
Comments:

design limitation - pointer parameters








pointer: [N70]










must have non-null values



























Global outputs (RTE and Non-RTE) Initialized:







X
Comments:

N/A








[N24]







































Module outputs are limited to the legal range







X
Comments:

N/A








defined in the FDD Data dictionary: [N53]







































All code is mapped with FDD (all FDD







X
Comments:

to be added in later rev, after FDD and








subfunctions and/or model blocks identified










FRs are created


with code comments; all code corresponds to























some FDD subfunction and/or model block): [N40]
















































Struct types used for NvM have







X
Comments:

N/A








elements declared in decreasing order by size














and are not nested or used in arrays: [N84], [N85]
















































No violations of other coding standard rules







X
Comments:











identified during review
























































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kathleen Creager


Review Date :

02/27/15
































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):




































Other Reviewer(s):


Lucas Wendling






































































Sheet 3: Source Code -rework review






















Rev 6.028-Oct-14
Peer Review Meeting Log (Source Code Review)

























Source File Name:




kzshz2: Intended Use: Identify which .asm, .c, or .h file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrFil.h
Source File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 1

























Module Design Document Name:




kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD NA
MDD Revision:


kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD NA

























Data Dictionary Revision:




kzshz2: Intended Use: Identify which version of the Data Dictionary was referenced for ranges during the source file review. Rationale: Needed for traceability between source code and DD NA




FDD/SER/CMS























and Revision:


nz63rn: Intended Use: Identify which version of which FDD/CMS/SER this source file was written against. Rationale: Needed for traceability between source code and FDD/CMS/SER AR104A design not yet created

Quality Check Items:

































YesNo
Rationale is required for all answers of No









Pre-review checklist for change ownersSoftware Naming Convention V1.2 followed:








































for variable names







X
Comments:

EA4 naming conventions














































for constant names







X
Comments:

EA4 naming conventions














































for function names







X
Comments:

















































for other names (component, memory







X
Comments:










mapping handles, typedefs, etc.)






































All buffered outputs written in every path, i.e. no








X
Comments:

N/A







possibility of an uninitialized value being written






































Group-review Checklist (review board)Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


X
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








X
Comments:



and CR number





































Code accurately implements FDD (Document or Model)








X
Comments:

FDD not created yet













implementation matches EA3 macro implementation
























No Compiler Errors or Warnings verified


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





X
Comments:
















































FDD test points exist as display variables: declared








X
Comments:

N/A







static volatile, written once and never used, names













match the FDD













































Software Design and Coding Standards V2.0 followed:








































Code comments are clear, correct, and adequate







X
Comments:











and have been updated for the change: [N40] and














all other rules in the same section as rule [N40],























plus [N75], [N12], [N23], [N33], [N37], [N38],























[N48], [N54], [N77], [N79], [N72]
















































Source file (.c and .h) comment blocks are per







X
Comments:











standards and contain correct information: [N41], [N42]







































Function comment blocks are per standards and







X
Comments:











contain correct information: [N43]







































Code formatting (indentation, placement of







X
Comments:











braces, etc.) is per standards: [N5], [N55], [N56],














[N57], [N58], [N59]
















































Embedded constants used per standards; no







X
Comments:











"magic numbers": [N12]







































All variables and constants defined at module







X
Comments:

N/A








level are included in appropriate MemMap














section: [N25] and Naming Conventions
















































All execution-order-dependent code can be







X
Comments:

N/A








recognized by the compiler: [N80]







































No possibility of a non-terminating loop: [N63]







X
Comments:

N/A

















































No possibility of divide by zero: [N65]







X
Comments:

logic prevents divide by zero

















































All integer division and modulus operations







X
Comments:

N/A








handle negative numbers correctly: [N76]







































All typecasting and fixed point arithmetic,







X
Comments:

N/A








including all use of fixed point macros and














timer functions, is correct and has no possibility























of unintended overflow or underflow: [N66]
















































No possibility of converting a negative floating







X
Comments:

N/A








point value to an unsigned type: [N67]







































All conversions between signed and unsigned







X
Comments:

N/A








types handle msb==1 as intended: [N78]







































No possibility of dereferencing a null







X
Comments:

documented in usage notes








pointer: [N70]










no run-time check for throughput reasons



























Global outputs (RTE and Non-RTE) Initialized:







X
Comments:

N/A








[N24]







































Module outputs are limited to the legal range







X
Comments:

N/A








defined in the FDD Data dictionary: [N53]







































All code is mapped with FDD (all FDD







X
Comments:

to be added in later rev, after FDD and








subfunctions and/or model blocks identified










FRs are created


with code comments; all code corresponds to























some FDD subfunction and/or model block): [N40]
















































Struct types used for NvM have







X
Comments:

N/A








elements declared in decreasing order by size














and are not nested or used in arrays: [N84], [N85]
















































No violations of other coding standard rules







X
Comments:











identified during review
























































































General Notes / Comments:























reviewed after rework from initial review (rework done: _f32 added to function names of functions that return float32; capitalization corrected on memory mapping

names; design limitation regarding no checking for null pointers added as usage note in function comment blocks, to be added to design component when created)































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kathleen Creager


Review Date :

03/03/15
































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 4: QAC - initial review






















Rev 6.028-Oct-14
Peer Review Meeting Log (QAC Review)


























Module Name:

kzshz2: Intended Use: Identify which .c file is being analyzed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrFil.h

Source File Revision:


1

Module
1of1


























Compliance Guidelines Version:




EA4 working









































kzshz2: Intended Use: Identify specific changes in results (new violation present, previous violation corrected, etc.). Changes to the version of the tool or the way the results were gathered should be described here also. This should be filled out prior to the review by the change owner. Rationale: Gives reviewers an what needs to be focused on. Forces the change owner to compare with previous results to catch any differences that may otherwise go unoticed Brief Summary of Changes (In Results or Tool):

Used NxtrFil_TestHarness.c (in tools folder) for QAC and Polyspace analysis of the NxtrFil.h file.































































Quality Check Items:

































YesNo
Rationale is required for all answers of No









Pre-review
checklist for change owners
QAC version is correct and did not change (List version)







kzshz2: Intended Use: Identify which version of the QAC Subproject was used and if any of the personalities may have changed. Rationale: Will help ensure this is factored into evaluating the results
X
Comments:

1.0.0













component-specific QAC and Polyspace files needed













in order to see warnings on this library header file






















(see tools folder)

































Contract Folder's header files are appropriate





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


X
Comments:

needs rework due to function name changes









































Group-review Checklist (review board)100% Compliance to the MISRA Compliance GuidelinesX
Comments:

Polyspace gives MISRA warning 21.1













for possible null pointer dereference; see comments below
























Cyclomatic complexity and Static path count ok per






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

X
Comments:




Design and Coding Standards rule [N47]






































General Notes / Comments:


























waiting for Polyspace guidelines before using deviation comments for Polyspace-only MISRA warnings. The null pointer warning should not show up when running

Polyspace on an integration project.




























LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kathleen Creager


Review Date :

02/27/15
































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):




































Other Reviewer(s):


Lucas Wendling






































































Sheet 5: QAC - rework review






















Rev 6.028-Oct-14
Peer Review Meeting Log (QAC Review)


























Module Name:

kzshz2: Intended Use: Identify which .c file is being analyzed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrFil.h

Source File Revision:


1

Module
1of1


























Compliance Guidelines Version:




EA4 working









































kzshz2: Intended Use: Identify specific changes in results (new violation present, previous violation corrected, etc.). Changes to the version of the tool or the way the results were gathered should be described here also. This should be filled out prior to the review by the change owner. Rationale: Gives reviewers an what needs to be focused on. Forces the change owner to compare with previous results to catch any differences that may otherwise go unoticed Brief Summary of Changes (In Results or Tool):

Used NxtrFil_TestHarness.c (in tools folder) for QAC and Polyspace analysis of the NxtrFil.h file.































































Quality Check Items:

































YesNo
Rationale is required for all answers of No









Pre-review
checklist for change owners
QAC version is correct and did not change (List version)







kzshz2: Intended Use: Identify which version of the QAC Subproject was used and if any of the personalities may have changed. Rationale: Will help ensure this is factored into evaluating the results
X
Comments:

1.0.0













component-specific QAC and Polyspace files needed













in order to see warnings on this library header file






















(see tools folder)

































Contract Folder's header files are appropriate





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


X
Comments:












































Group-review Checklist (review board)100% Compliance to the MISRA Compliance GuidelinesX
Comments:

Polyspace gives MISRA warning 21.1













for possible null pointer dereference; see comments below
























Cyclomatic complexity and Static path count ok per






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

X
Comments:




Design and Coding Standards rule [N47]






































General Notes / Comments:























re-run and re-reviewed after source code and contract folder file rework from initial review

waiting for Polyspace guidelines before using deviation comments for Polyspace-only MISRA warnings. The null pointer warning should not show up when running

Polyspace on an integration project. Usaage notes in function comment blocks document the design limitation.




























LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kathleen Creager


Review Date :

03/03/15
































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 6: Integration Manual






















Rev 6.028-Oct-14
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrFil Integration Manual

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 1





























Quality Check Items:

































YesNo
Rationale is required for all answers of No









Group-review Checklist (review board)Synergy version matches header








X
Comments:










































Latest template used








X
Comments:










































Change log contains detailed description of changes








X
Comments:

NA







































Changes Highlighted (for Integrator)








X
Comments:

NA








































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kathleen Creager


Review Date :

03/03/15
































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































9 - Component Implementation

Component Implementation

Component Documentation

9.1 - NxtrFixdPt Integration Manual

Integration Manual

For

NxtrFixdPt

VERSION: 1.2

DATE: 13/02/2015

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionSelva Sengottaiyan1.002/13/15

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 Non RTE NvM Blocks 10

7.4 RTE NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1Working EA4 naming Conventions[1]Temp
2AutoSAR and Nexteer KeyWord Abbreviations list[1]Temp

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

FloatToFixdWithRound_s16_f32()

FloatToFixdWithRound_s32_f32()

FloatToFixdWithRound_u16_f32()

FloatToFixdWithRound_u32_f32()

FloatToFixd_s16_f32()

FloatToFixd_s32_f32()

FloatToFixd_u16_f32()

FloatToFixd_u32_f32()

FixdToFloat_f32_s16()

FixdToFloat_f32_s32()

FixdToFloat_f32_u16()

FixdToFloat_f32_u32()

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

N/A

Required Global Data Outputs

N/A

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
NoneNoneRTE/ISR(<time>ms)
RunnableScheduling RequirementsTrigger
NoneNoneRTE/ISR(<time>ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

[1] – No official document released for EA4.0.

9.2 - NxtrFixdPt Review


Overview

Summary Sheet
Source Code
QAC
Integration Manual


Sheet 1: Summary Sheet
























Rev 6.028-Oct-14

Peer Review Summary Sheet



























Component Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. NxtrFixdPt
Component Revision:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR103A_NxtrFixdPt





























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Selva Sengottaiyan
Change Request ID:


EA4#139





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:
















































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































MDD


XSource Code



Data Dictionary


XQAC



































XIntegration Manual


Davinci Files








































































Comments:

No MDDfor v1



























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request. (Note: If this peer review form was not
completed for pervious versions of this component, the Change Owner should review the entire component and complete the checklist in its entirety prior and check
the form into Syngery. This may be done prior to reviewing the modifications for this Change Result)
- The Change Owner shall responsible for completing the entire checklist (Pre and Group review items) prior holding the initial group review.
- New components should include FDD Owner and Intergator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Select "Yes" and add "N/A" to the comments for checklist items that are not applicable for this change















Sheet 2: Source Code






















Rev 6.028-Oct-14
Peer Review Meeting Log (Source Code Review)

























Source File Name:




kzshz2: Intended Use: Identify which .asm, .c, or .h file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrFixdPt.h
Source File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 1

























Module Design Document Name:




kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD N/A
MDD Revision:


kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD N/A

























Data Dictionary Revision:




kzshz2: Intended Use: Identify which version of the Data Dictionary was referenced for ranges during the source file review. Rationale: Needed for traceability between source code and DD N/A




FDD/SER/CMS























and Revision:


nz63rn: Intended Use: Identify which version of which FDD/CMS/SER this source file was written against. Rationale: Needed for traceability between source code and FDD/CMS/SER N/A

Quality Check Items:

































YesNo
Rationale is required for all answers of No









Pre-review checklist for change ownersSoftware Naming Convention V1.2 followed:








































for variable names







X
Comments: Per working EA4 Naming Conventions

















































for constant names







X
Comments: Per working EA4 Naming Conventions

















































for function names







X
Comments: Per working EA4 Naming Conventions

















































for other names (component, memory







X
Comments: Per working EA4 Naming Conventions










mapping handles, typedefs, etc.)






































All buffered outputs written in every path, i.e. no








X
Comments: N/A










possibility of an uninitialized value being written






































Group-review Checklist (review board)Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.




Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








X
Comments:



and CR number





































Code accurately implements FDD (Document or Model)








X

Comments:

No FDD Currently Available







































No Compiler Errors or Warnings verified


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





X
Comments:

Component only has header file













































FDD test points exist as display variables: declared








X
Comments: N/A










static volatile, written once and never used, names













match the FDD













































Software Design and Coding Standards V2.0 followed:








































Code comments are clear, correct, and adequate







X
Comments:











and have been updated for the change: [N40] and














all other rules in the same section as rule [N40],























plus [N75], [N12], [N23], [N33], [N37], [N38],























[N48], [N54], [N77], [N79], [N72]
















































Source file (.c and .h) comment blocks are per







X
Comments:











standards and contain correct information: [N41], [N42]







































Function comment blocks are per standards and







X
Comments:











contain correct information: [N43]







































Code formatting (indentation, placement of







X
Comments:











braces, etc.) is per standards: [N5], [N55], [N56],














[N57], [N58], [N59]
















































Embedded constants used per standards; no







X
Comments:











"magic numbers": [N12]







































All variables and constants defined at module







X
Comments: N/A for inline functions











level are included in appropriate MemMap














section: [N25] and Naming Conventions
















































All execution-order-dependent code can be







X
Comments:

N/A








recognized by the compiler: [N80]







































No possibility of a non-terminating loop: [N63]







X
Comments:

N/A

















































No possibility of divide by zero: [N65]







X
Comments:

N/A

















































All integer division and modulus operations







X
Comments:











handle negative numbers correctly: [N76]







































All typecasting and fixed point arithmetic,







X
Comments:











including all use of fixed point macros and














timer functions, is correct and has no possibility























of unintended overflow or underflow: [N66]
















































No possibility of converting a negative floating








X
Comments:

If the input arguments are not followed based on the rules. There is possibility for unexpected results








point value to an unsigned type: [N67]







































All conversions between signed and unsigned







X
Comments:











types handle msb==1 as intended: [N78]







































No possibility of dereferencing a null







X
Comments: N/A











pointer: [N70]







































Global outputs (RTE and Non-RTE) Initialized:







X
Comments: N/A











[N24]







































Module outputs are limited to the legal range







X
Comments: N/A











defined in the FDD Data dictionary: [N53]







































All code is mapped with FDD (all FDD







X

Comments: No FDD Available











subfunctions and/or model blocks identified














with code comments; all code corresponds to























some FDD subfunction and/or model block): [N40]
















































Struct types used for NvM have







X
Comments: N/A











elements declared in decreasing order by size














and are not nested or used in arrays: [N84], [N85]
















































No violations of other coding standard rules







X
Comments:











identified during review
























































































General Notes / Comments:























Mplr for mutiplier

Remove 1 from the inp and mplr1

add the usage notes as comments ie input range

run polyspace and QAC




























LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Selva Sengottaiyan


Review Date :

02/13/15
































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Lucas Wendling
Kathleen Creager




































































Sheet 3: QAC






















Rev 6.028-Oct-14
Peer Review Meeting Log (QAC Review)


























Module Name:

kzshz2: Intended Use: Identify which .c file is being analyzed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrFixdPt.h

Source File Revision:


1

Module
1of1


























Compliance Guidelines Version:




N/A









































kzshz2: Intended Use: Identify specific changes in results (new violation present, previous violation corrected, etc.). Changes to the version of the tool or the way the results were gathered should be described here also. This should be filled out prior to the review by the change owner. Rationale: Gives reviewers an what needs to be focused on. Forces the change owner to compare with previous results to catch any differences that may otherwise go unoticed Brief Summary of Changes (In Results or Tool):


































































Quality Check Items:

































YesNo
Rationale is required for all answers of No









Pre-review
checklist for change owners
QAC version is correct and did not change (List version)







kzshz2: Intended Use: Identify which version of the QAC Subproject was used and if any of the personalities may have changed. Rationale: Will help ensure this is factored into evaluating the results
X
Comments:

Using working EA4 version plus special analyzer file which was reviewed







































Contract Folder's header files are appropriate





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


X
Comments:












































Group-review Checklist (review board)100% Compliance to the MISRA Compliance Guidelines
X
Comments:

Approved deviations for 8.5 and 1.1







































Cyclomatic complexity and Static path count ok per






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

X
Comments:




Design and Coding Standards rule [N47]






































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Selva Sengottaiyan


Review Date :

02/13/15
































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 4: Integration Manual






















Rev 6.028-Oct-14
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrFixdPt Integration Manual

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 1





























Quality Check Items:

































YesNo
Rationale is required for all answers of No









Group-review Checklist (review board)Synergy version matches header








X
Comments:










































Latest template used








X
Comments:










































Change log contains detailed description of changes








X
Comments:










































Changes Highlighted (for Integrator)








X
Comments:

Initial version








































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Selva Sengottaiyan


Review Date :

02/13/15
































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































10 - Component Implementation

Component Implementation

Component Documentation

10.1 - NxtrIntrpn Integration Manual

Integration Manual

For

NxtrIntrpn

VERSION: 1.0

DATE: 02/19/2015

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionK. Smith1.002/19/15

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 Non RTE NvM Blocks 10

7.4 RTE NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1Working EA4 naming Conventions[1]Temp
2AutoSAR and Nexteer KeyWord Abbreviations list[1]Temp

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

LnrIntrpn_u16_u16FixdXu16VariY()

LnrIntrpn_s16_u16FixdXs16VariY()

LnrIntrpn_u16_u16VariXu16VariY()

LnrIntrpn_u16_s16VariXu16VariY()

LnrIntrpn_s16_s16VariXs16VariY()

LnrIntrpn_s16_u16VariXs16VariY()

LnrIntrpnWithRound_u16_u16FixdXu16VariY()

LnrIntrpnWithRound_s16_u16FixdXs16VariY()

LnrIntrpnWithRound_u16_u16VariXu16VariY()

LnrIntrpnWithRound_u16_s16VariXu16VariY()

LnrIntrpnWithRound_s16_s16VariXs16VariY()

LnrIntrpnWithRound_s16_u16VariXs16VariY()

BilnrIntrpnWithRount_u16_u16CmnXu16MplY()

BilnrIntrpnWithRound_s16_u16CmnXs16MplY()

BilnrIntrpnWithRound_s16_s16CmnXs16MplY()

BilnrIntrpnWithRound_u16_s16CmnXu16MplY()

BilnrIntrpnWithRound_s16_u16MplXs16MplY()

BilnrIntrpnWithRound_s16_s16MplXs16MplY()

BilnrIntrpnWithRound_u16_u16MplXu16MplY()

BilnrIntrpnWithRound_u16_s16MplXu16MplY()

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

N/A

Required Global Data Outputs

N/A

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
NoneNoneRTE/ISR(<time>ms)
RunnableScheduling RequirementsTrigger
NoneNoneRTE/ISR(<time>ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None
NxtrIntrpn_START_SEC_CODE

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

[1] – No official document released for EA4.0 for this document’s revision.

10.2 - NxtrIntrpn Review


Overview

Summary Sheet
Source Code
QAC


Sheet 1: Summary Sheet
























Rev 6.028-Oct-14

Peer Review Summary Sheet



























Component Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. Nexteer Interpolation Library
Component Revision:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR101A_NxtrIntrpn_Impl_1.0.1





























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. K. Smith
Change Request ID:


EA4#1143





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:
















































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































MDD


XSource Code



Data Dictionary


XQAC



































Integration Manual


Davinci Files








































































Comments:






























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request. (Note: If this peer review form was not
completed for pervious versions of this component, the Change Owner should review the entire component and complete the checklist in its entirety prior and check
the form into Syngery. This may be done prior to reviewing the modifications for this Change Result)
- The Change Owner shall responsible for completing the entire checklist (Pre and Group review items) prior holding the initial group review.
- New components should include FDD Owner and Intergator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Select "Yes" and add "N/A" to the comments for checklist items that are not applicable for this change















Sheet 2: Source Code






















Rev 6.028-Oct-14
Peer Review Meeting Log (Source Code Review)

























Source File Name:




kzshz2: Intended Use: Identify which .asm, .c, or .h file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrIntrpn.c
Source File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 2

























Module Design Document Name:




kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD N/A
MDD Revision:


kzshz2: Intended Use: Identify which version of the MDD this source file was written against. Rationale: Needed for traceability between source code and MDD N/A

























Data Dictionary Revision:




kzshz2: Intended Use: Identify which version of the Data Dictionary was referenced for ranges during the source file review. Rationale: Needed for traceability between source code and DD N/A




FDD/SER/CMS























and Revision:


nz63rn: Intended Use: Identify which version of which FDD/CMS/SER this source file was written against. Rationale: Needed for traceability between source code and FDD/CMS/SER N/A

Quality Check Items:

































YesNo
Rationale is required for all answers of No









Pre-review checklist for change ownersSoftware Naming Convention V1.2 followed:








































for variable names







X
Comments:

















































for constant names







X
Comments:

















































for function names







X
Comments:

















































for other names (component, memory







X
Comments:










mapping handles, typedefs, etc.)






































All buffered outputs written in every path, i.e. no








X
Comments:










possibility of an uninitialized value being written






































Group-review Checklist (review board)Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


X
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








X
Comments:



and CR number





































Code accurately implements FDD (Document or Model)








X
Comments:

Model / FDD not yet available







































No Compiler Errors or Warnings verified


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





X
Comments:
















































FDD test points exist as display variables: declared








X
Comments:










static volatile, written once and never used, names













match the FDD













































Software Design and Coding Standards V2.0 followed:








































Code comments are clear, correct, and adequate







X
Comments:











and have been updated for the change: [N40] and














all other rules in the same section as rule [N40],























plus [N75], [N12], [N23], [N33], [N37], [N38],























[N48], [N54], [N77], [N79], [N72]
















































Source file (.c and .h) comment blocks are per







X
Comments:











standards and contain correct information: [N41], [N42]







































Function comment blocks are per standards and







X
Comments:











contain correct information: [N43]







































Code formatting (indentation, placement of







X
Comments:











braces, etc.) is per standards: [N5], [N55], [N56],














[N57], [N58], [N59]
















































Embedded constants used per standards; no







X
Comments:











"magic numbers": [N12]







































All variables and constants defined at module







X
Comments:











level are included in appropriate MemMap














section: [N25] and Naming Conventions
















































All execution-order-dependent code can be







X
Comments:











recognized by the compiler: [N80]







































No possibility of a non-terminating loop: [N63]







X

Comments:




















































No possibility of divide by zero: [N65]








X
Comments:
In order to save execution time, these checks





















are not included. However, Design doc clearly states this as a limitation.

















All integer division and modulus operations







X
Comments:











handle negative numbers correctly: [N76]







































All typecasting and fixed point arithmetic,







X
Comments:











including all use of fixed point macros and














timer functions, is correct and has no possibility























of unintended overflow or underflow: [N66]
















































No possibility of converting a negative floating








X
Comments:
This is done by design.









point value to an unsigned type: [N67]







































All conversions between signed and unsigned







X
Comments:











types handle msb==1 as intended: [N78]







































No possibility of dereferencing a null







X
Comments:











pointer: [N70]







































Global outputs (RTE and Non-RTE) Initialized:







X
Comments:











[N24]







































Module outputs are limited to the legal range







X
Comments:











defined in the FDD Data dictionary: [N53]







































All code is mapped with FDD (all FDD







X
Comments:











subfunctions and/or model blocks identified














with code comments; all code corresponds to























some FDD subfunction and/or model block): [N40]
















































Struct types used for NvM have







X
Comments:











elements declared in decreasing order by size














and are not nested or used in arrays: [N84], [N85]
















































No violations of other coding standard rules







X
Comments:











identified during review
























































































General Notes / Comments:























Model/FDD/M-files are still being worked on.


































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

K. Smith


Review Date :

07/24/15
































Lead Peer Reviewer:


Lucas W.


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: QAC






















Rev 6.028-Oct-14
Peer Review Meeting Log (QAC Review)


























Module Name:

kzshz2: Intended Use: Identify which .c file is being analyzed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrIntrpn.c

Source File Revision:


2

Module
1of1


























Compliance Guidelines Version:















































kzshz2: Intended Use: Identify specific changes in results (new violation present, previous violation corrected, etc.). Changes to the version of the tool or the way the results were gathered should be described here also. This should be filled out prior to the review by the change owner. Rationale: Gives reviewers an what needs to be focused on. Forces the change owner to compare with previous results to catch any differences that may otherwise go unoticed Brief Summary of Changes (In Results or Tool):


































































Quality Check Items:

































YesNo
Rationale is required for all answers of No









Pre-review
checklist for change owners
QAC version is correct and did not change (List version)







kzshz2: Intended Use: Identify which version of the QAC Subproject was used and if any of the personalities may have changed. Rationale: Will help ensure this is factored into evaluating the results
X
Comments:










































Contract Folder's header files are appropriate





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


X
Comments:












































Group-review Checklist (review board)100% Compliance to the MISRA Compliance GuidelinesX
Comments:










































Cyclomatic complexity and Static path count ok per






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

X
Comments:




Design and Coding Standards rule [N47]






































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

K. Smith


Review Date :

07/24/15
































Lead Peer Reviewer:


Lucas W.


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































11.1 - NxtrMath Integration Manual

Integration Manual

For

NxtrMath

VERSION: 3

DATE: 05/26/2017

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionLucas Wendling102/18/15
2Added MemmapAvinash James203/22/17
3Updated for addition of error handling functionJared Julien305/26/17

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 Non RTE NvM Blocks 10

7.4 RTE NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

__gh_set_errno

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

<Configuration file that will generated from this components that will require Da Vinci Config generation or manual generation. Describe each parameter >

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

N/A

Required Global Data Outputs

N/A

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
NxtrMathInit1NoneRTE Init
RunnableScheduling RequirementsTrigger
NxtrMathPer1NoneRTE (100ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
NxtrMath_START_SEC_CONST_16None
GlobalShared_START_SEC_VAR_CLEARED_32To be defined in MemMap.h of project
NxtrMath_START_SEC_CODENone

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
<Memmap usuage info>

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
<NVM block used Non RTE functions >

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
<NVM block used in RTE functions >

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

<This section is for appendix>

11.2 - NxtrMath Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
PolySpace
Integration Manual


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR100A_NxtrMath_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. 1.4.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Jared Julien
Work CR ID:


EA4#12469





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


YesSource Code


YesPolySpace









































YesIntegration Manual


N/ADavinci Files








































































Comments:

MDD was not created as part of this change - FDD captures all relevant design details



























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include FDD Owner and Integrator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

06/13/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































*Cfg.arxml.TT: Verfied Davinci Configurator imported the








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








N/A
Comments:




versions (If available)

kzshz2: Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.








Initial versions
























Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file and have been converted to counts






















for fixed point types














































Calibration port initialization values match







N/A
Comments:










DataDict.m file and have been converted to counts






















for fixed point types














































Mapping set and all unused items have been







Yes
Comments:










removed













































All sender/receiver port read/writes using direct








N/A
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien
Review Date :

06/13/17
Component Type :


Application



























Lead Peer Reviewer:


Avinash James
Approved by Reviewer(s):



Yes

































Other Reviewer(s):










































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


NxtrMath.c

Source File Revision:


2
Source File Name:


NxtrMathNonRte.c

Source File Revision:


1
Header File Name:


NxtrMath_private.h

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 1

























MDD Name:

N/A

Revision:
N/A

























FDD/SCIR/DSR/FDR/CM Name:




AR100A_NxtrMath_Design

Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







Yes
Comments:






















Only for changes

























for constant names







Yes
Comments:






















Only for changes

























for function names







Yes
Comments:






















__gh_set_errno deviates as per design

























for other names (component, memory







Yes
Comments:










mapping handles, typedefs, etc.)










Only for changes
























All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:






















Only for changes
Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Component.h is included








Yes
Comments:
























All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:










and have been updated for the change: [N40] and










Only for changes

all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:










standards and contain correct information: [N41], [N42]










Only for changes

























Function comment blocks are per standards and







Yes
Comments:










contain correct information: [N43]










Only for changes

























Code formatting (indentation, placement of







Yes
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],










Only for changes

[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]










Only for changes

























Memory mapping for non-RTE code







Yes
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































All loops have termination conditions that ensure







N/A
Comments:










finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:










if needed: [N65]










N/A for changes

























All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]










N/A for changes

























All typecasting and fixed point arithmetic,







N/A
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsiged conversions ensure the.







N/A
Comments:










float value is non-negative: [N67]










Only for changes

























All conversions between signed and unsigned







Yes
Comments:










types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







N/A
Comments:










null pointer if needed: [N70]





































Component outputs are limited to the legal range







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

06/13/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 5: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


NxtrMath.cSource File Revision:


2

Source File Name:


NxtrMathNonRte.cSource File Revision:


1

Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.02.00









Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 N/A


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline





























Are previously added justification and deviation








Yes
Comments:





comments still appropriate






































Do all MISRA deviation comments use approved








Yes
Comments:





deviation tags






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

No
Comments:





for all functions in the component per Design










Found cyclomatic complexity 17 for SinCos_f32() function











and Coding Standards rule [N47]

































































































General Notes / Comments:























Polyspace is pointing out potential overflow issues in the Abslt and Bln library functions which are outside the scope of this change.

Rte_Stubs.c/h have been manually altered to include definitions for the Test Harness functionality for this component (they are not defined in the .m file)




























LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

06/13/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 6: Integration Manual






















Rev 1.28-Jun-15
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrMath Integration Manual.doc

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 3





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:










































Latest template used








Yes
Comments:
















Didn't change
























Change log contains detailed description of changes








Yes
Comments:










































Changes Highlighted (for Integrator)








Yes
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

06/13/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































11.3 - Optimized SinCos Algorithm Rev 001

Optimized SinCos Algorithm

  1. Background:

The following diagram is an overview of the operations that are performed during digital motor angle initialization to compute their correction tables.

Generate Reconstructed Waveform Pseudo Code:

for n = 0 to 128 // size of correction table

$ReconstructedWaveform\lbrack n\rbrack \cong \sum_{i = 1}^{12}{Acoeff\lbrack i\rbrack*\cos\left( \frac{n*2pi*i}{127} \right) +}Bcoeff\lbrack i\rbrack*\sin\left( \frac{n*2pi*i}{127} \right)$

As shown in the pseudo code there is several calls to the sine and cosine function (128 * 12). Furthermore, the algorithm requires both the sine and cosine of the same angle. During benchmarking activities the following algorithm was developed and shown to have significant time improvements (~= 5.5 mSec vs ~= 2.4 mSec) over the standard sine and cosine library functions.

  1. Sine and Cosine as Taylor Series:

$$Sin(x) = x - \frac{x^{3}}{3!} + \frac{x^{5}}{5!} - \frac{x^{7}}{7!}\ldots$$

$$Cos(x) = 1 - \frac{x^{2}}{2!} + \frac{x^{4}}{4!} - \frac{x^{5}}{5!}\ldots$$

  1. Range Reduction:

Although the Taylor Series for sine and cosine are exact it technically takes an infinite number of terms. The purpose of limiting the value of x into the Taylor Series is so that it doesn’t take many terms before the factorial in the denominator dwarfs the numerator. To limit the input range of x the following identity is used:

Sin(A+B) = Sin(A)Cos(B) + Sin(B)Cos(A)

For reasons that will be discussed later B will be declared as 22.5n, where n is an integer between 0 and 15. Using this technique the largest x input into the Taylor Series will be +/- 11.25 Degrees (0.1963 Radians).

Now that the maximum input value of x has been established it is possible to determine the number of terms in the Taylor Series that are required to achieve acceptable levels of accuracy.

# of TermsSin(x)Sin(x) Max ErrorCos(x)Cos(x) Max Error
1Sin(x) = x0.001259Cos(x) = 10.0192
2$$Sin(x) = x - \frac{x^{3}}{3!}$$2.4297E-6$$Cos(x) = 1 - \frac{x^{2}}{2!}$$6.18515E-5
3$$Sin(x) = x - \frac{x^{3}}{3!} + \frac{x^{5}}{5!}$$2.2312E-9$$Cos(x) = 1 - \frac{x^{2}}{2!} + \frac{x^{4}}{4!}$$7.953E-8

As the table above shows an acceptable level of accuracy can be achieved with only 2 terms in the sine and cosine Taylor Series once the input has been range limited to +/- 11.25 degrees.

  1. Algorithm:

Calculate n & B:

As shown before, n is the largest integer that satisfies: 22.5n < x. This can be performed using integer math where:

$$n = floor\left( \frac{x*8}{\pi} \right):where\frac{8}{\pi}Radians = 22.5\ Degrees$$

The above equation will leave a remainder that ranges from 0 to 22.5 degrees. By adding in a 0.5 term the result will round up leaving a remainder with the desired range of +/- 11.25 Degrees. Therefore n is calculated as:

$$n = floor\left( \frac{x*8}{\pi} + 0.5 \right)$$

The B term is a simple multiple of n:

$$B = \frac{\pi}{8}*n$$

Determine A:

The A term is the effective remainder of the input angle x minus the B term.

A = x − B

Compute Sin(A) & Cos(A):

Once input x has been range limited into A the term limited Taylor Series of sine and cosine can be computed:

$$Sin(A) = A - \frac{A^{3}}{3!}$$

$$Cos(A) = 1 - \frac{A^{2}}{2!}$$

Compute Sin(x):

Now that Sin(A) & Cos(A) have been determined they can be combined with Sin(B) & Cos(B) to determine Sin(x). The B term is a function of n, which was earlier stated to be a multiple of 22.5 degrees of which there are 16 per revolution. Input x is has no theoretical bound but determining Sin(B) & Cos(B) can be simplified by normalizing n into a single revolution. With n having 16 steps per revolution the normalization is a simple bit mask.

nnrml = n & 0xF

With normalized n determined it can be used as an index into a switch case statement to determine Sin(x)

Switch (n_nrml)

Case 0:

Sinx = Sin(A)Cos(22.5 * 0) + Sin(22.5 * 0)Cos(A)

Case 1:

Sinx = Sin(A)Cos(22.5 * 1) + Sin(22.5 * 1)Cos(A)

Case 2:

Sinx = Sin(A)Cos(22.5 * 2) + Sin(22.5 * 2)Cos(A)

Case 3:

Sinx = Sin(A)Cos(22.5 * 3) + Sin(22.5 * 3)Cos(A)

Case 4:

Sinx = Sin(A)Cos(22.5 * 4) + Sin(22.5 * 4)Cos(A)

Case 5:

Sinx = Sin(A)Cos(22.5 * 5) + Sin(22.5 * 5)Cos(A)

Case 6:

Sinx = Sin(A)Cos(22.5 * 6) + Sin(22.5 * 6)Cos(A)

Case 7:

Sinx = Sin(A)Cos(22.5 * 7) + Sin(22.5 * 7)Cos(A)

Case 8:

Sinx = Sin(A)Cos(22.5 * 8) + Sin(22.5 * 8)Cos(A)

Case 9:

Sinx = Sin(A)Cos(22.5 * 9) + Sin(22.5 * 9)Cos(A)

Case 10:

Sinx = Sin(A)Cos(22.5 * 10) + Sin(22.5 * 10)Cos(A)

Case 11:

Sinx = Sin(A)Cos(22.5 * 11) + Sin(22.5 * 11)Cos(A)

Case 12:

Sinx = Sin(A)Cos(22.5 * 12) + Sin(22.5 * 12)Cos(A)

Case 13:

Sinx = Sin(A)Cos(22.5 * 13) + Sin(22.5 * 13)Cos(A)

Case 14:

Sinx = Sin(A)Cos(22.5 * 14) + Sin(22.5 * 14)Cos(A)

Case 15:

Sinx = Sin(A)Cos(22.5 * 15) + Sin(22.5 * 15)Cos(A)

The Sin(B) & Cos(B) terms above can be simplified due to their symmetrical nature into 3 predefined constants:

Sin(22.5) = Cos(67.5) = 0.38263

Sin(45.0) = Cos(45.0) = 0.70710

Sin(67.5) = Cos(22.5) = 0.92387

Cos(x) for Free (almost):

The previous calculation computed Sin(x) as a function of Sin(A), Cos(A), Sin(B) & Cos(B). As it turns out cosine has a similar trig identity that uses the exact same terms.

Cos(A+B) = Cos(A)Cos(B) − Sin(A)Sin(B)

The switch case can be modified to simultaneously be used to return the sine and cosine of the same angle at the same time:

Switch (n_nrml)

Case 0:

Sinx = Sin(A)Cos(22.5 * 0) + Sin(22.5 * 0)Cos(A)

Cosx = Cos(A)Cos(22.5 * 0) + Sin(A) Sin(22.5 * 0)

Case 1:

Sinx = Sin(A)Cos(22.5 * 1) + Sin(22.5 * 1)Cos(A)

Cosx = Cos(A)Cos(22.5 * 1) + Sin(A) Sin(22.5 * 1)

Case 2:

Sinx = Sin(A)Cos(22.5 * 2) + Sin(22.5 * 2)Cos(A)

Cosx = Cos(A)Cos(22.5 * 2) + Sin(A) Sin(22.5 * 2)

Case 3:

Sinx = Sin(A)Cos(22.5 * 3) + Sin(22.5 * 3)Cos(A)

Cosx = Cos(A)Cos(22.5 * 3) + Sin(A) Sin(22.5 * 3)

Case 4:

Sinx = Sin(A)Cos(22.5 * 4) + Sin(22.5 * 4)Cos(A)

Cosx = Cos(A)Cos(22.5 * 4) + Sin(A) Sin(22.5 * 4)

Case 5:

Sinx = Sin(A)Cos(22.5 * 5) + Sin(22.5 * 5)Cos(A)

Cosx = Cos(A)Cos(22.5 * 5) + Sin(A) Sin(22.5 * 5)

Case 6:

Sinx = Sin(A)Cos(22.5 * 6) + Sin(22.5 * 6)Cos(A)

Cosx = Cos(A)Cos(22.5 * 6) + Sin(A) Sin(22.5 * 6)

Case 7:

Sinx = Sin(A)Cos(22.5 * 7) + Sin(22.5 * 7)Cos(A)

Cosx = Cos(A)Cos(22.5 * 7) + Sin(A) Sin(22.5 * 7)

Case 8:

Sinx = Sin(A)Cos(22.5 * 8) + Sin(22.5 * 8)Cos(A)

Cosx = Cos(A)Cos(22.5 * 8) + Sin(A) Sin(22.5 * 8)

Case 9:

Sinx = Sin(A)Cos(22.5 * 9) + Sin(22.5 * 9)Cos(A)

Cosx = Cos(A)Cos(22.5 * 9) + Sin(A) Sin(22.5 * 9)

Case 10:

Sinx = Sin(A)Cos(22.5 * 10) + Sin(22.5 * 10)Cos(A)

Cosx = Cos(A)Cos(22.5 * 10) + Sin(A) Sin(22.5 *10)

Case 11:

Sinx = Sin(A)Cos(22.5 * 11) + Sin(22.5 * 11)Cos(A)

Cosx = Cos(A)Cos(22.5 * 11) + Sin(A) Sin(22.5 * 11)

Case 12:

Sinx = Sin(A)Cos(22.5 * 12) + Sin(22.5 * 12)Cos(A)

Cosx = Cos(A)Cos(22.5 * 12) + Sin(A) Sin(22.5 * 12)

Case 13:

Sinx = Sin(A)Cos(22.5 * 13) + Sin(22.5 * 13)Cos(A)

Cosx = Cos(A)Cos(22.5 * 13) + Sin(A) Sin(22.5 * 13)

Case 14:

Sinx = Sin(A)Cos(22.5 * 14) + Sin(22.5 * 14)Cos(A)

Cosx = Cos(A)Cos(22.5 * 14) + Sin(A) Sin(22.5 * 14)

Case 15:

Sinx = Sin(A)Cos(22.5 * 15) + Sin(22.5 * 15)Cos(A)

Cosx = Cos(A)Cos(22.5 * 15) + Sin(A) Sin(22.5 * 15)

  1. Performance:

The following graph shows the output and error of the algorithm. The maximum errors for sine and cosine are:

SinErrorMax = 6.1799e-05

CosErrorMax = 6.1618e-05

  1. Matlab Code:

%% Optimized SinCos Algorithm

ArraySize = uint16(100000);

PiOverEight = pi/8;

EightOverPi = 8/pi;

sin225 = sin(22.5/180*pi);

sin450 = sin(45.0/180*pi);

sin675 = sin(67.5/180*pi);

x = linspace(-2*pi, 2*pi,ArraySize)';

SinX = zeros(ArraySize,1);

CosX = zeros(ArraySize,1);

n = int16(floor(x * EightOverPi + 0.5));

A = (x - double(n) * PiOverEight);

SinA = A - (A.^3)/6;%+(A.^5)/120;

CosA = 1 - (A.^2)/2;%+(A.^4)/24;

n_nrml = bitand(n,15);

for i = 1:ArraySize

switch n_nrml(i)

case 0

SinX(i) = SinA(i);

CosX(i) = CosA(i);

case 1

SinX(i) = sin675 * SinA(i) + sin225 * CosA(i);

CosX(i) = -sin225 * SinA(i) + sin675 * CosA(i);

case 2

SinX(i) = sin450 * SinA(i) + sin450 * CosA(i);

CosX(i) = -sin450 * SinA(i) + sin450 * CosA(i);

case 3

SinX(i) = sin225 * SinA(i) + sin675 * CosA(i);

CosX(i) = -sin675 * SinA(i) + sin225 * CosA(i);

case 4

SinX(i) = CosA(i);

CosX(i) = -SinA(i);

case 5

SinX(i) = -sin225 * SinA(i) + sin675 * CosA(i);

CosX(i) = -sin675 * SinA(i) + -sin225 * CosA(i);

case 6

SinX(i) = -sin450 * SinA(i) + sin450 * CosA(i);

CosX(i) = -sin450 * SinA(i) + -sin450 * CosA(i);

case 7

SinX(i) = -sin675 * SinA(i) + sin225 * CosA(i);

CosX(i) = -sin225 * SinA(i) + -sin675 * CosA(i);

case 8

SinX(i) = -SinA(i);

CosX(i) = -CosA(i);

case 9

SinX(i) = -sin675 * SinA(i) + -sin225 * CosA(i);

CosX(i) = sin225 * SinA(i) + -sin675 * CosA(i);

case 10

SinX(i) = -sin450 * SinA(i) + -sin450 * CosA(i);

CosX(i) = sin450 * SinA(i) + -sin450 * CosA(i);

case 11

SinX(i) = -sin225 * SinA(i) + -sin675 * CosA(i);

CosX(i) = sin675 * SinA(i) + -sin225 * CosA(i);

case 12

SinX(i) = -CosA(i);

CosX(i) = SinA(i);

case 13

SinX(i) = sin225 * SinA(i) + -sin675 * CosA(i);

CosX(i) = sin675 * SinA(i) + sin225 * CosA(i);

case 14

SinX(i) = sin450 * SinA(i) + -sin450 * CosA(i);

CosX(i) = sin450 * SinA(i) + sin450 * CosA(i);

case 15

SinX(i) = sin675 * SinA(i) + -sin225 * CosA(i);

CosX(i) = sin225 * SinA(i) + sin675 * CosA(i);

end

end

SinError = sin(x) - SinX;

CosError = cos(x) - CosX;

SinErrorMax = max(SinError)

CosErrorMax = max(CosError)

subplot(2,2,1) % first subplot

plot(x*180/pi,SinX)

title('Sin(x)')

xlabel('Angle (Degrees)')

ylabel('Sin(x) (Unitless)')

subplot(2,2,2) % second subplot

plot(x*180/pi,CosX)

title('Cos(x)')

xlabel('Angle (Degrees)')

ylabel('Cos(x) (Unitless)')

subplot(2,2,3) % third subplot

plot(x*180/pi,SinError)

title('Sin(x) Error')

xlabel('Angle (Degrees)')

ylabel('Sin(x) Error (Unitless)')

subplot(2,2,4) % fourth subplot

plot(x*180/pi,CosError)

title('Cos(x) Error')

xlabel('Angle (Degrees)')

ylabel('Cos(x) Error (Unitless)')

11.4 - SinCos_f32()_Simulation


Overview

Error_Analysis
Timing_Analysis


Sheet 1: Error_Analysis


Note: Simulation was run in an actual RENESAS uController on a T1XX board.







































Angle_degSineAngle_degCosineAngle_degError/SineAngle_degError/Cosine
-450-1-4504.77E-07-4505.96E-08-4502.72E-07
-449-0.999848-4490.0174528-4495.96E-08-449-1.43E-07
-448-0.999391-4480.0348998-4480-4481.86E-07
-447-0.998629-4470.0523361-447-2.98E-07-447-2.27E-07
-446-0.997563-4460.069757-446-9.54E-07-446-3.58E-07
-445-0.996192-4450.0871562-445-2.38E-06-4457.45E-09
-444-0.994517-4440.104529-444-4.95E-06-4443.95E-07
-443-0.992537-4430.121869-443-9.24E-06-4439.69E-08
-442-0.990252-4420.139173-442-1.58E-05-4426.41E-07
-441-0.987663-4410.156434-441-2.53E-05-4418.49E-07
-440-0.984769-4400.173647-440-3.87E-05-4401.01E-06
-439-0.981571-4390.190807-439-5.65E-05-4392.15E-06
-438-0.978104-4380.207895-438-4.39E-05-4381.68E-05
-437-0.97434-4370.22494-437-2.94E-05-4371.14E-05
-436-0.970277-4360.241915-436-1.90E-05-4367.11E-06
-435-0.965914-4350.258815-435-1.14E-05-4354.62E-06















-434-0.961255-4340.275635-434-6.50E-06-4342.35E-06
-433-0.956301-4330.29237-433-3.22E-06-4331.43E-06
-432-0.951055-4320.309017-432-1.49E-06-4325.96E-07
-431-0.945518-4310.325568-431-4.77E-07-4315.66E-07
-430-0.939692-4300.34202-430-1.79E-07-4300
-429-0.93358-4290.358368-4291.19E-07-4292.38E-07
-428-0.927184-4280.374607-428-5.96E-08-428-1.49E-07
-427-0.920505-4270.390732-4271.79E-07-4274.17E-07
-426-0.913545-4260.406737-426-5.96E-08-4265.96E-08
-425-0.906308-4250.422618-4250-4253.87E-07
-424-0.898793-4240.438371-424-5.96E-07-4242.09E-07
-423-0.891005-4230.45399-423-1.31E-06-4238.64E-07
-422-0.882944-4220.469471-422-3.22E-06-4221.55E-06
-421-0.874613-4210.484807-421-6.08E-06-4213.22E-06
-420-0.866014-4200.499995-420-1.11E-05-4205.07E-06
-419-0.857149-4190.51503-419-1.82E-05-4198.58E-06
-418-0.848019-4180.529906-418-2.87E-05-4181.29E-05















-417-0.838628-4170.54462-417-4.28E-05-4171.94E-05















-416-0.828996-4160.559155-416-4.12E-05-4163.87E-05















-415-0.819124-4150.57355-415-2.79E-05-4152.69E-05















-414-0.808999-4140.587768-414-1.84E-05-4141.76E-05















-413-0.798624-4130.601804-413-1.11E-05-4131.14E-05















-412-0.788004-4120.615655-412-6.50E-06-4126.74E-06















-411-0.777142-4110.629317-411-3.58E-06-4113.46E-06















-410-0.766043-4100.642786-410-1.49E-06-4101.97E-06















-409-0.754709-4090.656058-409-7.75E-07-4097.15E-07















-408-0.743144-4080.669131-4081.19E-07-4086.56E-07















-407-0.731354-4070.681998-4070-4071.19E-07















-406-0.71934-4060.694658-4063.58E-07-4063.58E-07















-405-0.707107-4050.707107-4055.96E-08-4055.96E-08















-404-0.694658-4040.71934-4041.79E-07-4042.38E-07















-403-0.681998-4030.731354-4031.19E-07-4031.19E-07















-402-0.66913-4020.743145-4021.79E-07-4025.96E-07















-401-0.656058-4010.754709-401-7.15E-07-4017.75E-07















-400-0.642786-4000.766043-400-1.43E-06-4001.97E-06















-399-0.629317-3990.777142-399-3.46E-06-3993.58E-06















-398-0.615655-3980.788004-398-5.96E-06-3987.09E-06















-397-0.601804-3970.798624-397-1.08E-05-3971.16E-05















-396-0.587768-3960.808999-396-1.70E-05-3961.88E-05















-395-0.57355-3950.819124-395-2.63E-05-3952.83E-05















-394-0.559155-3940.828996-394-3.81E-05-3944.17E-05















-393-0.544619-3930.838628-393-1.97E-05-3934.27E-05















-392-0.529906-3920.84802-392-1.34E-05-3922.84E-05















-391-0.515029-3910.857149-391-8.34E-06-3911.84E-05















-390-0.499995-3900.866014-390-4.86E-06-3901.13E-05















-389-0.484807-3890.874613-389-2.98E-06-3896.26E-06















-388-0.46947-3880.882945-388-1.70E-06-3883.04E-06















-387-0.453989-3870.891005-387-6.85E-07-3871.49E-06















-386-0.438371-3860.898794-386-6.56E-07-3862.98E-07















-385-0.422618-3850.906308-385-1.79E-07-3851.19E-07















-384-0.406736-3840.913545-3841.79E-07-3841.19E-07















-383-0.390731-3830.920505-3835.96E-08-3835.96E-08















-382-0.374606-3820.927184-382-2.98E-07-382-1.19E-07















-381-0.358368-3810.933581-381-2.98E-08-3815.96E-08















-380-0.34202-3800.939693-380-4.47E-07-3800















-379-0.325567-3790.945518-379-2.98E-08-3795.96E-07















-378-0.309016-3780.951055-378-8.05E-07-3781.43E-06















-377-0.29237-3770.956302-377-1.19E-06-3773.34E-06















-376-0.275635-3760.961255-376-2.80E-06-3766.38E-06















-375-0.258814-3750.965914-375-4.35E-06-3751.14E-05















-374-0.241914-3740.970277-374-7.26E-06-3741.88E-05















-373-0.224939-3730.974341-373-1.09E-05-3732.96E-05















-372-0.207895-3720.978104-372-1.66E-05-3724.40E-05















-371-0.190807-3710.981571-371-1.88E-06-3715.66E-05















-370-0.173647-3700.984769-370-1.48E-06-3703.86E-05















-369-0.156433-3690.987663-369-1.06E-06-3692.53E-05















-368-0.139172-3680.990252-368-3.73E-07-3681.59E-05















-367-0.121869-3670.992537-3671.64E-07-3679.30E-06















-366-0.104528-3660.994517-366-1.27E-07-3664.95E-06















-365-0.0871557-3650.996192-3652.68E-07-3652.38E-06















-364-0.0697561-3640.997563-3641.56E-07-3649.54E-07















-363-0.0523357-3630.998629-363-2.50E-07-3632.98E-07















-362-0.0348993-3620.999391-3628.57E-08-3620















-361-0.0174523-3610.999848-3614.15E-07-361-5.96E-08















-3600-3601-3600-360-5.96E-08















-3590.0174528-3590.999848-3592.31E-07-359-5.96E-08















-3580.0348998-3580.999391-3581.86E-07-3580















-3570.0523361-3570.998629-3571.49E-07-3572.38E-07















-3560.0697565-3560.997563-3561.12E-07-3568.94E-07















-3550.0871562-3550.996192-3557.45E-09-3552.38E-06















-3540.104529-3540.994517-3542.24E-08-3544.95E-06















-3530.121869-3530.992537-3534.69E-07-3539.18E-06















-3520.139173-3520.990252-3526.41E-07-3521.58E-05















-3510.156434-3510.987663-3519.54E-07-3512.53E-05















-3500.173647-3500.984769-3501.37E-06-3503.86E-05















-3490.190807-3490.981571-3492.15E-06-3495.65E-05















-3480.207895-3480.978104-3481.65E-05-3484.40E-05















-3470.22494-3470.974341-3471.11E-05-3472.94E-05















-3460.241915-3460.970277-3467.57E-06-3461.88E-05















-3450.258815-3450.965914-3454.62E-06-3451.14E-05















-3440.275635-3440.961255-3442.71E-06-3446.44E-06















-3430.29237-3430.956301-3431.43E-06-3433.22E-06















-3420.309016-3420.951055-3427.15E-07-3421.43E-06















-3410.325568-3410.945518-3412.98E-07-3415.36E-07















-3400.34202-3400.939692-3403.58E-07-3405.96E-08















-3390.358368-3390.93358-3392.38E-07-339-1.19E-07















-3380.374607-3380.927184-3382.09E-07-338-5.96E-08















-3370.390731-3370.920505-3371.79E-07-337-5.96E-08















-3360.406736-3360.913545-3361.49E-07-336-5.96E-08















-3350.422618-3350.906308-3353.87E-07-3350















-3340.438371-3340.898793-3345.36E-07-3344.17E-07















-3330.45399-3330.891005-3338.64E-07-3331.31E-06















-3320.46947-3320.882944-3321.64E-06-3323.16E-06















-3310.484807-3310.874613-3312.98E-06-3316.26E-06















-3300.499995-3300.866014-3305.07E-06-3301.11E-05















-3290.51503-3290.857149-3298.58E-06-3291.82E-05















-3280.529906-3280.848019-3281.33E-05-3282.84E-05















-3270.544619-3270.838628-3271.98E-05-3274.24E-05















-3260.559155-3260.828996-3263.83E-05-3264.15E-05















-3250.573551-3250.819123-3252.62E-05-3252.84E-05















-3240.587768-3240.808998-3241.72E-05-3241.87E-05















-3230.601804-3230.798624-3231.10E-05-3231.14E-05















-3220.615655-3220.788004-3226.44E-06-3226.74E-06















-3210.629317-3210.777142-3213.34E-06-3213.70E-06















-3200.642786-3200.766042-3201.55E-06-3201.79E-06















-3190.656059-3190.754709-3195.96E-07-3198.94E-07















-3180.669131-3180.743144-3181.19E-07-3183.58E-07















-3170.681998-3170.731354-317-1.79E-07-3172.38E-07















-3160.694659-3160.719339-3160-3160















-3150.707107-3150.707106-315-1.79E-07-3151.19E-07















-3140.71934-3140.694658-314-5.96E-08-3141.19E-07















-3130.731354-3130.681998-313-1.19E-07-3131.79E-07















-3120.743145-3120.66913-3125.96E-08-3124.17E-07















-3110.754709-3110.656058-3117.75E-07-3117.75E-07















-3100.766043-3100.642786-3101.73E-06-3101.79E-06















-3090.777143-3090.629317-3093.52E-06-3093.58E-06















-3080.788004-3080.615655-3086.62E-06-3086.56E-06















-3070.798624-3070.601804-3071.14E-05-3071.11E-05















-3060.808999-3060.587767-3061.85E-05-3061.73E-05















-3050.819124-3050.57355-3052.83E-05-3052.63E-05















-3040.828996-3040.559154-3044.14E-05-3043.85E-05















-3030.838628-3030.544619-3034.27E-05-3031.95E-05















-3020.848019-3020.529906-3022.87E-05-3021.29E-05















-3010.857149-3010.515029-3011.84E-05-3018.34E-06















-3000.866014-3000.499995-3001.11E-05-3005.16E-06















-2990.874613-2990.484807-2996.44E-06-2992.65E-06















-2980.882944-2980.46947-2983.28E-06-2981.28E-06















-2970.891005-2970.453989-2971.49E-06-2976.85E-07















-2960.898794-2960.438371-2964.77E-07-2962.68E-07















-2950.906308-2950.422618-2951.19E-07-2951.79E-07















-2940.913545-2940.406736-294-5.96E-08-2941.49E-07















-2930.920505-2930.390731-2935.96E-08-293-1.79E-07















-2920.927184-2920.374606-2925.96E-08-292-2.98E-08















-2910.933581-2910.358368-2915.96E-08-2912.98E-08















-2900.939693-2900.34202-2901.19E-07-2901.19E-07















-2890.945518-2890.325568-2895.36E-07-2892.98E-07















-2880.951055-2880.309016-2881.43E-06-2887.15E-07















-2870.956302-2870.29237-2873.34E-06-2871.19E-06















-2860.961255-2860.275635-2866.50E-06-2862.44E-06















-2850.965914-2850.258814-2851.14E-05-2854.35E-06















-2840.970277-2840.241915-2841.88E-05-2847.20E-06















-2830.974341-2830.22494-2832.94E-05-2831.11E-05















-2820.978104-2820.207895-2824.40E-05-2821.62E-05















-2810.981571-2810.190807-2815.66E-05-2811.88E-06















-2800.984769-2800.173647-2803.87E-05-2801.10E-06















-2790.987663-2790.156434-2792.54E-05-2795.96E-07















-2780.990252-2780.139173-2781.59E-05-2782.68E-07















-2770.992537-2770.121869-2779.24E-06-2772.09E-07















-2760.994517-2760.104528-2765.01E-06-276-2.46E-07















-2750.996192-2750.0871557-2752.38E-06-275-2.68E-07















-2740.997563-2740.0697565-2749.54E-07-274-2.61E-07















-2730.998629-2730.0523361-2732.98E-07-273-2.27E-07















-2720.999391-2720.0348993-2720-272-8.57E-08















-2710.999848-2710.0174523-271-5.96E-08-271-4.10E-08















-2701-2700-270-5.96E-08-2700















-2690.999848-269-0.0174523-269-5.96E-08-269-3.33E-07















-2680.999391-268-0.0348998-2680-268-1.86E-07















-2670.998629-267-0.0523361-2672.38E-07-267-1.49E-07















-2660.997563-266-0.0697565-2668.94E-07-266-1.12E-07















-2650.996192-265-0.0871557-2652.38E-06-265-1.04E-07















-2640.994517-264-0.104528-2644.95E-06-264-1.27E-07















-2630.992537-263-0.121869-2639.18E-06-263-4.69E-07















-2620.990252-262-0.139173-2621.58E-05-262-6.41E-07















-2610.987663-261-0.156434-2612.53E-05-261-9.54E-07















-2600.984769-260-0.173647-2603.86E-05-260-1.48E-06















-2590.981571-259-0.190807-2595.65E-05-259-2.25E-06















-2580.978103-258-0.207896-2584.40E-05-258-1.64E-05















-2570.97434-257-0.22494-2572.94E-05-257-1.10E-05















-2560.970277-256-0.241915-2561.90E-05-256-7.11E-06















-2550.965914-255-0.258815-2551.15E-05-255-4.23E-06















-2540.961255-254-0.275635-2546.50E-06-254-2.35E-06















-2530.956301-253-0.292371-2533.34E-06-253-1.01E-06















-2520.951055-252-0.309017-2521.49E-06-252-5.96E-07















-2510.945518-251-0.325568-2515.96E-07-251-1.79E-07















-2500.939692-250-0.34202-2501.79E-07-2500















-2490.93358-249-0.358368-2490-2491.19E-07















-2480.927184-248-0.374607-2481.19E-07-2482.38E-07















-2470.920505-247-0.390732-2471.19E-07-2472.68E-07















-2460.913545-246-0.406737-2465.96E-08-246-5.96E-08















-2450.906308-245-0.422618-2451.79E-07-245-5.96E-08















-2440.898793-244-0.438371-2445.96E-07-244-2.09E-07















-2430.891005-243-0.45399-2431.55E-06-243-4.77E-07















-2420.882944-242-0.469471-2423.40E-06-242-1.22E-06















-2410.874613-241-0.484807-2416.50E-06-241-2.53E-06















-2400.866014-240-0.499995-2401.13E-05-240-4.74E-06















-2390.857149-239-0.51503-2391.84E-05-239-8.17E-06















-2380.848019-238-0.529907-2382.87E-05-238-1.29E-05















-2370.838628-237-0.54462-2374.28E-05-237-1.94E-05















-2360.828996-236-0.559155-2364.15E-05-236-3.84E-05















-2350.819124-235-0.57355-2352.83E-05-235-2.63E-05















-2340.808998-234-0.587768-2341.84E-05-234-1.75E-05















-2330.798624-233-0.601804-2331.14E-05-233-1.10E-05















-2320.788004-232-0.615655-2326.74E-06-232-6.44E-06















-2310.777142-231-0.629317-2313.58E-06-231-3.46E-06















-2300.766043-230-0.642786-2301.73E-06-230-1.73E-06















-2290.754709-229-0.656058-2297.15E-07-229-7.75E-07















-2280.743144-228-0.669131-2281.19E-07-228-4.17E-07















-2270.731354-227-0.681998-2270-227-1.19E-07















-2260.71934-226-0.694658-226-5.96E-08-226-1.19E-07















-2250.707107-225-0.707107-225-5.96E-08-2250















-2240.694658-224-0.71934-224-5.96E-08-224-1.19E-07















-2230.681998-223-0.731354-2231.79E-07-2231.19E-07















-2220.66913-222-0.743145-2221.19E-07-222-3.58E-07















-2210.656058-221-0.754709-2217.15E-07-221-7.75E-07















-2200.642786-220-0.766043-2201.85E-06-220-1.61E-06















-2190.629317-219-0.777142-2193.40E-06-219-3.70E-06















-2180.615655-218-0.788004-2186.56E-06-218-6.62E-06















-2170.601804-217-0.798624-2171.11E-05-217-1.14E-05















-2160.587768-216-0.808999-2161.75E-05-216-1.84E-05















-2150.57355-215-0.819124-2152.65E-05-215-2.81E-05















-2140.559154-214-0.828996-2143.86E-05-214-4.14E-05















-2130.544619-213-0.838628-2131.95E-05-213-4.27E-05















-2120.529906-212-0.848019-2121.29E-05-212-2.87E-05















-2110.51503-211-0.857149-2118.17E-06-211-1.84E-05















-2100.499995-210-0.866014-2104.92E-06-210-1.11E-05















-2090.484807-209-0.874613-2092.74E-06-209-6.32E-06















-2080.46947-208-0.882944-2081.28E-06-208-3.28E-06















-2070.45399-207-0.891005-2075.66E-07-207-1.49E-06















-2060.438371-206-0.898794-2062.98E-08-206-6.56E-07















-2050.422618-205-0.906308-205-5.96E-08-205-1.79E-07















-2040.406736-204-0.913545-204-1.79E-07-204-1.19E-07















-2030.390731-203-0.920505-203-1.79E-07-203-5.96E-08















-2020.374607-202-0.927184-202-1.49E-07-202-5.96E-08















-2010.358368-201-0.93358-201-1.79E-07-201-1.79E-07















-2000.34202-200-0.939692-200-8.94E-08-200-2.38E-07















-1990.325568-199-0.945518-199-5.96E-08-199-6.56E-07















-1980.309016-198-0.951055-1983.58E-07-198-1.55E-06















-1970.29237-197-0.956301-1971.07E-06-197-3.34E-06















-1960.275635-196-0.961255-1962.59E-06-196-6.44E-06















-1950.258815-195-0.965914-1954.11E-06-195-1.15E-05















-1940.241915-194-0.970277-1947.20E-06-194-1.88E-05















-1930.22494-193-0.974341-1931.11E-05-193-2.94E-05















-1920.207895-192-0.978104-1921.61E-05-192-4.41E-05















-1910.190807-191-0.981571-1912.25E-06-191-5.65E-05















-1900.173647-190-0.984769-1901.48E-06-190-3.86E-05















-1890.156433-189-0.987663-1898.34E-07-189-2.53E-05















-1880.139173-188-0.990252-1885.07E-07-188-1.58E-05















-1870.121869-187-0.992537-1872.09E-07-187-9.24E-06















-1860.104528-186-0.994517-1861.27E-07-186-4.95E-06















-1850.0871557-185-0.996192-1851.04E-07-185-2.38E-06















-1840.0697563-184-0.997563-184-2.24E-08-184-9.54E-07















-1830.0523359-183-0.998629-1831.12E-08-183-2.98E-07















-1820.0348993-182-0.999391-182-8.57E-08-1820















-1810.0174523-181-0.999848-181-4.10E-08-1815.96E-08















-1800-180-1-1800-1805.96E-08















-179-0.0174525-179-0.999848-179-9.50E-08-1795.96E-08















-178-0.0348995-178-0.999391-178-5.22E-08-1780















-177-0.0523361-177-0.998629-1773.73E-08-177-2.38E-07















-176-0.0697565-176-0.997563-176-1.12E-07-176-8.94E-07















-175-0.0871559-175-0.996192-175-5.22E-08-175-2.32E-06















-174-0.104528-174-0.994517-174-7.45E-08-174-5.01E-06















-173-0.121869-173-0.992537-173-3.35E-07-173-9.24E-06















-172-0.139173-172-0.990252-172-4.62E-07-172-1.58E-05















-171-0.156434-171-0.987663-171-7.75E-07-171-2.53E-05















-170-0.173647-170-0.984769-170-1.43E-06-170-3.86E-05















-169-0.190807-169-0.981571-169-2.19E-06-169-5.66E-05















-168-0.207895-168-0.978104-168-1.63E-05-168-4.40E-05















-167-0.22494-167-0.97434-167-1.11E-05-167-2.95E-05















-166-0.241915-166-0.970277-166-7.14E-06-166-1.90E-05















-165-0.258815-165-0.965914-165-4.23E-06-165-1.15E-05















-164-0.275635-164-0.961255-164-2.50E-06-164-6.44E-06















-163-0.292371-163-0.956301-163-1.22E-06-163-3.34E-06















-162-0.309017-162-0.951055-162-5.07E-07-162-1.55E-06















-161-0.325568-161-0.945518-161-2.38E-07-161-5.96E-07















-160-0.34202-160-0.939692-1600-160-1.79E-07















-159-0.358368-159-0.93358-1591.19E-07-1590















-158-0.374607-158-0.927184-1580-1580















-157-0.390731-157-0.920505-1575.96E-08-157-5.96E-08















-156-0.406737-156-0.913545-1565.96E-08-156-5.96E-08















-155-0.422618-155-0.906308-155-5.96E-08-155-1.79E-07















-154-0.438371-154-0.898793-154-2.09E-07-154-5.96E-07















-153-0.45399-153-0.891005-153-6.85E-07-153-1.43E-06















-152-0.46947-152-0.882944-152-1.43E-06-152-3.28E-06















-151-0.484807-151-0.874613-151-2.74E-06-151-6.32E-06















-150-0.499995-150-0.866014-150-4.89E-06-150-1.13E-05















-149-0.51503-149-0.857149-149-8.29E-06-149-1.84E-05















-148-0.529906-148-0.848019-148-1.29E-05-148-2.87E-05















-147-0.54462-147-0.838628-147-1.94E-05-147-4.27E-05















-146-0.559155-146-0.828996-146-3.86E-05-146-4.14E-05















-145-0.57355-145-0.819124-145-2.65E-05-145-2.82E-05















-144-0.587768-144-0.808999-144-1.75E-05-144-1.84E-05















-143-0.601804-143-0.798624-143-1.10E-05-143-1.14E-05















-142-0.615655-142-0.788004-142-6.56E-06-142-6.74E-06















-141-0.629317-141-0.777142-141-3.58E-06-141-3.46E-06















-140-0.642786-140-0.766043-140-1.85E-06-140-1.67E-06















-139-0.656058-139-0.754709-139-8.34E-07-139-5.96E-07















-138-0.66913-138-0.743145-138-4.17E-07-138-5.96E-08















-137-0.681998-137-0.731354-137-1.79E-07-1375.96E-08















-136-0.694658-136-0.71934-136-1.19E-07-1365.96E-08















-135-0.707107-135-0.707107-135-5.96E-08-1355.96E-08















-134-0.71934-134-0.694658-134-1.19E-07-1345.96E-08















-133-0.731354-133-0.681998-133-5.96E-08-1330















-132-0.743145-132-0.66913-132-1.79E-07-132-2.98E-07















-131-0.754709-131-0.656058-131-7.75E-07-131-7.15E-07















-130-0.766043-130-0.642786-130-1.73E-06-130-1.73E-06















-129-0.777142-129-0.629317-129-3.70E-06-129-3.40E-06















-128-0.788004-128-0.615655-128-6.79E-06-128-6.38E-06















-127-0.798624-127-0.601804-127-1.15E-05-127-1.08E-05















-126-0.808999-126-0.587768-126-1.85E-05-126-1.73E-05















-125-0.819124-125-0.57355-125-2.83E-05-125-2.63E-05















-124-0.828996-124-0.559154-124-4.15E-05-124-3.84E-05















-123-0.838628-123-0.544619-123-4.27E-05-123-1.95E-05















-122-0.848019-122-0.529906-122-2.87E-05-122-1.29E-05















-121-0.857149-121-0.51503-121-1.83E-05-121-8.34E-06















-120-0.866014-120-0.499995-120-1.11E-05-120-5.07E-06















-119-0.874613-119-0.484807-119-6.32E-06-119-2.83E-06















-118-0.882944-118-0.46947-118-3.22E-06-118-1.46E-06















-117-0.891005-117-0.45399-117-1.43E-06-117-5.96E-07















-116-0.898794-116-0.438371-116-5.36E-07-116-2.38E-07















-115-0.906308-115-0.422618-115-1.19E-07-115-1.19E-07















-114-0.913545-114-0.406736-114-5.96E-08-1142.98E-08















-113-0.920505-113-0.390731-1130-1130















-112-0.927184-112-0.374607-1120-1122.98E-08















-111-0.93358-111-0.358368-111-5.96E-08-1112.98E-08















-110-0.939692-110-0.34202-110-1.19E-07-110-1.79E-07















-109-0.945518-109-0.325568-109-5.36E-07-109-2.98E-07















-108-0.951055-108-0.309016-108-1.43E-06-108-6.56E-07















-107-0.956301-107-0.29237-107-3.28E-06-107-1.37E-06















-106-0.961255-106-0.275635-106-6.44E-06-106-2.59E-06















-105-0.965914-105-0.258815-105-1.14E-05-105-4.47E-06















-104-0.970277-104-0.241915-104-1.88E-05-104-7.20E-06















-103-0.974341-103-0.22494-103-2.94E-05-103-1.11E-05















-102-0.978104-102-0.207895-102-4.40E-05-102-1.63E-05















-101-0.981571-101-0.190807-101-5.65E-05-101-2.13E-06















-100-0.984769-100-0.173647-100-3.86E-05-100-1.28E-06















-99-0.987663-99-0.156434-99-2.53E-05-99-7.15E-07















-98-0.990252-98-0.139173-98-1.58E-05-98-5.07E-07















-97-0.992537-97-0.121869-97-9.24E-06-97-2.68E-07















-96-0.994517-96-0.104528-96-4.95E-06-96-7.45E-09















-95-0.996192-95-0.0871557-95-2.38E-06-95-1.04E-07















-94-0.997563-94-0.0697564-94-9.54E-07-94-4.47E-08















-93-0.998629-93-0.0523359-93-2.98E-07-93-1.12E-08















-92-0.999391-92-0.0348994-920-921.49E-08















-91-0.999848-91-0.0174523-915.96E-08-914.10E-08















-90-1-900-905.96E-08-900















-89-0.999848-890.0174524-895.96E-08-89-7.45E-09















-88-0.999391-880.0348995-880-88-6.33E-08















-87-0.998629-870.052336-87-2.38E-07-87-1.56E-07















-86-0.997563-860.0697565-86-9.54E-07-86-9.69E-08















-85-0.996192-850.0871558-85-2.38E-06-85-4.47E-08















-84-0.994517-840.104528-84-4.95E-06-847.45E-09















-83-0.992537-830.121869-83-9.24E-06-831.27E-07















-82-0.990252-820.139173-82-1.58E-05-823.28E-07















-81-0.987663-810.156434-81-2.53E-05-817.45E-07















-80-0.984769-800.173647-80-3.86E-05-801.27E-06















-79-0.981571-790.190807-79-5.66E-05-792.09E-06















-78-0.978104-780.207895-78-4.40E-05-781.65E-05















-77-0.974341-770.22494-77-2.94E-05-771.11E-05















-76-0.970277-760.241915-76-1.89E-05-767.18E-06















-75-0.965914-750.258815-75-1.14E-05-754.41E-06















-74-0.961255-740.275635-74-6.50E-06-742.56E-06















-73-0.956301-730.29237-73-3.28E-06-731.31E-06















-72-0.951055-720.309016-72-1.49E-06-726.26E-07















-71-0.945518-710.325568-71-5.36E-07-712.68E-07















-70-0.939692-700.34202-70-1.79E-07-701.49E-07















-69-0.93358-690.358368-690-690















-68-0.927184-680.374607-680-682.98E-08















-67-0.920505-670.390731-670-672.98E-08















-66-0.913545-660.406737-665.96E-08-660















-65-0.906308-650.422618-65-1.19E-07-658.94E-08















-64-0.898793-640.438371-64-5.36E-07-642.09E-07















-63-0.891005-630.45399-63-1.43E-06-636.26E-07















-62-0.882944-620.46947-62-3.16E-06-621.43E-06















-61-0.874613-610.484807-61-6.26E-06-612.80E-06















-60-0.866014-600.499995-60-1.11E-05-604.95E-06















-59-0.857149-590.51503-59-1.84E-05-598.23E-06















-58-0.848019-580.529906-58-2.86E-05-581.30E-05















-57-0.838628-570.54462-57-4.27E-05-571.95E-05















-56-0.828996-560.559155-56-4.14E-05-563.83E-05















-55-0.819124-550.57355-55-2.83E-05-552.63E-05















-54-0.808998-540.587768-54-1.85E-05-541.73E-05















-53-0.798624-530.601804-53-1.14E-05-531.08E-05















-52-0.788004-520.615655-52-6.74E-06-526.26E-06















-51-0.777142-510.629317-51-3.52E-06-513.40E-06















-50-0.766043-500.642786-50-1.67E-06-501.67E-06















-49-0.754709-490.656058-49-7.15E-07-495.96E-07















-48-0.743145-480.66913-48-1.79E-07-481.79E-07















-47-0.731354-470.681998-47-5.96E-08-47-5.96E-08















-46-0.71934-460.694658-460-460















-45-0.707107-450.707107-455.96E-08-45-5.96E-08















-44-0.694658-440.71934-44-5.96E-08-44-5.96E-08















-43-0.681998-430.731354-430-43-5.96E-08















-42-0.66913-420.743145-42-2.38E-07-421.79E-07















-41-0.656058-410.754709-41-7.15E-07-417.15E-07















-40-0.642786-400.766043-40-1.73E-06-401.73E-06















-39-0.629317-390.777142-39-3.52E-06-393.58E-06















-38-0.615655-380.788004-38-6.50E-06-386.79E-06















-37-0.601804-370.798624-37-1.08E-05-371.15E-05















-36-0.587768-360.808998-36-1.75E-05-361.85E-05















-35-0.57355-350.819124-35-2.64E-05-352.83E-05















-34-0.559154-340.828996-34-3.84E-05-344.15E-05















-33-0.544619-330.838628-33-1.96E-05-334.28E-05















-32-0.529906-320.848019-32-1.30E-05-322.87E-05















-31-0.51503-310.857149-31-8.34E-06-311.85E-05















-30-0.499995-300.866014-30-5.01E-06-301.13E-05















-29-0.484807-290.874613-29-2.83E-06-296.38E-06















-28-0.46947-280.882944-28-1.43E-06-283.28E-06















-27-0.45399-270.891005-27-6.26E-07-271.55E-06















-26-0.438371-260.898793-26-2.68E-07-265.96E-07















-25-0.422618-250.906308-25-8.94E-08-251.79E-07















-24-0.406737-240.913545-24-2.98E-08-245.96E-08















-23-0.390731-230.920505-23-2.98E-08-230















-22-0.374607-220.927184-22-2.98E-08-220















-21-0.358368-210.93358-21-2.98E-08-210















-20-0.34202-200.939692-20-8.94E-08-201.79E-07















-19-0.325568-190.945518-19-2.38E-07-195.96E-07















-18-0.309016-180.951055-18-5.96E-07-181.49E-06















-17-0.29237-170.956301-17-1.28E-06-173.34E-06















-16-0.275635-160.961255-16-2.53E-06-166.44E-06















-15-0.258815-150.965914-15-4.41E-06-151.15E-05















-14-0.241915-140.970277-14-7.18E-06-141.89E-05















-13-0.22494-130.974341-13-1.11E-05-132.94E-05















-12-0.207895-120.978104-12-1.64E-05-124.40E-05















-11-0.190807-110.981571-11-2.16E-06-115.65E-05















-10-0.173647-100.984769-10-1.36E-06-103.86E-05















-9-0.156434-90.987663-9-8.05E-07-92.53E-05















-8-0.139173-80.990252-8-4.47E-07-81.58E-05















-7-0.121869-70.992537-7-2.24E-07-79.18E-06















-6-0.104528-60.994517-6-1.04E-07-64.95E-06















-5-0.0871557-50.996192-5-4.47E-08-52.38E-06















-4-0.0697565-40.997563-4-7.45E-09-49.54E-07















-3-0.052336-30.998629-3-3.73E-09-32.38E-07















-2-0.0348995-20.999391-20-20















-1-0.0174524-10.999848-10-1-5.96E-08















00010000















10.017452410.999848101-5.96E-08















20.034899520.9993912020















30.05233630.99862933.73E-0932.38E-07















40.069756540.99756347.45E-0949.54E-07















50.087155750.99619254.47E-0852.38E-06















60.10452860.99451761.04E-0764.95E-06















70.12186970.99253772.24E-0779.18E-06















80.13917380.99025284.47E-0781.58E-05















90.15643490.98766398.05E-0792.53E-05















100.173647100.984769101.36E-06103.86E-05















110.190807110.981571112.16E-06115.65E-05















120.207895120.978104121.64E-05124.40E-05















130.22494130.974341131.11E-05132.94E-05















140.241915140.970277147.18E-06141.89E-05















150.258815150.965914154.41E-06151.15E-05















160.275635160.961255162.53E-06166.44E-06















170.29237170.956301171.28E-06173.34E-06















180.309016180.951055185.96E-07181.49E-06















190.325568190.945518192.38E-07195.96E-07















200.34202200.939692208.94E-08201.79E-07















210.358368210.93358212.98E-08210















220.374607220.927184222.98E-08220















230.390731230.920505232.98E-08230















240.406737240.913545242.98E-08245.96E-08















250.422618250.906308258.94E-08251.79E-07















260.438371260.898793262.68E-07265.96E-07















270.45399270.891005276.26E-07271.55E-06















280.46947280.882944281.43E-06283.28E-06















290.484807290.874613292.83E-06296.38E-06















300.499995300.866014305.01E-06301.13E-05















310.51503310.857149318.34E-06311.85E-05















320.529906320.848019321.30E-05322.87E-05















330.544619330.838628331.96E-05334.28E-05















340.559154340.828996343.84E-05344.15E-05















350.57355350.819124352.64E-05352.83E-05















360.587768360.808998361.75E-05361.85E-05















370.601804370.798624371.08E-05371.15E-05















380.615655380.788004386.50E-06386.79E-06















390.629317390.777142393.52E-06393.58E-06















400.642786400.766043401.73E-06401.73E-06















410.656058410.754709417.15E-07417.15E-07















420.66913420.743145422.38E-07421.79E-07















430.681998430.73135443043-5.96E-08















440.694658440.71934445.96E-0844-5.96E-08















450.707107450.70710745-5.96E-0845-5.96E-08















460.71934460.694658460460















470.731354470.681998475.96E-0847-5.96E-08















480.743145480.66913481.79E-07481.79E-07















490.754709490.656058497.15E-07495.96E-07















500.766043500.642786501.67E-06501.67E-06















510.777142510.629317513.52E-06513.40E-06















520.788004520.615655526.74E-06526.26E-06















530.798624530.601804531.14E-05531.08E-05















540.808998540.587768541.85E-05541.73E-05















550.819124550.57355552.83E-05552.63E-05















560.828996560.559155564.14E-05563.83E-05















570.838628570.54462574.27E-05571.95E-05















580.848019580.529906582.86E-05581.30E-05















590.857149590.51503591.84E-05598.23E-06















600.866014600.499995601.11E-05604.95E-06















610.874613610.484807616.26E-06612.80E-06















620.882944620.46947623.16E-06621.43E-06















630.891005630.45399631.43E-06636.26E-07















640.898793640.438371645.36E-07642.09E-07















650.906308650.422618651.19E-07658.94E-08















660.913545660.40673766-5.96E-08660















670.920505670.390731670672.98E-08















680.927184680.374607680682.98E-08















690.93358690.358368690690















700.939692700.34202701.79E-07701.49E-07















710.945518710.325568715.36E-07712.68E-07















720.951055720.309016721.49E-06726.26E-07















730.956301730.29237733.28E-06731.31E-06















740.961255740.275635746.50E-06742.56E-06















750.965914750.258815751.14E-05754.41E-06















760.970277760.241915761.89E-05767.18E-06















770.974341770.22494772.94E-05771.11E-05















780.978104780.207895784.40E-05781.65E-05















790.981571790.190807795.66E-05792.09E-06















800.984769800.173647803.86E-05801.27E-06















810.987663810.156434812.53E-05817.45E-07















820.990252820.139173821.58E-05823.28E-07















830.992537830.121869839.24E-06831.27E-07















840.994517840.104528844.95E-06847.45E-09















850.996192850.0871558852.38E-0685-4.47E-08















860.997563860.0697565869.54E-0786-9.69E-08















870.998629870.052336872.38E-0787-1.56E-07















880.999391880.034899588088-6.33E-08















890.999848890.017452489-5.96E-0889-7.45E-09















90190090-5.96E-08900















910.99984891-0.017452391-5.96E-08914.10E-08















920.99939192-0.0348994920921.49E-08















930.99862993-0.0523359932.98E-0793-1.12E-08















940.99756394-0.0697564949.54E-0794-4.47E-08















950.99619295-0.0871557952.38E-0695-1.04E-07















960.99451796-0.104528964.95E-0696-7.45E-09















970.99253797-0.121869979.24E-0697-2.68E-07















980.99025298-0.139173981.58E-0598-5.07E-07















990.98766399-0.156434992.53E-0599-7.15E-07















1000.984769100-0.1736471003.86E-05100-1.28E-06















1010.981571101-0.1908071015.65E-05101-2.13E-06















1020.978104102-0.2078951024.40E-05102-1.63E-05















1030.974341103-0.224941032.94E-05103-1.11E-05















1040.970277104-0.2419151041.88E-05104-7.20E-06















1050.965914105-0.2588151051.14E-05105-4.47E-06















1060.961255106-0.2756351066.44E-06106-2.59E-06















1070.956301107-0.292371073.28E-06107-1.37E-06















1080.951055108-0.3090161081.43E-06108-6.56E-07















1090.945518109-0.3255681095.36E-07109-2.98E-07















1100.939692110-0.342021101.19E-07110-1.79E-07















1110.93358111-0.3583681115.96E-081112.98E-08















1120.927184112-0.37460711201122.98E-08















1130.920505113-0.39073111301130















1140.913545114-0.4067361145.96E-081142.98E-08















1150.906308115-0.4226181151.19E-07115-1.19E-07















1160.898794116-0.4383711165.36E-07116-2.38E-07















1170.891005117-0.453991171.43E-06117-5.96E-07















1180.882944118-0.469471183.22E-06118-1.46E-06















1190.874613119-0.4848071196.32E-06119-2.83E-06















1200.866014120-0.4999951201.11E-05120-5.07E-06















1210.857149121-0.515031211.83E-05121-8.34E-06















1220.848019122-0.5299061222.87E-05122-1.29E-05















1230.838628123-0.5446191234.27E-05123-1.95E-05















1240.828996124-0.5591541244.15E-05124-3.84E-05















1250.819124125-0.573551252.83E-05125-2.63E-05















1260.808999126-0.5877681261.85E-05126-1.73E-05















1270.798624127-0.6018041271.15E-05127-1.08E-05















1280.788004128-0.6156551286.79E-06128-6.38E-06















1290.777142129-0.6293171293.70E-06129-3.40E-06















1300.766043130-0.6427861301.73E-06130-1.73E-06















1310.754709131-0.6560581317.75E-07131-7.15E-07















1320.743145132-0.669131321.79E-07132-2.98E-07















1330.731354133-0.6819981335.96E-081330















1340.71934134-0.6946581341.19E-071345.96E-08















1350.707107135-0.7071071355.96E-081355.96E-08















1360.694658136-0.719341361.19E-071365.96E-08















1370.681998137-0.7313541371.79E-071375.96E-08















1380.66913138-0.7431451384.17E-07138-5.96E-08















1390.656058139-0.7547091398.34E-07139-5.96E-07















1400.642786140-0.7660431401.85E-06140-1.67E-06















1410.629317141-0.7771421413.58E-06141-3.46E-06















1420.615655142-0.7880041426.56E-06142-6.74E-06















1430.601804143-0.7986241431.10E-05143-1.14E-05















1440.587768144-0.8089991441.75E-05144-1.84E-05















1450.57355145-0.8191241452.65E-05145-2.82E-05















1460.559155146-0.8289961463.86E-05146-4.14E-05















1470.54462147-0.8386281471.94E-05147-4.27E-05















1480.529906148-0.8480191481.29E-05148-2.87E-05















1490.51503149-0.8571491498.29E-06149-1.84E-05















1500.499995150-0.8660141504.89E-06150-1.13E-05















1510.484807151-0.8746131512.74E-06151-6.32E-06















1520.46947152-0.8829441521.43E-06152-3.28E-06















1530.45399153-0.8910051536.85E-07153-1.43E-06















1540.438371154-0.8987931542.09E-07154-5.96E-07















1550.422618155-0.9063081555.96E-08155-1.79E-07















1560.406737156-0.913545156-5.96E-08156-5.96E-08















1570.390731157-0.920505157-5.96E-08157-5.96E-08















1580.374607158-0.92718415801580















1590.358368159-0.93358159-1.19E-071590















1600.34202160-0.9396921600160-1.79E-07















1610.325568161-0.9455181612.38E-07161-5.96E-07















1620.309017162-0.9510551625.07E-07162-1.55E-06















1630.292371163-0.9563011631.22E-06163-3.34E-06















1640.275635164-0.9612551642.50E-06164-6.44E-06















1650.258815165-0.9659141654.23E-06165-1.15E-05















1660.241915166-0.9702771667.14E-06166-1.90E-05















1670.22494167-0.974341671.11E-05167-2.95E-05















1680.207895168-0.9781041681.63E-05168-4.40E-05















1690.190807169-0.9815711692.19E-06169-5.66E-05















1700.173647170-0.9847691701.43E-06170-3.86E-05















1710.156434171-0.9876631717.75E-07171-2.53E-05















1720.139173172-0.9902521724.62E-07172-1.58E-05















1730.121869173-0.9925371733.35E-07173-9.24E-06















1740.104528174-0.9945171747.45E-08174-5.01E-06















1750.0871559175-0.9961921755.22E-08175-2.32E-06















1760.0697565176-0.9975631761.12E-07176-8.94E-07















1770.0523361177-0.998629177-3.73E-08177-2.38E-07















1780.0348995178-0.9993911785.22E-081780















1790.0174525179-0.9998481799.50E-081795.96E-08















1800180-118001805.96E-08















181-0.0174523181-0.9998481814.10E-081815.96E-08















182-0.0348993182-0.9993911828.57E-081820















183-0.0523359183-0.998629183-1.12E-08183-2.98E-07















184-0.0697563184-0.9975631842.24E-08184-9.54E-07















185-0.0871557185-0.996192185-1.04E-07185-2.38E-06















186-0.104528186-0.994517186-1.27E-07186-4.95E-06















187-0.121869187-0.992537187-2.09E-07187-9.24E-06















188-0.139173188-0.990252188-5.07E-07188-1.58E-05















189-0.156433189-0.987663189-8.34E-07189-2.53E-05















190-0.173647190-0.984769190-1.48E-06190-3.86E-05















191-0.190807191-0.981571191-2.25E-06191-5.65E-05















192-0.207895192-0.978104192-1.61E-05192-4.41E-05















193-0.22494193-0.974341193-1.11E-05193-2.94E-05















194-0.241915194-0.970277194-7.20E-06194-1.88E-05















195-0.258815195-0.965914195-4.11E-06195-1.15E-05















196-0.275635196-0.961255196-2.59E-06196-6.44E-06















197-0.29237197-0.956301197-1.07E-06197-3.34E-06















198-0.309016198-0.951055198-3.58E-07198-1.55E-06















199-0.325568199-0.9455181995.96E-08199-6.56E-07















200-0.34202200-0.9396922008.94E-08200-2.38E-07















201-0.358368201-0.933582011.79E-07201-1.79E-07















202-0.374607202-0.9271842021.49E-07202-5.96E-08















203-0.390731203-0.9205052031.79E-07203-5.96E-08















204-0.406736204-0.9135452041.79E-07204-1.19E-07















205-0.422618205-0.9063082055.96E-08205-1.79E-07















206-0.438371206-0.898794206-2.98E-08206-6.56E-07















207-0.45399207-0.891005207-5.66E-07207-1.49E-06















208-0.46947208-0.882944208-1.28E-06208-3.28E-06















209-0.484807209-0.874613209-2.74E-06209-6.32E-06















210-0.499995210-0.866014210-4.92E-06210-1.11E-05















211-0.51503211-0.857149211-8.17E-06211-1.84E-05















212-0.529906212-0.848019212-1.29E-05212-2.87E-05















213-0.544619213-0.838628213-1.95E-05213-4.27E-05















214-0.559154214-0.828996214-3.86E-05214-4.14E-05















215-0.57355215-0.819124215-2.65E-05215-2.81E-05















216-0.587768216-0.808999216-1.75E-05216-1.84E-05















217-0.601804217-0.798624217-1.11E-05217-1.14E-05















218-0.615655218-0.788004218-6.56E-06218-6.62E-06















219-0.629317219-0.777142219-3.40E-06219-3.70E-06















220-0.642786220-0.766043220-1.85E-06220-1.61E-06















221-0.656058221-0.754709221-7.15E-07221-7.75E-07















222-0.66913222-0.743145222-1.19E-07222-3.58E-07















223-0.681998223-0.731354223-1.79E-072231.19E-07















224-0.694658224-0.719342245.96E-08224-1.19E-07















225-0.707107225-0.7071072255.96E-082250















226-0.71934226-0.6946582265.96E-08226-1.19E-07















227-0.731354227-0.6819982270227-1.19E-07















228-0.743144228-0.669131228-1.19E-07228-4.17E-07















229-0.754709229-0.656058229-7.15E-07229-7.75E-07















230-0.766043230-0.642786230-1.73E-06230-1.73E-06















231-0.777142231-0.629317231-3.58E-06231-3.46E-06















232-0.788004232-0.615655232-6.74E-06232-6.44E-06















233-0.798624233-0.601804233-1.14E-05233-1.10E-05















234-0.808998234-0.587768234-1.84E-05234-1.75E-05















235-0.819124235-0.57355235-2.83E-05235-2.63E-05















236-0.828996236-0.559155236-4.15E-05236-3.84E-05















237-0.838628237-0.54462237-4.28E-05237-1.94E-05















238-0.848019238-0.529907238-2.87E-05238-1.29E-05















239-0.857149239-0.51503239-1.84E-05239-8.17E-06















240-0.866014240-0.499995240-1.13E-05240-4.74E-06















241-0.874613241-0.484807241-6.50E-06241-2.53E-06















242-0.882944242-0.469471242-3.40E-06242-1.22E-06















243-0.891005243-0.45399243-1.55E-06243-4.77E-07















244-0.898793244-0.438371244-5.96E-07244-2.09E-07















245-0.906308245-0.422618245-1.79E-07245-5.96E-08















246-0.913545246-0.406737246-5.96E-08246-5.96E-08















247-0.920505247-0.390732247-1.19E-072472.68E-07















248-0.927184248-0.374607248-1.19E-072482.38E-07















249-0.93358249-0.35836824902491.19E-07















250-0.939692250-0.34202250-1.79E-072500















251-0.945518251-0.325568251-5.96E-07251-1.79E-07















252-0.951055252-0.309017252-1.49E-06252-5.96E-07















253-0.956301253-0.292371253-3.34E-06253-1.01E-06















254-0.961255254-0.275635254-6.50E-06254-2.35E-06















255-0.965914255-0.258815255-1.15E-05255-4.23E-06















256-0.970277256-0.241915256-1.90E-05256-7.11E-06















257-0.97434257-0.22494257-2.94E-05257-1.10E-05















258-0.978103258-0.207896258-4.40E-05258-1.64E-05















259-0.981571259-0.190807259-5.65E-05259-2.25E-06















260-0.984769260-0.173647260-3.86E-05260-1.48E-06















261-0.987663261-0.156434261-2.53E-05261-9.54E-07















262-0.990252262-0.139173262-1.58E-05262-6.41E-07















263-0.992537263-0.121869263-9.18E-06263-4.69E-07















264-0.994517264-0.104528264-4.95E-06264-1.27E-07















265-0.996192265-0.0871557265-2.38E-06265-1.04E-07















266-0.997563266-0.0697565266-8.94E-07266-1.12E-07















267-0.998629267-0.0523361267-2.38E-07267-1.49E-07















268-0.999391268-0.03489982680268-1.86E-07















269-0.999848269-0.01745232695.96E-08269-3.33E-07















270-127002705.96E-082700















271-0.9998482710.01745232715.96E-08271-4.10E-08















272-0.9993912720.03489932720272-8.57E-08















273-0.9986292730.0523361273-2.98E-07273-2.27E-07















274-0.9975632740.0697565274-9.54E-07274-2.61E-07















275-0.9961922750.0871557275-2.38E-06275-2.68E-07















276-0.9945172760.104528276-5.01E-06276-2.46E-07















277-0.9925372770.121869277-9.24E-062772.09E-07















278-0.9902522780.139173278-1.59E-052782.68E-07















279-0.9876632790.156434279-2.54E-052795.96E-07















280-0.9847692800.173647280-3.87E-052801.10E-06















281-0.9815712810.190807281-5.66E-052811.88E-06















282-0.9781042820.207895282-4.40E-052821.62E-05















283-0.9743412830.22494283-2.94E-052831.11E-05















284-0.9702772840.241915284-1.88E-052847.20E-06















285-0.9659142850.258814285-1.14E-052854.35E-06















286-0.9612552860.275635286-6.50E-062862.44E-06















287-0.9563022870.29237287-3.34E-062871.19E-06















288-0.9510552880.309016288-1.43E-062887.15E-07















289-0.9455182890.325568289-5.36E-072892.98E-07















290-0.9396932900.34202290-1.19E-072901.19E-07















291-0.9335812910.358368291-5.96E-082912.98E-08















292-0.9271842920.374606292-5.96E-08292-2.98E-08















293-0.9205052930.390731293-5.96E-08293-1.79E-07















294-0.9135452940.4067362945.96E-082941.49E-07















295-0.9063082950.422618295-1.19E-072951.79E-07















296-0.8987942960.438371296-4.77E-072962.68E-07















297-0.8910052970.453989297-1.49E-062976.85E-07















298-0.8829442980.46947298-3.28E-062981.28E-06















299-0.8746132990.484807299-6.44E-062992.65E-06















300-0.8660143000.499995300-1.11E-053005.16E-06















301-0.8571493010.515029301-1.84E-053018.34E-06















302-0.8480193020.529906302-2.87E-053021.29E-05















303-0.8386283030.544619303-4.27E-053031.95E-05















304-0.8289963040.559154304-4.14E-053043.85E-05















305-0.8191243050.57355305-2.83E-053052.63E-05















306-0.8089993060.587767306-1.85E-053061.73E-05















307-0.7986243070.601804307-1.14E-053071.11E-05















308-0.7880043080.615655308-6.62E-063086.56E-06















309-0.7771433090.629317309-3.52E-063093.58E-06















310-0.7660433100.642786310-1.73E-063101.79E-06















311-0.7547093110.656058311-7.75E-073117.75E-07















312-0.7431453120.66913312-5.96E-083124.17E-07















313-0.7313543130.6819983131.19E-073131.79E-07















314-0.719343140.6946583145.96E-083141.19E-07















315-0.7071073150.7071063151.79E-073151.19E-07















316-0.6946593160.71933931603160















317-0.6819983170.7313543171.79E-073172.38E-07















318-0.6691313180.743144318-1.19E-073183.58E-07















319-0.6560593190.754709319-5.96E-073198.94E-07















320-0.6427863200.766042320-1.55E-063201.79E-06















321-0.6293173210.777142321-3.34E-063213.70E-06















322-0.6156553220.788004322-6.44E-063226.74E-06















323-0.6018043230.798624323-1.10E-053231.14E-05















324-0.5877683240.808998324-1.72E-053241.87E-05















325-0.5735513250.819123325-2.62E-053252.84E-05















326-0.5591553260.828996326-3.83E-053264.15E-05















327-0.5446193270.838628327-1.98E-053274.24E-05















328-0.5299063280.848019328-1.33E-053282.84E-05















329-0.515033290.857149329-8.58E-063291.82E-05















330-0.4999953300.866014330-5.07E-063301.11E-05















331-0.4848073310.874613331-2.98E-063316.26E-06















332-0.469473320.882944332-1.64E-063323.16E-06















333-0.453993330.891005333-8.64E-073331.31E-06















334-0.4383713340.898793334-5.36E-073344.17E-07















335-0.4226183350.906308335-3.87E-073350















336-0.4067363360.913545336-1.49E-07336-5.96E-08















337-0.3907313370.920505337-1.79E-07337-5.96E-08















338-0.3746073380.927184338-2.09E-07338-5.96E-08















339-0.3583683390.93358339-2.38E-07339-1.19E-07















340-0.342023400.939692340-3.58E-073405.96E-08















341-0.3255683410.945518341-2.98E-073415.36E-07















342-0.3090163420.951055342-7.15E-073421.43E-06















343-0.292373430.956301343-1.43E-063433.22E-06















344-0.2756353440.961255344-2.71E-063446.44E-06















345-0.2588153450.965914345-4.62E-063451.14E-05















346-0.2419153460.970277346-7.57E-063461.88E-05















347-0.224943470.974341347-1.11E-053472.94E-05















348-0.2078953480.978104348-1.65E-053484.40E-05















349-0.1908073490.981571349-2.15E-063495.65E-05















350-0.1736473500.984769350-1.37E-063503.86E-05















351-0.1564343510.987663351-9.54E-073512.53E-05















352-0.1391733520.990252352-6.41E-073521.58E-05















353-0.1218693530.992537353-4.69E-073539.18E-06















354-0.1045293540.994517354-2.24E-083544.95E-06















355-0.08715623550.996192355-7.45E-093552.38E-06















356-0.06975653560.997563356-1.12E-073568.94E-07















357-0.05233613570.998629357-1.49E-073572.38E-07















358-0.03489983580.999391358-1.86E-073580















359-0.01745283590.999848359-2.31E-07359-5.96E-08















360036013600360-5.96E-08















3610.01745233610.999848361-4.15E-07361-5.96E-08















3620.03489933620.999391362-8.57E-083620















3630.05233573630.9986293632.50E-073632.98E-07















3640.06975613640.997563364-1.56E-073649.54E-07















3650.08715573650.996192365-2.68E-073652.38E-06















3660.1045283660.9945173661.27E-073664.95E-06















3670.1218693670.992537367-1.64E-073679.30E-06















3680.1391723680.9902523683.73E-073681.59E-05















3690.1564333690.9876633691.06E-063692.53E-05















3700.1736473700.9847693701.48E-063703.86E-05















3710.1908073710.9815713711.88E-063715.66E-05















3720.2078953720.9781043721.66E-053724.40E-05















3730.2249393730.9743413731.09E-053732.96E-05















3740.2419143740.9702773747.26E-063741.88E-05















3750.2588143750.9659143754.35E-063751.14E-05















3760.2756353760.9612553762.80E-063766.38E-06















3770.292373770.9563023771.19E-063773.34E-06















3780.3090163780.9510553788.05E-073781.43E-06















3790.3255673790.9455183792.98E-083795.96E-07















3800.342023800.9396933804.47E-073800















3810.3583683810.9335813812.98E-083815.96E-08















3820.3746063820.9271843822.98E-07382-1.19E-07















3830.3907313830.920505383-5.96E-083835.96E-08















3840.4067363840.913545384-1.79E-073841.19E-07















3850.4226183850.9063083851.79E-073851.19E-07















3860.4383713860.8987943866.56E-073862.98E-07















3870.4539893870.8910053876.85E-073871.49E-06















3880.469473880.8829453881.70E-063883.04E-06















3890.4848073890.8746133892.98E-063896.26E-06















3900.4999953900.8660143904.86E-063901.13E-05















3910.5150293910.8571493918.34E-063911.84E-05















3920.5299063920.848023921.34E-053922.84E-05















3930.5446193930.8386283931.97E-053934.27E-05















3940.5591553940.8289963943.81E-053944.17E-05















3950.573553950.8191243952.63E-053952.83E-05















3960.5877683960.8089993961.70E-053961.88E-05















3970.6018043970.7986243971.08E-053971.16E-05















3980.6156553980.7880043985.96E-063987.09E-06















3990.6293173990.7771423993.46E-063993.58E-06















4000.6427864000.7660434001.43E-064001.97E-06















4010.6560584010.7547094017.15E-074017.75E-07















4020.669134020.743145402-1.79E-074025.96E-07















4030.6819984030.731354403-1.19E-074031.19E-07















4040.6946584040.71934404-1.79E-074042.38E-07















4050.7071074050.707107405-5.96E-084055.96E-08















4060.719344060.694658406-3.58E-074063.58E-07















4070.7313544070.68199840704071.19E-07















4080.7431444080.669131408-1.19E-074086.56E-07















4090.7547094090.6560584097.75E-074097.15E-07















4100.7660434100.6427864101.49E-064101.97E-06















4110.7771424110.6293174113.58E-064113.46E-06















4120.7880044120.6156554126.50E-064126.74E-06















4130.7986244130.6018044131.11E-054131.14E-05















4140.8089994140.5877684141.84E-054141.76E-05















4150.8191244150.573554152.79E-054152.69E-05















4160.8289964160.5591554164.12E-054163.87E-05















4170.8386284170.544624174.28E-054171.94E-05















4180.8480194180.5299064182.87E-054181.29E-05















4190.8571494190.515034191.82E-054198.58E-06















4200.8660144200.4999954201.11E-054205.07E-06















4210.8746134210.4848074216.08E-064213.22E-06















4220.8829444220.4694714223.22E-064221.55E-06















4230.8910054230.453994231.31E-064238.64E-07















4240.8987934240.4383714245.96E-074242.09E-07















4250.9063084250.42261842504253.87E-07















4260.9135454260.4067374265.96E-084265.96E-08















4270.9205054270.390732427-1.79E-074274.17E-07















4280.9271844280.3746074285.96E-08428-1.49E-07















4290.933584290.358368429-1.19E-074292.38E-07















4300.9396924300.342024301.79E-074300















4310.9455184310.3255684314.77E-074315.66E-07















4320.9510554320.3090174321.49E-064325.96E-07















4330.9563014330.292374333.22E-064331.43E-06















4340.9612554340.2756354346.50E-064342.35E-06















4350.9659144350.2588154351.14E-054354.62E-06















4360.9702774360.2419154361.90E-054367.11E-06















4370.974344370.224944372.94E-054371.14E-05















4380.9781044380.2078954384.39E-054381.68E-05















4390.9815714390.1908074395.65E-054392.15E-06















4400.9847694400.1736474403.87E-054401.01E-06















4410.9876634410.1564344412.53E-054418.49E-07















4420.9902524420.1391734421.58E-054426.41E-07















4430.9925374430.1218694439.24E-064439.69E-08















4440.9945174440.1045294444.95E-064443.95E-07















4450.9961924450.08715624452.38E-064457.45E-09















4460.9975634460.0697574469.54E-07446-3.58E-07















4470.9986294470.05233614472.98E-07447-2.27E-07















4480.9993914480.034899844804481.86E-07















4490.9998484490.0174528449-5.96E-08449-1.43E-07















45014504.77E-07450-5.96E-084502.72E-07
















Sheet 2: Timing_Analysis

Timing Analysis for 900 sin and cosine calculations from -450 deg to 450 deg










Using Sin_f32() and Sin_f32()

Using SinCos_f32()
1192 usec

585 usec

12 - Component Implementation

Component Implementation

Component Documentation

12.1 - NxtrStrtUp_IntegrationManual

Integration Manual

For

NxtrStrtUp

VERSION: 1

DATE: 06/01/17

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA


Location:
The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionJared Julien106/01/17


Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 DaVinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1MDD GuidelinesProcess 04.00.00
2Software Naming ConventionsProcess 04.00.00
3Software Coding StandardsProcess 04.00.00
4AR400A_NxtrStrtUp_DesignSee Synergy subproject version

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

DaVinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameInterrupt Category (FE/EI)Interrupt Channel NumberPriority DependencyNotes
N/A

Manual Configuration Changes

NotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

None

Required Global Data Outputs

None

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
N/A
RunnableScheduling RequirementsTrigger
N/A

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
.appstrtvectEntry point to applicationMust be placed at the location that the bootloader is expected to jump to via linker command file.

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

The following option must be specified in the main .gpj project file:

-nostartfiles

This change prevents the use of the Green Hills startup library which this component replaces.

Appendix

The following symbols need to be defined in the linker command file for the project surrounding RAM sections that are to be cleared at init.

SymbolNotes
clearedRamStartTo be placed near the top of RAM, before any *bss or *sbss section have been included by the application or OS.
clearedRamEndTo be placed near the end of RAM but before the definition of any heap memory and after any and all *bss or *sbss sections.

These symbols are used by the library to denote the beginning and end of RAM that will be cleared during application init. The intent is to keep the range as small as possible to optimize startup timing while including all RAM that is guaranteed to be cleared at init. Due to the way Nexteer structures their memory map the cleared section may contain initialized sections (*data and *sdata) as well. This will not cause any functional issues but will hinder performance slightly.

Caution: if a variable is outside of the range between these two symbols its value at init cannot be assured. It is recommended that the .map file be analyzed once the changes have been integrated and the project compiles to ensure that there are no variables that fall outside of this range.

12.2 - NxtrStrtUp_PeerReviewChecklist


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace
Integration Manual


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR400A_NxtrStrtUp_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR400A_NxtrStrtUp_Impl_1.3.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Jared Julien
Work CR ID:


EA4#12342





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































NoMDD


YesSource Code


YesPolySpace









































YesIntegration Manual


YesDavinci Files








































































Comments:






























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include FDD Owner and Integrator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

05/31/17
































Lead Peer Reviewer:


Lucas Wendling


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


NxtrStrtUp.c

Source File Revision:


4
Header File Name:


NxtrStrtUpLo.850

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 2

























MDD Name:

N/A

Revision:
N/A

























FDD/SCIR/DSR/FDR/CM Name:




AR400A_NxtrStrtUp_Design

Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







Yes
Comments:

















































for constant names







Yes
Comments:

















































for function names







No
Comments:






















Functions names are special and must match C standard

























for other names (component, memory







Yes
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written











No outputs
























Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Component.h is included








Yes
Comments:
















































All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:










and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:










standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







N/A
Comments:










contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































All loops have termination conditions that ensure







No
Comments:










finite loop iterations: [N63]










An intentional endless loop exists after call to main function

























All divides protect against divide by zero







N/A
Comments:










if needed: [N65]





































All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsiged conversions ensure the.







N/A
Comments:










float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:










types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







No
Comments:










null pointer if needed: [N70]










Symbols are provided by linker and guaranteed to be non-zero

























Component outputs are limited to the legal range







N/A
Comments:










defined in the FDD DataDict.m file : [N53]










No outputs

























All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments:









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

06/01/17
































Lead Peer Reviewer:


Lucas Wendling


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 4: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


NxtrStrtUp.cSource File Revision:


4


























EA4 Static Analysis Compliance Guideline version:







01.02.00







Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 N/A


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline





























Are previously added justification and deviation








N/A
Comments:

Initial version


comments still appropriate






































Do all MISRA deviation comments use approved








Yes
Comments:





deviation tags






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:























Comments regarding the process to run Polyspace on this component can be found in tools/Polyspace/README.txt.

Need to follow up on 6.3 deviation - Kathleen thinks that she and Gus already came up with one

New deviation for 11.4, 8.12, and 8.9 used that are not in officially realeased guideline document yet.




























LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

06/05/17
































Lead Peer Reviewer:


Lucas Wendling


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Kathleen Creager






































































Sheet 5: Integration Manual






















Rev 1.28-Jun-15
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. NxtrStrtUp_IntegrationManual.docx
Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 1





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:

Version 1







































Latest template used








Yes
Comments:










































Change log contains detailed description of changes








Yes
Comments:

Initial version







































Changes Highlighted (for Integrator)








N/A
Comments:

Initial version








































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

06/01/17
































Lead Peer Reviewer:


Lucas Wendling


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































13 - Component Implementation

Component Implementation

Component Documentation

13.1 - NxtrTi Integration Manual

Integration Manual

For

NxtrTi

VERSION: 1

DATE: 02/22/2017

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionJ. Julien102/22/2017

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 Non RTE NvM Blocks 10

7.4 RTE NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

See section 6. Please note the server runnables listed can be used as needed in the integration project and can be called via the RTE or outside of the RTE as required.

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

N/A

Required Global Data Outputs

N/A

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
NxtrTiInit1RTE Init Task
RunnableScheduling RequirementsTrigger
NxtrTiPer1NoneRTE 2ms Task
GetRefTmr100MicroSec32bit_OperServer RunnableClient Call
GetRefTmr1MicroSec32bit_OperServer RunnableClient Call
GetTiSpan100MicroSec32bit_OperServer RunnableClient Call
GetTiSpan1MicroSec32bit_OperServer RunnableClient Call

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
CDD_NxtrTi_START_SEC_CODE

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
<Memmap usuage info>

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
<NVM block used Non RTE functions >

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
<NVM block used in RTE functions >

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

<This section is for appendix>

13.2 - NxtrTi Review


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR102B_NxtrTi_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. AR102B_NxtrTi_Impl_1.0.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Jared Julien
Work CR ID:


EA4#15505





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


YesSource Code


YesPolySpace









































NoIntegration Manual


N/ADavinci Files








































































Comments:

MDD was not created as part of this change - FDD captures all relevant design details



























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include FDD Owner and Integrator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

09/22/17
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


NxtrTi.c

Source File Revision:


1
Header File Name:





Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this.
Header File Name:





Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this.

























MDD Name:

N/A

Revision:
N/A

























FDD/SCIR/DSR/FDR/CM Name:




AR102B_NxtrTi_Design

Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







Yes
Comments:

















































for constant names







Yes
Comments:

















































for function names







Yes
Comments:

















































for other names (component, memory







Yes
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Component.h is included








Yes
Comments:
























All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:










and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:










standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:










contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







Yes
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































All loops have termination conditions that ensure







N/A
Comments:










finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:










if needed: [N65]





































All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsiged conversions ensure the.







N/A
Comments:










float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:










types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







N/A
Comments:










null pointer if needed: [N70]





































Component outputs are limited to the legal range







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

09/22/17
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 4: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


NxtrTi.cSource File Revision:


1

Source File Name:



Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.03.00









Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 N/A


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline





























Are previously added justification and deviation








Yes
Comments:





comments still appropriate






































Do all MISRA deviation comments use approved








Yes
Comments:





deviation tags






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

No
Comments:





for all functions in the component per Design










Found cyclomatic complexity 17 for SinCos_f32() function











and Coding Standards rule [N47]

































































































General Notes / Comments:























Rule 21.1 was observed but the case was unknown. The code reference by the warning was scruitinzed with no changes deemed necessary.































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Jared Julien


Review Date :

09/22/17
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):