Clarke and Inverse ClarkeTransformations Hardware Implementation. User Guide

Similar documents
UG0651 User Guide. Scaler. February2018

UG0682 User Guide. Pattern Generator. February 2018

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

Total Ionizing Dose Test Report. No. 14T-RTSX32SU-CQ256-D1RH41

Application Note. Traffic Signal Controller AN-CM-231

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

Smart Night Light. Figure 1: The state diagram for the FSM of the ALS.

Flip-flop and Registers

Microprocessor Design

CHAPTER1: Digital Logic Circuits

Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems

Experiment # 12. Traffic Light Controller

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited

Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY.

Chapter 5 Sequential Circuits

Upgrading a FIR Compiler v3.1.x Design to v3.2.x

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

Traffic Light Controller

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

Towards Trusted Devices in FPGA by Modeling Radiation Induced Errors

MODELING OF ADC ARCHITECTURES IN HDL LANGUAGES

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Laboratory Exercise 7

ECE 263 Digital Systems, Fall 2015

We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

Troubleshooting EMI in Embedded Designs White Paper

Lecture 11: Synchronous Sequential Logic

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

CSE140L: Components and Design Techniques for Digital Systems Lab. FSMs. Tajana Simunic Rosing. Source: Vahid, Katz

Chapter Contents. Appendix A: Digital Logic. Some Definitions

Digital Systems Laboratory 1 IE5 / WS 2001

Chapter 4. Logic Design

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

Fig. 1. The Front Panel (Graphical User Interface)

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7

Decade Counters Mod-5 counter: Decade Counter:

Digital Audio Design Validation and Debugging Using PGY-I2C

RTG4 Radiation Update J.J. Wang, Chief Engineer Nadia Rezzak, Staff Engineer Stephen Varela, Engineer

Technical Article MS-2714

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

2.6 Reset Design Strategy

FSM Cookbook. 1. Introduction. 2. What Functional Information Must be Modeled

Registers, Register Transfers and Counters Dr. Fethullah Karabiber

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Design of Memory Based Implementation Using LUT Multiplier

Lab 3: VGA Bouncing Ball I

FPGA Design. Part I - Hardware Components. Thomas Lenzi

EECS150 - Digital Design Lecture 15 Finite State Machines. Announcements

Bell. Program of Study. Accelerated Digital Electronics. Dave Bell TJHSST

Radar Signal Processing Final Report Spring Semester 2017

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Laboratory Exercise 7

Chapter 11 State Machine Design

2. Logic Elements and Logic Array Blocks in the Cyclone III Device Family

EE292: Fundamentals of ECE

Interfacing Analog to Digital Data Converters. A/D D/A Converter 1

LAX_x Logic Analyzer

Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM)

CHAPTER 4: Logic Circuits

White Paper Lower Costs in Broadcasting Applications With Integration Using FPGAs

AC : DIGITAL DESIGN MEETS DSP

1. a) For the circuit shown in figure 1.1, draw a truth table showing the output Q for all combinations of inputs A, B and C. [4] Figure 1.

White Paper Versatile Digital QAM Modulator

Advanced Synchronization Techniques for Data Acquisition

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

There are many ham radio related activities

EAN-Performance and Latency

CHAPTER 4: Logic Circuits

ADC Peripheral in Microcontrollers. Petr Cesak, Jan Fischer, Jaroslav Roztocil

Optimization of memory based multiplication for LUT

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

IE1204 Digital Design. F11: Programmable Logic, VHDL for Sequential Circuits. Masoumeh (Azin) Ebrahimi

IE1204 Digital Design F11: Programmable Logic, VHDL for Sequential Circuits

Implementation of Memory Based Multiplication Using Micro wind Software

Block Diagram. dw*3 pixin (RGB) pixin_vsync pixin_hsync pixin_val pixin_rdy. clk_a. clk_b. h_s, h_bp, h_fp, h_disp, h_line

Figure 1 Block diagram of a 4-bit binary counter

Keywords Xilinx ISE, LUT, FIR System, SDR, Spectrum- Sensing, FPGA, Memory- optimization, A-OMS LUT.

