FEMAS Development Progress FEMAS Development Team September 04
FEMAS Development - Progress FEMAS Development Team September 04, 2012 CEMC IAB Meeting May 8 -10, 2012 University/Center Confidential
Working Plan Description Status 2 D Cross. Sect. Analys. Testing Database for 2 D cross. sectional analysis testing Done 06/12/2012 2 D Cross. Sect. Analys. Testing Matrix description for 2 D cross sectional tests Done 06/12/2012 Released New Version Released 0. 5. 142 Version of FEMAS Done 06/05/2012 Long-Term Plan Including known problems/features and input received during EMC consortium Done 06/05/2012 License file - not only in program file Done 05/28/2012 2 D Cross Sect. Task In 2 D cross sect. analysis will be added possibility to correct RLGC data because of “roughness effect” Done 05/28/2012 Export/Load Plot to/from File Will be added possibility to save/load plot data and settings into/from the file Done 05/28/2012 Task Estimated Time 2
Working Plan Description Status Delay Problem Implemented new algorithm, which makes impulse response “Physically causal” Done 05/21/2012 Circuits Circuit block in LPA Done 05/21/2012 2 D Cross. Sect – Task 2 D cross sect. analysis was transformed from tool to task Done 05/21/2012 Pre-emphasis filter testing Will be compared matlab and FEMAS results Done 06/26/2012 Documentation Developers level: descript. of funct. Done 06/26/2012 Users level: Users manual Done 07/10/2012 Description of algorithms Done 07/24/2012 Task Estimated Time 3
Working Plan Description Status S-parameters Analysis Technical specification - Updated Done 07/10/2012 LPA Testing Database for Link Path Analysis Testing Done 07/10/2012 Implement help system User’s manual will be converted in html format and added in FEMAS help Done 07/10/2012 Smoothing filter Change Wp and Ws parameters from rad/sample to frequency Hz Done 07/10/2012 Changes according to Matteo’s suggestions Default values, Pre-emphasis taps, Move blocks in schematic matrix, arrange names of channels alphabetically Done 07/10/2012 Task Estimated Time 4
Working Plan Description Status Change Linear Interpolation Method We need to interpolate magnitude and phase instead of real and imaginary parts Done 07/24/2012 Modify preemphasis filter Implement pre-emphasis filter with any number of pre and post taps Done 07/24/2012 Units Add units everywhere it is possible: Sources - VHigh, VLow, rise/fall time, bitrate, delay, also in eye diagram Done 07/24/2012 Student License Limited functionality for students Done 07/24/2012 Smoothing Filter Testing Test smoothing filter and created test report Done 07/24/2012 Update User’s Manual and Functionalities Users manual and functionalities where updated according changes made during this two week Done 07/24/2012 Task Estimated Time 5
Working Plan Task Description Status Time Student License Modified Custom geometry for 2 D Cross Section Analysis is allowed – restriction is 3 traces Done 07/31/2012 Smoothing Filter Add option to choose smoothing method: Butterworth/Chebyshev Done 07/31/2012 Jitter Analysis for Input Signal Added: Random Jitter, Duty Cycle Distortion and Periodic Jitter to the Source Waveform Done 07/31/2012 Fixed bug in AC simulation New Release Will be created new 0. 5. 143 version 6
Working Plan Task Description Status Time Added Possibility to Calculate All Tasks in the Project Added button “Calculate All” in LPA projects Done 08/14/2012 Signal Analyzer Added new tool “Signal Analyzer” Done 08/14/2012 Improved LPA Performance Added possibility to begin or finish channel with 1 port s-parameters block Done 08/14/2012 Testing of jitter injection Tao has tasted jitter injection for input waveform Done 08/14/2012 Tested Conversion from Time to Frequency Domain Compared matlab fft FEMAS Conversion tool and Analytically calculated results for Gaussian, Step, … signals Done 08/21/2012 Added Validation Check in LPA Will be calculated recommended frequency range for s-parameters and checked if Done 08/21/2012 Added Filter: Inter. Symbol Interference (in GUI) 7
Working Plan Task Description Time Custom geometry It will be possible to create custom geometry from GUI Done 08/28/2012 T and P Network sequence In circuit models will be added possibility to define sequence of parallel and sequential T and P networks – Technical Specification Done 08/28/2012 Tx Equalization – De -emphasis Tx Equalization now consists Pre-emphasis and De-emphasis Done 08/28/2012 8
Task Description Custom geometry Added – Triangle, Trapezoid, Circle and Ellipse Prepared Environment for DLLs Time Done 09/04/2012 FIR Equalization Functionality for De-emphasis, Pre-emphasis and FFE equalization is done Done 09/04/2012 FFE Optimization Functionality for FFE optimization is done Done 09/04/2012 DFE Equalization Functionality for DFE equalization is done Done 09/04/2012 9
Equalization Rx Tx Channel Block Rx Equalizer Block Tx Pre-Emphasis Tx De-Emphasis Rx CTLE Rx FFE Rx DFE Equalization Optimization Equalization Optimization
Pre-Emphasis, De-Emphasis, FFE Equalization Tx Pre-Emphasis Equalization Tx De-Emphasis Rx FFE Equalization fir_equalization(double* input, int N, int UI, double tap_spacing, int num_post_taps, int num_pre_taps, double* pre_taps , double* post_taps, double cursor, double* output) Algorithm:
FIR_Equalization Input: double* input int N int UI double tap_spacing int num_pre_taps double* pre_taps int num_post_taps double* post_taps double cursor //Array of input signal //Number of elements in input signal //Number of points per bit //Fraction of UI //Number of pre tap coefficients //Array of pre tap coefficients //Number of post tap coefficients //Array of post tap coefficients //Cursor value input UI - Number of points per bit UI*tap_spacing
FIR_Equalization Results:
FFE_Optimization Rx FFE Optimization ffe_optimization double* input double* desired int N int UI double tap_spacing double cursor_location int num_pre_taps int num_post_taps output: double* pre_taps, double* post_taps, double &cursor, //input signal //desired signal // input signal length // Number of points per bit //Fraction of UI //First element location //Number of pre taps //Number of post taps //Array of pre tap coefficients //Array of post tap coefficients //Cursor value Algorithm: Find such pre_taps, post_taps and cursor, which minimize where
FFE Optimization ffe_optimization double* input //Array of input signal double* desired //Array of desired signal int N //Number of elements in input signal int UI //Number of points per bit double tap_spacing //Fraction of UI - Number from (0, 1] double cursor_location //Location of the cursor in UI – Number from [0, 1] int num_pre_taps //Number of pre tap coefficients int num_post_taps //Number of post tap coefficients UI*cursor_location UI*tap_spacing desired input UI - Number of points per bit
FFE Optimization num_pre_taps=2 num_post_taps=3
FFE – Optimization Results
DFE Equalization Rx DFE Equalization dfe_equalization Input: double* input, //Array of input signal int N, //Number of elements in input signal int UI, //Number of points per bit double tap_spacing //Fraction of UI int n, //Number of coefficients double* h, //Array of coefficients output: double* output Algorithm: //Array of modified signal
DFE_Equalization dfe_equalization Input: double* input, //Array of input signal int N, //Number of elements in input signal int UI, //Number of points per bit double tap_spacing //Fraction of UI int n, //Number of coefficients double* h, //Array of coefficients input UI - Number of points per bit UI*tap_spacing
DFE Optimization
Equalization - Progress Rx Tx Channel Block Rx Equalizer Block Tx Pre-Emphasis Tx De-Emphasis Rx CTLE Rx FFE Rx DFE Equalization Optimization Equalization Optimization Done In progress ? Done In progress 09/18/2012 09/11/2012 09/25/2012 09/11/2012 Create DLL & Documentation Integrate in FEMAS GUI 10/02/2012 10/09/2012
Custom Geometry double click
Custom Geometry
Custom Geometry In xml, instead of coordinates shape description is stored
Custom Geometry
Custom Geometry
Available Custom Geometries Circle Triangle Ellipse Trapezoid Custom
Task Description Time Parallel and series of circuit elements Add possibility to define Parallel and series of circuit element 09/11/2012 Equalization Create Dll and integrate into FEMAS GUI 10/09/2012 Update documentation Update user’s manual, functions and algorithms 10/16/2012 Try Different Filters Use Hamming Window and Rational Function to extrapolate transfer function, when we have not enough frequencies 09/11 -18/2012 Mutual inductance Integrate possibility in FEMAS to use mutual inductance 09/11 -18/2012 Jitter decomposition Misha and Mikheil Change Student License Activation Student “Free” license will be possible to obtain after registration 28
Task Description Time S-parameters & Channel Analyzer Scripting Impedance Matrix Geometry for 2 D Cross Sect. Analysis HSpice and PSpice formats in circuit 29
- Slides: 29