Scan. This is a sample of the first 15 pages of the Scan chapter.

Principles of Computer Architecture. Appendix A: Digital Logic

RS flip-flop using NOR gate

Quad ADC EV10AQ190A Synchronization of Multiple ADCs

Sequential Logic Notes

CS3350B Computer Architecture Winter 2015

TSIU03, SYSTEM DESIGN. How to Describe a HW Circuit

Introduction to Digital Logic Missouri S&T University CPE 2210 Exam 3 Logistics

For Teacher's Use Only Q Total No. Marks. Q No Q No Q No

ENGN3213 Digital Systems and Microprocessors Sequential Circuits

ENGG 1203 Tutorial. D Flip Flop. D Flip Flop. Q changes when CLK is in Rising edge PGT NGT

Final Exam review: chapter 4 and 5. Supplement 3 and 4

Analogue Versus Digital [5 M]

Debugging of VHDL Hardware Designs on Altera s DE2 Boards

Transcription:

Clarke and Inverse ClarkeTransformations Hardware Implementation User Guide

Clarke and Inverse Clarke Transformations Hardware Implementation User Guide Table of Contents Clarke and Inverse Clarke Transformations Theory... 5 Clarke Transformation... 5 Inverse Clarke Transformation... 6 Clarke Transformation Hardware Implementation... 7 Clarke Transformation Implementation... 7 Inputs and Outputs of Clarke Transformation Block... 8 Configuration Parameters of Clarke Transformation Block... 9 Clarke Transformation Block FSM Implementation... 9 Timing Diagram of Clarke Transformation Block... 11 Resource Utilization of Clarke Transformation Block... 12 Inverse Clarke Transformation Hardware Implementation... 13 Inverse Clarke Transformation Implementation... 13 Inputs and Outputs of Inverse Clarke Transformation Block... 14 Configuration Parameters of Inverse Clarke Transformation Block... 15 Inverse Clarke Transformation Block FSM Implementation... 16 Timing Diagram of Inverse Clarke Transformation Block... 18 Resource Utilization of Inverse Clarke Transformation Block... 19 Appendix... 20 Product Support... 23 Customer Service... 23 Customer Technical Support Center... 23 Technical Support... 23 Website... 23 Contacting the Customer Technical Support Center... 23 ITAR Technical Support... 24 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 3

Clarke and Inverse Clarke Transformations Theory The behavior of three-phase machines is usually described by the machines voltage and current equations. The coefficients of the differential equations that describe their behavior are time varying (except when the rotor is stationary). The mathematical modeling of such a system tends to be complex since the flux linkages, induced voltages, and currents change continuously as the electric circuit is in relative motion. For such a complex electrical machine analysis, mathematical transformations are often used to decouple variables and to solve equations involving time varying quantities by referring all variables to a common frame of reference. Clarke Transformation The three-phase quantities are translated from the three-phase reference frame to the two-axis orthogonal stationary reference frame using Clarke Transformation as shown in Figure 1 on page 6. The Clarke Transformation is expressed by the following equations: I α = 2 3 (I a) 1 3 (I b I c ) I β = 2 3 (I b I c ) EQ1 where, I a, I b, and I c are three-phase quantities I α and I β are stationary orthogonal reference frame quantities When I α is superposed with I a, and I a + I b + I c is zero, I a, I b, and I c can be transformed to I α and I β as: EQ2 I α = I a EQ3 I β = 1 3 (I a + 2I b ) where, I a + I b + I c = 0 EQ4 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 5

Clarke and Inverse Clarke Transformations Theory b I b I β β axis 120 120 I a 120 a I c c I α α axis Figure 1 Clarke Transformation Inverse Clarke Transformation The transformation from a two-axis orthogonal stationary reference frame to a three-phase stationary reference frame is accomplished using Inverse Clarke Transformation as shown in Figure 2. The Inverse Clarke Transformation is expressed by the following equations: V a = V α V b = V α + 3 V β 2 V c = V α 3 V β 2 EQ5 EQ6 where, V a,v b, and V c are three-phase quantities V α, and V β are stationary orthogonal reference frame quantities EQ7 β V b V β V a V α α V c Figure 2 Inverse Clarke Transformation 6 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide

Clarke Transformation Implementation Clarke Transformation Hardware Implementation This section describes the hardware implementation and the internal configuration details of the Clarke Transformation implemented on the SmartFusion2 device. Clarke Transformation Implementation The system level block diagram of the Clarke Transformation implemented is shown in Figure 3. START_CLARKE_i I α I a CLARKE TRANSFORMATION I β I b CLARKE_DONE_o Figure 3 System Level Block Diagram of Clarke Transformation I α = I a EQ8 I β = 1 3 (I a + 2I b ) EQ9 where, I α and I β are orthogonal stationary reference frame current components I a and I b are input phase currents The implementation of Clarke Transformation equations is done as shown in Figure 4. The Clarke Transformation block uses the MAS block, which performs some basic operations like multiplication, addition, and subtraction, for the computation of EQ8 and EQ9. The START_CLARKE_i signal must undergo a Low to High transition to accept new inputs and compute the corresponding output. The CLARKE_DONE_o output signal goes High when the computations are completed and output is obtained. Once a set of inputs are given and the transformation process begins, new input will not be accepted before the CLARKE_DONE_o output signal goes High, even if the START_CLARKE_i signal undergoes a Low to High transition. Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 7

Clarke Transformation Hardware Implementation MAS_DONE_FROM_MAS_i RESET_I IALPHA_CLARKE_OUTPUT_o IBETA_CLARKE_OUTPUT_o SYS_CLK_I CLARKE_DONE_o START_CLARKE_i IA_PHASEA CLARKE TRANSFORMATION MAS_EN_TO_MAS_o SUB_TO_MAS_o IB_PHASEB MUL_A_TO_MAS_o MAS PRODUCT_FROM_MAS_i MUL_B_TO_MAS_o ADD_C_TO_MAS_o Figure 4 Clarke Transformation Implementation The inputs, IA_PHASEA and IB_PHASEB are obtained from the current measurement block that interfaces to an external analog to digital converter (ADC) on board. Inputs and Outputs of Clarke Transformation Block Table 1 lists and describes the input and output ports of Clarke Transformation block. Table 1 Input and Output Ports of Clarke Transformation Signal Name Direction Description RESET_I Input Asynchronous reset signal to design. Active state is defined by the generic g_reset_state SYS_CLK_I Input System clock IA_PHASEA Input Phase A current component IB_PHASEB Input Phase B current component START_CLARKE_i Input Start signal for the Clarke Transformation block MAS_DONE_FROM_M AS_i PRODUCT_FROM_MA S_i IALPHA_CLARKE_OUT PUT_o IBETA_CLARKE_OUTP UT_o Input Input Output Output Done signal from the MAS block indicating that the computations by the MAS block are completed Product from the MAS block Current component in stationary orthogonal reference frame on alpha axis Current component in stationary orthogonal reference frame on beta axis 8 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide

Configuration Parameters of Clarke Transformation Block Signal Name Direction Description CLARKE_DONE_o Output Signal indicating that the Clarke Transformation is complete MAS_EN_TO_MAS_o Output Enable signal to the MAS block SUB_TO_MAS_o Output Signal to give an indication to the MAS block to perform subtraction (when 1 => subtraction; 0 => addition) MUL_A_TO_MAS_o Output Operand to the MAS block for multiplication MUL_B_TO_MAS_o Output Operand to the MAS block for multiplication ADD_C_TO_MAS_o Output Carry input to the MAS block Configuration Parameters of Clarke Transformation Block Name Table 2 lists and describes the configuration parameters used in the hardware implementation of the Clarke Transformation block. These are generic parameters and can be varied as per the requirement of the application. Table 2 Configuration Parameters of Clarke Transformation Block Description g_reset_state g_ia_ib_width MUL_A_WIDTH MUL_B_WIDTH ADD_C_WIDTH When 0, supports active Low reset When 1, supports active High reset Defines the bit length of the IA_PHASEA and IB_PHASEB registers Defines the bit length of one of the operands to the MAS block for multiplication Defines the bit length of one of the operands to the MAS block for multiplication Defines the bit length of carry input to the MAS block Clarke Transformation Block FSM Implementation The finite state machine (FSM) of the Clarke Transformation block is shown in Figure 5. IDLE (STARTING STATE) FINAL IA_BY_RT3 IB_MUL_2_BY_RT3 Figure 5 Clarke Transformation FSM Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 9

Clarke Transformation Hardware Implementation There are four states in the FSM of the Clarke Transformation block namely: Idle IA_BY_RT3 IB_MUL_2_BY_RT3 FINAL Idle State The FSM is synchronized to the rising-edge of the clock. This is the initial state of the FSM. The FSM moves to this state when a reset signal is given to the system or when the computations corresponding to the given inputs are completed and output is obtained. The FSM moves to IA_BY_RT3 state in the next clock cycle, when a rising-edge on the START_CLARKE_i input signal is detected. IA_BY_RT3 State In this state, the MAS block is enabled, and IA_PHASEA and 1/ 3 (it is taken as constant) are given to the MAS block for multiplication. IALPHA_CLARKE_OUTPUT_o is assigned the value of IA_PHASEA in this state. The FSM moves to IB_MUL_2_BY_RT3 state in the next clock cycle. IB_MUL_2_BY_RT3 State FINAL State The FSM remains in this state until the Done signal (MAS_DONE_FROM_MAS_i) of the MAS block goes High, indicating that the computation of previous state is completed. After the Done signal from the MAS block goes High, scaled value of IB_PHASEB (left shift by 1 bit, that is, scaled by 2) and 1/ 3 are given to the MAS block for multiplication. The product obtained in the previous state is given as carry in ADD_C_TO_MAS_o to the MAS block for addition. The FSM moves to the FINAL state in the next clock cycle. The FSM remains in this state until the Done signal of the MAS block goes High, indicating that the computation of the previous state is completed. After the Done signal of the MAS block goes High, IBETA_CLARKE_OUTPUT_o is assigned the product from the MAS block in this state, the CLARKE_DONE_o signal is made High (reflected in the next clock cycle) indicating that the Clarke Transformation is completed as shown in Figure 6 on page 11. The FSM moves to the Idle state in the next clock cycle. 10 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide

Timing Diagram of Clarke Transformation Block Timing Diagram of Clarke Transformation Block The timing waveform of the Clarke Transformation block is as shown in Figure 6. Figure 6 Clarke Transformation Timing Diagram Color Code: Yellow: START_CLARKE_i White: IA_PHASEA, IB_PHASEB ( inputs) Purple: IALPHA_CLARKE_OUTPUT_o, IBETA_CLARKE_OUTPUT_o (outputs) Brown : CLARKE_DONE_o Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 11

Clarke Transformation Hardware Implementation Resource Utilization of Clarke Transformation Block The resource utilization of Clarke Transformation implemented on the SmartFusion2 device is shown in Table 3. Table 3 Resource Utilization of Clarke Transformation Block Resource Usage Report for Clarke Transformation Block Cell Usage Description CLKINT CFG2 CFG3 CFG4 2 uses 45 uses 21 uses 2 uses Sequential Cells SLE 119 uses Registers not packed on I/O Pads 119 DSP Blocks 0 I/O Ports 189 I/O Primitives 189 INBUF OUTBUF 76 uses 113 uses Global Clock Buffers 2 Total LUTs 68 12 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide

Inverse Clarke Transformation Implementation Inverse Clarke Transformation Hardware Implementation This section describes the hardware implementation and the internal configuration details of the Inverse Clarke Transformation implemented on the SmartFusion2 device. Inverse Clarke Transformation Implementation The system level block diagram of the Inverse Clarke Transformation implemented is shown in Figure 7. START_ICLARKE_i V a V b V α INVERSE CLARKE TRANSFORMATION V c V β ICLARKE_DONE_o Figure 7 System Level Block Diagram of Inverse Clarke Transformation The above block implements the following equations: V a = V α EQ10 V b = V α + 3 V β 2 EQ11 V c = V α 3 V β 2 EQ12 where, V a, V b, and V c are three-phase quantities V α and V β are stationary orthogonal reference frame quantities The Inverse Clarke Transformation equations are implemented as shown in Figure 8 on page 14. The Inverse Clarke Transformation block uses the MAS block, which performs the basic operations like multiplication, addition, and subtraction, for the computation of EQ10 and EQ11. The START_ICLARKE_i signal must undergo a Low to High transition to accept new inputs and compute the output. The ICLARKE_DONE_o goes High when the computations are completed and output is obtained. Once a set of Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 13

Inverse Clarke Transformation Hardware Implementation inputs are given and the transformation process begins, new input will not be accepted before the ICLARKE_DONE_o output signal goes High, even if the START_ICLARKE_i signal undergoes a Low to High transition MAS_DONE_FROM_MAS_i VA_OUTPUT_o RESET_I VB_OUTPUT_o VC_OUTPUT_o SYS_CLK_I ICLARKE_DONE_o START_ICLARKE_i VALPHA_ICLARKE_i INVERSE CLARKE TRANSFORMATION MAS_EN_TO_MAS_o SUB_TO_MAS_o VBETA_ICLARKE_i MUL_A_TO_MAS_o MAS PRODUCT_FROM_MAS_i MUL_B_TO_MAS_o ADD_C_TO_MAS_o Figure 8 Inverse Clarke Transformation Implementation The inputs, VALPHA_ICLARKE_i and VBETA_ICLARKE_i are obtained from the Inverse Park Transformation block. Inputs and Outputs of Inverse Clarke Transformation Block Table 4 describes the input and output ports of the Inverse Clarke Transformation block. Table 4 Input and Output Ports of Inverse Clarke Transformation Signal Name Direction Description RESET_I Input Asynchronous reset signal to design. Active state is defined by the generic g_reset_state. SYS_CLK_I Input System clock VALPHA_ICLARKE_i Input Voltage component in stationary orthogonal reference frame (Valpha) VBETA_ICLARKE_i Input Voltage component in stationary orthogonal reference frame (Vbeta) START_ICLARKE_i Input Start signal for the Inverse Clarke function VA_OUTPUT_o Output Phase A voltage component VB_OUTPUT_o Output Phase B voltage component VC_OUTPUT_o Output Phase C voltage component ICLARKE_DONE_o Output Signal indicating that the Inverse Clarke Transformation is complete 14 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide

Configuration Parameters of Inverse Clarke Transformation Block Signal Name Direction Description MAS_EN_TO_MAS_o Output Enable signal to the MAS block SUB_TO_MAS_o Output Signal to give an indication to the MAS block to perform subtraction (when 1 => subtraction; 0 => addition). MUL_A_TO_MAS_o Output Operand to the MAS block for multiplication MUL_B_TO_MAS_o Output Operand to the MAS block for multiplication ADD_C_TO_MAS_o Output Carry input to the MAS block Configuration Parameters of Inverse Clarke Transformation Block Name Table 5 lists and describes the configuration parameters used in the hardware implementation of the Inverse Clarke Transformation block.. These are generic parameters and can be varied as per the requirement of the application. Table 5 Configuration Parameters of Inverse Clarke Transformation Block Description g_reset_state g_valpha_vbeta_wiidth MUL_A_WIDTH MUL_B_WIDTH ADD_C_WIDTH When 0, supports active Low reset When 1, supports active High reset Defines the bit length of the VALPHA_ICLARKE_i and VBETA_ICLARKE_i registers Defines the bit length of one of the operands to the MAS block for multiplication Defines the bit length of one of the operands to the MAS block for multiplication Defines the bit length of carry input to the MAS block Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 15

Inverse Clarke Transformation Hardware Implementation Inverse Clarke Transformation Block FSM Implementation The FSM of the Inverse Clarke Transformation block is shown in Figure 9. IDLE (STARTING STATE) FINAL VALPHA_BY_M2_VB VBETA_MUL_R3BY2_VC VBETA_MUL_R2BY2_VB VALPHA_BY_M2_VC Figure 9 Inverse Clarke Transformation FSM Following are the six states in the FSM of the Inverse Clarke Transformation block: Idle State VALPHA_BY_M2_VB VBETA_MUL_R3BY2_VB VALPHA_BY_M2_VC VBETA_MUL_R3BY2_VC FINAL Idle State The FSM is synchronized to the rising-edge of the clock. This is the initial state of the FSM. The FSM moves to this state when a reset signal is given to the system or when the computations corresponding to the given inputs are completed and output is obtained. The FSM moves to the VALPHA_BY_M2_VB state in the next clock cycle, when a rising-edge on the START_ICLARKE_i input signal is detected. VALPHA_BY_M2_VB State In this state the MAS block is enabled and VALPHA_ICLARKE_i and (-1/2) (scaled and taken as constant) are given to the MAS block for multiplication. VA_OUTPUT_o is assigned the value of VALPHA_ICLARKE_i in this state. The FSM moves to the VBETA_MUL_R3BY2_VB state in the next clock cycle. 16 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide

Inverse Clarke Transformation Block FSM Implementation VBETA_MUL_R3BY2_VB State The FSM remains in this state until the Done signal of the MAS block goes High, indicating that the computation of the previous state is complete. After the Done signal (MAS_DONE_FROM_MAS_i) from the MAS block goes High, VBETA_ICLARKE_i and ( 3)/2 (scaled and taken as constant) are given to the MAS block for multiplication. The product obtained in the specify state is given as carry in (ADD_C_TO_MAS_o) to the MAS block for addition. The FSM moves to the VALPHA_BY_M2_VC state in the next clock cycle. VALPHA_BY_M2_VC State The FSM remains in this state until the Done signal of the MAS block goes High, indicating that the computation of the specify state is complete. After the Done signal from the MAS block goes High, VALPHA_ICLARKE_i and (-1/2) (scaled and taken as constant) are given to the MAS block for multiplication. The product obtained in the specify state is assigned to the VB_OUTPUT_o. The FSM moves to the VBETA_MUL_R3BY2_VC state in the next clock cycle. VBETA_MUL_R3BY2_VC State FINAL State The FSM remains in this state until the Done signal of the MAS block goes High, indicating that the computation of the specify state is complete. After the Done signal from the MAS block goes High, VBETA_ICLARKE_i and ( 3)/2 (scaled and taken as constant) are given to the MAS block for multiplication. The product obtained in the specify state is given as carry in for subtraction (SUB_TO_MAS_o = 1 ). The FSM moves to the FINAL state in the next clock cycle. The FSM remains in this state until the Done signal of the MAS block goes High, indicating that the computation of the specify state is complete. After the Done signal from the MAS block goes High, VC_OUPUT_o is assigned the product from the MAS block in this state and the ICLARKE_DONE_o signal is made High (reflected in the next clock cycle) indicating that the Inverse Clarke Transformation is completed as shown in Figure 10 on page 18. The FSM moves to the Idle state in the next clock cycle. Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 17

Inverse Clarke Transformation Hardware Implementation Timing Diagram of Inverse Clarke Transformation Block The timing waveform of the Inverse Clarke Transformation block is shown in Figure 10. Figure 10 Inverse Clarke Transformation Timing Diagram Color code: Yellow: START_ICLARKE_i WHITE: VALPHA_ICLARKE_i, VBETA_ICLARKE_i (inputs) Purple: VA_OUTPUT_o, VB_OUTPUT_o, VC_OUTPUT_o (outputs) Brown: ICLARKE_DONE_o 18 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide

Resource Utilization of Inverse Clarke Transformation Block Resource Utilization of Inverse Clarke Transformation Block The resource utilization of Inverse Clarke Transformation implemented on the SmartFusion2 device is shown in Table 6. Table 6 Resource Utilization of Inverse Clarke Transformation Block Resource Usage Report for Clarke Transformation Block Cell Usage Description CLKINT CFG2 CFG3 CFG4 2 uses 45 uses 21 uses 2 uses Sequential Cells SLE 119 uses Registers not packed on I/O Pads 119 DSP Blocks 0 I/O Ports 189 I/O Primitives 189 INBUF OUTBUF 76 uses 113 uses Global Clock Buffers 2 Total LUTs 68 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 19

Appendix Appendix <Add heading: Entity Definition of the Clarke Block > The entity definition of the Clarke block is as follows: ENTITY clarke IS GENERIC( g_reset_state : STD_LOGIC := '0' ; g_ia_ib_width : INTEGER := 14 ; -- Multiplier with add/sub generics MUL_A_WIDTH : INTEGER := 18 ; MUL_B_WIDTH : INTEGER := 18 ; ADD_C_WIDTH : INTEGER := 44 ) ; PORT ( RESET_I : IN STD_LOGIC ; SYS_CLK_I : IN STD_LOGIC ; START_CLARKE_i : IN STD_LOGIC ; IA_PHASEA : IN STD_LOGIC_VECTOR((g_IA_IB_WIDTH-1) downto 0) ; IB_PHASEB : IN STD_LOGIC_VECTOR((g_IA_IB_WIDTH-1) downto 0) ; IALPHA_CLARKE_OUTPUT_o: OUT STD_LOGIC_VECTOR((g_IA_IB_WIDTH) downto 0) ; IBETA_CLARKE_OUTPUT_o : OUT STD_LOGIC_VECTOR((g_IA_IB_WIDTH) downto 0) ; CLARKE_DONE_o : OUT STD_LOGIC ; -- MAS SIGNALS MAS_EN_TO_MAS_o : OUT STD_LOGIC ; SUB_TO_MAS_o : OUT STD_LOGIC ; MUL_A_TO_MAS_o : OUT STD_LOGIC_VECTOR((MUL_A_WIDTH-1) downto 0) ; MUL_B_TO_MAS_o : OUT STD_LOGIC_VECTOR((MUL_B_WIDTH-1) downto 0) ; ADD_C_TO_MAS_o : OUT STD_LOGIC_VECTOR((ADD_C_WIDTH-1) downto 0) ; PRODUCT_FROM_MAS_i : IN STD_LOGIC_VECTOR((ADD_C_WIDTH-1) downto 0) ; MAS_DONE_FROM_MAS_i : IN STD_LOGIC ) ; END Clarke <Add heading: Entity Definition of the Inverse Clarke Block > The entity definition of the Inverse Clarke block is as follows: ENTITY Inverse_Clarke IS GENERIC( g_reset_state : STD_LOGIC := '0' ; g_valpha_vbeta_width : INTEGER := 18 ; --g_va_vb_vc_width : INTEGER := 18 ; -- Multiplier with add/sub generics MUL_A_WIDTH : INTEGER := 18 ; MUL_B_WIDTH : INTEGER := 18 ; ADD_C_WIDTH : INTEGER := 44 ) ; PORT ( RESET_I : IN STD_LOGIC ; 20 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide

Resource Utilization of Inverse Clarke Transformation Block SYS_CLK_I : IN STD_LOGIC ; START_ICLARKE_i : IN STD_LOGIC ; VALPHA_ICLARKE_i : IN STD_LOGIC_VECTOR((g_VALPHA_VBETA_WIDTH-1) downto 0) ; VBETA_ICLARKE_i : IN STD_LOGIC_VECTOR((g_VALPHA_VBETA_WIDTH-1) downto 0) ; VA_OUTPUT_o : OUT STD_LOGIC_VECTOR((g_VALPHA_VBETA_WIDTH) downto 0) ; VB_OUTPUT_o : OUT STD_LOGIC_VECTOR((g_VALPHA_VBETA_WIDTH) downto 0) ; VC_OUTPUT_o : OUT STD_LOGIC_VECTOR((g_VALPHA_VBETA_WIDTH) downto 0) ; ICLARKE_DONE_o : OUT STD_LOGIC ; -- MAS SIGNALS MAS_EN_TO_MAS_o : OUT STD_LOGIC ; SUB_TO_MAS_o : OUT STD_LOGIC ; MUL_A_TO_MAS_o : OUT STD_LOGIC_VECTOR((MUL_A_WIDTH-1) downto 0) ; MUL_B_TO_MAS_o : OUT STD_LOGIC_VECTOR((MUL_B_WIDTH-1) downto 0) ; ADD_C_TO_MAS_o : OUT STD_LOGIC_VECTOR((ADD_C_WIDTH-1) downto 0) ; PRODUCT_FROM_MAS_i : IN STD_LOGIC_VECTOR((ADD_C_WIDTH-1) downto 0) ; MAS_DONE_FROM_MAS_i : IN STD_LOGIC ) ; END Inverse_Clarke Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 21

Product Support Microsemi SoC Products Group backs its products with various support services, including Customer Service, Customer Technical Support Center, a website, electronic mail, and worldwide sales offices. This appendix contains information about contacting Microsemi SoC Products Group and using these support services. Customer Service Contact Customer Service for non-technical product support, such as product pricing, product upgrades, update information, order status, and authorization. From North America, call 800.262.1060 From the rest of the world, call 650.318.4460 Fax, from anywhere in the world 408.643.6913 Customer Technical Support Center Microsemi SoC Products Group staffs its Customer Technical Support Center with highly skilled engineers who can help answer your hardware, software, and design questions about Microsemi SoC Products. The Customer Technical Support Center spends a great deal of time creating application notes, answers to common design cycle questions, documentation of known issues and various FAQs. So, before you contact us, please visit our online resources. It is very likely we have already answered your questions. Technical Support Website Visit the Microsemi SoC Products Group Customer Support website for more information and support (http://www.microsemi.com/soc/support/search/default.aspx). Many answers available on the searchable web resource include diagrams, illustrations, and links to other resources on website. You can browse a variety of technical and non-technical information on the Microsemi SoC Products Group home page, at http://www.microsemi.com/soc/. Contacting the Customer Technical Support Center Highly skilled engineers staff the Technical Support Center. The Technical Support Center can be contacted by email or through the Microsemi SoC Products Group website. Email You can communicate your technical questions to our email address and receive answers back by email, fax, or phone. Also, if you have design problems, you can email your design files to receive assistance. We constantly monitor the email account throughout the day. When sending your request to us, please be sure to include your full name, company name, and your contact information for efficient processing of your request. The technical support email address is soc_tech@microsemi.com. My Cases Microsemi SoC Products Group customers may submit and track technical cases online by going to My Cases. Clarke and Inverse Clarke Transformations Hardware Implementation User Guide 23

Product Support Outside the U.S. Customers needing assistance outside the US time zones can either contact technical support via email (soc_tech@microsemi.com) or contact a local sales office. Sales office listings can be found at www.microsemi.com/soc/company/contact/default.aspx. ITAR Technical Support For technical support on RH and RT FPGAs that are regulated by International Traffic in Arms Regulations (ITAR), contact us via soc_tech_itar@microsemi.com. Alternatively, within My Cases, select Yes in the ITAR drop-down list. For a complete list of ITAR-regulated Microsemi FPGAs, visit the ITAR web page. 24 Clarke and Inverse Clarke Transformations Hardware Implementation User Guide

Microsemi Corporate Headquarters One Enterprise, Aliso Viejo CA 92656 USA Within the USA: +1 (949) 380-6100 Sales: +1 (949) 380-6136 Fax: +1 (949) 215-4996 Microsemi Corporation (NASDAQ: MSCC) offers a comprehensive portfolio of semiconductor solutions for: aerospace, defense and security; enterprise and communications; and industrial and alternative energy markets. Products include high-performance, high-reliability analog and RF devices, mixed signal and RF integrated circuits, customizable SoCs, FPGAs, and complete subsystems. Microsemi is headquartered in Aliso Viejo, Calif. Learn more at www.microsemi.com. 2013 Microsemi Corporation. All rights reserved. Microsemi and the Microsemi logo are trademarks of Microsemi Corporation. All other trademarks and service marks are the property of their respective owners. 50200502-0/11.13