MICROCHIP Viterbi Decoder User Guide
- July 18, 2024
- MICROCHIP
Table of Contents
- MICROCHIP Viterbi Decoder
- Specifications
- Product Usage Instructions
- FAQ
- Introduction
- Installation Instructions
- Viterbi Decoder IP Configurator
- Functional Description
- Timing Diagrams
- Testbench Simulation
- Microchip Information
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
MICROCHIP Viterbi Decoder
Specifications
- Algorithm: Viterbi Decoder
- Input: 3-bit or 4-bit soft or hard input
- Decoding Method: Maximum Likelihood
- Implementation: Serial and Parallel
- Applications: Mobile phones, satellite communications, digital television
Product Usage Instructions
The Serial Viterbi Decoder processes input bits individually in a sequential manner. Follow these steps to use the Serial Decoder:
- Provide the input bits sequentially to the decoder.
- The decoder will update path metrics and make decisions for each bit.
- Understand that the Serial Decoder may be slower but offers reduced complexity and lower resource usage.
- Use the Serial Decoder for applications prioritizing size, power consumption, and cost over speed.
- The Parallel Viterbi Decoder processes multiple bits concurrently. Here’s how to utilize the Parallel Decoder:
- Simultaneously provide multiple bits as input to the decoder for parallel processing.
- The decoder updates various path metrics in parallel, resulting in faster processing.
- Note that the Parallel Decoder offers high throughput at the expense of increased complexity and resource usage.
- Choose the Parallel Decoder for applications requiring fast processing and high throughput, such as real-time communication systems.
FAQ
Q: What are convolutional codes?
A: Convolutional codes are error-correcting codes widely used in communication systems to protect against transmission errors.
Q: How does the Viterbi Decoder work?
A: The Viterbi Decoder utilizes the Viterbi algorithm to identify the most probable sequence of transmitted bits based on the received signal, minimizing decoding errors.
Q: When should I choose a Serial Viterbi Decoder over a Parallel one?
A: Opt for a Serial Decoder when prioritizing reduced complexity, lower resource usage, and cost efficiency. It is suitable for applications where speed is not the primary concern.
Q: In what applications is the Viterbi Decoder commonly used?
A: The Viterbi Decoder is widely used in modern communication systems such as mobile phones, satellite communications, and digital television.
Introduction
The Viterbi Decoder is an algorithm used in digital communication systems to
decode convolutional codes. Convolutional codes are error-correcting codes
that are widely used in communication systems to protect against errors
introduced during transmission.
The Viterbi Decoder identifies the most probable sequence of transmitted bits
based on the received signal by using the Viterbi algorithm, a dynamic
programming approach. This algorithm considers all potential code paths to
calculate the most probable bit sequence based on the received signal. It then
selects the path with the highest likelihood.
The Viterbi Decoder is a maximum likelihood decoder, which minimizes the
probability of error in decoding the received signal and is implemented in
Serial, occupying a small area, and in Parallel for higher throughput. It is
widely used in modern communication systems, including mobile phones,
satellite communications, and digital television. This IP accepts 3-bit or
4-bit soft or hard input.
The Viterbi algorithm can be implemented using two main approaches: Serial and
Parallel. Each approach has distinct characteristics and applications, which
are outlined as follows.
Serial Viterbi Decoder
Serial Viterbi Decoder processes input bits individually, sequentially
updating path metrics and making decisions for each bit. However, due to its
serial processing, it tends to be slower compared to its Parallel counterpart.
Serial Decoder requires 69 clock cycles to generate an output due to its
sequential updating of all possible state metrics, and the necessity to trace
back through the trellis for each bit, resulting in extended processing time.
The advantage of using a Serial decoder lies in its typically reduced
complexity and lower hardware resource usage, compared to a Parallel decoder.
This makes it an advantageous option for applications in which size, power
consumption, and cost are more critical than speed.
Parallel Viterbi Decoder
Parallel Viterbi Decoder is designed to concurrently process multiple bits.
This is achieved by employing parallel processing methodologies to
simultaneously update various path metrics. Such parallelism results in a
significant reduction in the number of clock cycles needed to generate an
output, which is 8 clock cycles.
The speed of the Parallel Decoder comes at the cost of increased complexity
and resource usage, requiring more hardware to implement the parallel
processing elements, which can increase the size and power consumption of the
decoder. For applications requiring high throughput and fast processing, such
as real-time communication systems, the Parallel Viterbi Decoder is often
preferred.
In summary, the decision between using a Serial and Parallel Viterbi Decoder
depends on the specific requirements of the application. In applications that
require minimal power, cost, and speed, a Serial decoder is typically
appropriate. However, for applications demanding high speed and high
throughput, where performance is critical, a Parallel decoder is the preferred
option, even though it is more complex and requires more resources.
Summary
The following table lists a summary of the Viterbi Decoder IP characteristics.
Table 1. Viterbi Decoder Characteristics
Core Version | This document applies to Viterbi Decoder v1.1. |
---|---|
Supported Device Families | • PolarFire® SoC |
• PolarFire
Supported Tool Flow| Requires Libero® SoC v12.0 or later releases.
Licensing| The Viterbi Decoder encrypted RTL is freely available with any
Libero license.
Encrypted RTL: A complete encrypted RTL code is provided for the core, enabling the core to be instantiated with SmartDesign. Simulation, Synthesis, and Layout are performed with Libero software.
Features
Viterbi Decoder IP has the following features:
- Supports soft input widths of 3-bit or 4-bit
- Supports Serial and Parallel architecture
- Supports user-defined traceback lengths, and the default value is 20
- Supports unipolar and bipolar data types
- Supports code rate of 1/2
- Supports constraint length which is 7
Installation Instructions
The IP core must be installed to the IP Catalog of Libero® SoC software automatically through the IP Catalog update function in the Libero SoC software, or it is manually downloaded from the catalog. Once the IP core is installed in Libero SoC software IP Catalog, it is configured, generated, and instantiated within SmartDesign for inclusion in the Libero project.
Device Utilization and Performance (Ask a
Question)
The resource utilization for Viterbi Decoder is measured using the Synopsys
Synplify Pro tool, and the results are summarized in the following table.
Table 2. Device and Resource Utilization
Device Details| Data Type| Architecture| Resources| Performance (MHz)| RAMs|
Math Blocks| Chip Globals
---|---|---|---|---|---|---|---
Family| Device| LUTs| DFF| LSRAM| uSRAM
PolarFire® SoC| MPFS250T| Unipolar| Serial| 416| 354| 200| 3| 0| 0| 0
Bipolar| Serial| 416| 354| 200| 3| 0| 0| 0
Unipolar| Parallel| 13784| 4642| 200| 0| 0| 0| 0
Bipolar| Parallel| 13768| 4642| 200| 0| 0| 0| 1
PolarFire| MPF300T| Unipolar| Serial| 416| 354| 200| 3| 0| 0| 0
Bipolar| Serial| 416| 354| 200| 3| 0| 0| 0
Unipolar| Parallel| 13784| 4642| 200| 0| 0| 0| 0
Bipolar| Parallel| 13768| 4642| 200| 0| 0| 0| 1
Important: The design is implemented using Viterbi Decoder by configuring the following GUI parameters:
- Soft Data Width = 4
- K Length = 7
- Code Rate = ½
- Traceback Length = 20
Viterbi Decoder IP Configurator
Viterbi Decoder IP Configurator (Ask a
Question)
This section provides an overview of the Viterbi Decoder Configurator
interface and its various components.
The Viterbi Decoder Configurator provides a graphical interface to configure
parameters and settings for a Viterbi Decoder IP core. It allows the user to
select parameters such as Soft Data Width, K Length, Code Rate, Traceback
Length, Datatype, Architecture, Testbench, and License. The key configurations
are described in Table 3-1.
The following figure provides a detailed view of the Viterbi Decoder
Configurator interface.
Figure 1-1. Viterbi Decoder IP Configurator
The interface also includes OK and Cancel buttons for confirming or discarding the configurations made.
Functional Description
The following figure shows the hardware implementation of the Viterbi Decoder.
Figure 2-1. Hardware Implementation of Viterbi Decoder
This module works on DVALID_I. When DVALID_I is asserted, the respective data is taken as input, and the process starts. This IP has a history buffer and based on that selection, IP takes the selected buffer number of DVALID_Is + Some clock cycles to generate the first output. By default, the history buffer is 20. The latency between the input and output of the Parallel Viterbi Decoder is 20 DVALID_Is + 14 Clock Cycles. The latency between the input and output of the Serial Viterbi Decoder is 20 DVALID_Is + 72 Clock Cycles.
Architecture (Ask a
Question)
Viterbi Decoder retrieves the data initially given to the Convolutional
Encoder by finding the best path through all possible encoder states. For a
constraint length of 7, there are 64 states. The architecture consists of the
following major blocks:
- Branch Metric Unit (BMU)
- Path Metric Unit (PMU)
- Trace Back Unit (TBU)
- Add Compare Select Unit (ACSU)
The following figure shows the Viterbi Decoder architecture.
Figure 2-2. Viterbi Decoder Architecture
The Viterbi Decoder consists of three internal blocks which are explained as follows:
- Branch Metric Unit (BMU): The BMU calculates the discrepancy between the received signal and all potential transmitted signals, using metrics such as Hamming distance for binary data or Euclidean distance for advanced modulation schemes. This calculation assesses the similarity between the received and possible transmitted signals. The BMU processes these metrics for each received symbol or bit and forwards the results to the Path Metric Unit.
- Path Metric Unit (PMU): The PMU which is also known as the Add-Compare-Select (ACS) unit, updates path metrics by processing branch metrics from the BMU. It keeps track of the best path’s cumulative metric for each state in the trellis diagram (a graphical representation of the possible state transitions). The PMU adds the new branch metric to the current path metric for each state, compares all paths leading to that state, and selects the one with the lowest metric, indicating the most probable path. This selection process is carried out at each stage of the trellis, resulting in a collection of the most likely paths, known as survivor paths, for each state.
- Traceback Unit (TBU): The TBU is responsible for identifying the most probable sequence of states, following the processing of received symbols by the PMU. It accomplishes this by retracing the trellis from the final state with the lowest path metric. The TBU initiates from the end of the trellis structure and traces back through the survivor paths using pointers or references, to determine the most probable transmitted sequence. The length of the traceback is determined by the constraint length of the convolutional code, impacting both the decoding latency and complexity. Upon completing the traceback process, the decoded data is presented as output, usually with the appended tail bits removed, which were initially included to clear the convolutional encoder.
The Viterbi Decoder uses these three units to accurately decode the received
signal into the original transmitted data, by correcting any errors that may
have occurred during the transmission.
Renowned for its efficiency, the Viterbi algorithm is the standard method for
decoding convolutional codes within communication systems.
Two data formats are available for soft coding: unipolar and bipolar. The
following table lists the values and corresponding descriptions for 3-bit soft
input.
Table 2-1. 3-bit Soft Inputs
Description | Unipolar | Bipolar |
---|---|---|
Strongest 0 | 000 | 100 |
Relatively strong 0 | 001 | 101 |
Relatively weak 0 | 010 | 110 |
Weakest 0 | 011 | 111 |
Weakest 1 | 100 | 000 |
Relatively weak 1 | 101 | 001 |
Relatively strong 1 | 110 | 010 |
Strongest 1 | 111 | 100 |
The following table lists the standard convolution code.
Table 2-2. Standard Convolution Code
Constraint Length | Output Rate = 2 |
---|---|
Binary | Octal |
7 | 1111001 |
1011011 | 133 |
Viterbi Decoder Parameters and Interface Signals (Ask a Question)
This section discusses the parameters in the Viterbi Decoder GUI configurator
and I/O signals.
Configuration Settings (Ask a Question)
The following table lists the configuration parameters used in the hardware
implementation of Viterbi Decoder. These are generic parameters and vary as
per the requirement of the application.
Table 3-1. Configuration Parameters
Parameter Name | Description | Value |
---|---|---|
Soft Data Width | Specifies the number of bits used to represent the soft input | |
data width | User selectable which supports 3 and 4 bits | |
K Length | K is the constraint length of the convolutional code | Fixed to 7 |
Code Rate | Indicates the ratio of input bits to output bits | 1/2 |
Traceback Length | Determines the depth of the trellis used in the Viterbi | |
algorithm | User-defined value and by default, is 20 | |
Data Type | Allows users to select the input data type | User-selectable and |
supports the following options:
• Unipolar
• Bipolar
Architecture| Specifies the type of implementation architecture| Supports the following implementation types:
• Parallel
• Serial
Inputs and Outputs Signals (Ask a Question)
The following table lists the input and output ports of the Viterbi Decoder
IP.
Table 3-2. Input and Output Ports
Signal Name | Direction | Width | Description |
---|---|---|---|
SYS_CLK_I | Input | 1 | Input clock signal |
ARSTN_I | Input | 1 | Input reset signal (Asynchronous active-low reset) |
DATA_I | Input | 6 | Data input signal (MSB 3-bit IDATA, LSB 3-bit QDATA) |
DVALID_I | Input | 1 | Data valid input signal |
DATA_O | Output | 1 | Viterbi Decoder data output |
DVALID_O | Output | 1 | Data valid output signal |
Timing Diagrams
This section discusses the timing diagrams of the Viterbi Decoder.
The following figure shows the timing diagram of Viterbi Decoder which applies
to both Serial and Parallel mode configuration.
Figure 4-1. Timing Diagram
- Serial Viterbi Decoder requires a minimum of 69 clock cycles (Throughput) to generate the output.
- To calculate the latency of the Serial Viterbi Decoder, use the following equation:
- Number of history buffer times DVALIDs + 72 clock cycles
- For Example, If the History Buffer length is set to 20, then
- Latency = 20 Valids + 72 Clock Cycles
- Parallel Viterbi Decoder requires a minimum of 8 clock cycles (Throughput) to generate the output.
- To calculate the latency of the Parallel Viterbi Decoder, use the following equation:
- Number of history buffer times DVALIDs + 14 clock cycles
- For Example, If the History Buffer length is set to 20, then
- Latency = 20 Valids + 14 Clock Cycles
Important: The timing diagram for Serial and Parallel Viterbi decoder is identical, with the exception of the number of clock cycles required for each decoder.
Testbench Simulation
A sample testbench is provided to check the functionality of the Viterbi Decoder. To simulate the core using the testbench, perform the following steps:
-
Open the Libero® SoC application, click Catalog > View > Windows > Catalog, and then expand Solutions-Wireless. Double-click Viterbi_Decoder, and then click OK. The documentation associated with IP is listed under Documentation.
Important: If you do not see the Catalog tab, navigate to the View Windows menu, and then click Catalog to make it visible. -
Configure the IP as per the requirement, as shown in Figure 1-1.
-
The FEC encoder must be configured to test the Viterbi Decoder. Open the Catalog and configure the FEC Encoder IP.
-
Navigate to Stimulus Hierarchy tab, and click Build Hierarchy.
-
On the Stimulus Hierarchy tab, right-click testbench (vit_decoder_tb(vit_decoder_tb.v [work])), and then click Simulate Pre-Synth Design > Open Interactively.
Important: If you do not see the Stimulus Hierarchy tab, navigate to View
Windows menu and click Stimulus Hierarchy to make it visible.
The ModelSim® tool opens with the testbench, as shown in the following figure.
Figure 5-1. ModelSim Tool Simulation Window
Important
- If the simulation is interrupted due to the run-time limit specified in the.do file, use the run -all command to complete the simulation.
- After running the simulation, the testbench generates two files (fec_input.txt, vit_output.txt) and you can compare the two files for a successful simulation.
Revision History (Ask a
Question)
The revision history describes the changes that were implemented in the
document. The changes are listed by revision, starting with the most current
publication.
Table 6-1. Revision History
Revision | Date | Description |
---|---|---|
B | 06/2024 | The following is the list of changes made in revision B of the |
document:
• Updated the content of Introduction section
• Added Table 2 in Device Utilization and Performance section
• Added 1. Viterbi Decoder IP Configurator section
• Added the content about the internal blocks, updated Table 2-1 and added Table 2-2 in
2.1. Architecture section
• Updated Table 3-1 in 3.1. Configuration Settings section
• Added Figure 4-1 and a Note in 4. Timing Diagrams section
• Updated Figure 5-1 in 5. Testbench Simulation section
A| 05/2023| Initial release
Microchip FPGA Support
Microchip FPGA products group backs its products with various support
services, including Customer Service, Customer Technical Support Center, a
website, and worldwide sales offices. Customers are suggested to visit
Microchip online resources prior to contacting support as it is very likely
that their queries have been already answered.
Contact Technical Support Center through the website at
www.microchip.com/support. Mention the
FPGA Device Part number, select the appropriate case category, and upload
design files while creating a technical support case.
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, 650.318.8044
Microchip Information
The Microchip Website
Microchip provides online support via our website at
www.microchip.com/. This website is used to make
files and information easily available to customers. Some of the content
available includes:
- Product Support – Datasheets and errata, application notes and sample programs, design resources, user’s guides and hardware support documents, latest software releases and archived software
- General Technical Support – Frequently Asked Questions (FAQs), technical support requests, online discussion groups, Microchip design partner program member listing
- Business of Microchip – Product selector and ordering guides, latest Microchip press releases, the listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives
Product Change Notification Service
Microchip’s product change notification service helps keep customers current
on Microchip products. Subscribers will receive email notification whenever
there are changes, updates, revisions or errata related to a specified product
family or development tool of interest.
To register, go to www.microchip.com/pcn and
follow the registration instructions.
Customer Support
Users of Microchip products can receive assistance through several channels:
- Distributor or Representative
- Local Sales Office
- Embedded Solutions Engineer (ESE)
- Technical Support
Customers should contact their distributor, representative or ESE for support.
Local sales offices are also available to help customers. A listing of sales
offices and locations is included in this document.
Technical support is available through the website at:
www.microchip.com/support
Microchip Devices Code Protection Feature
Note the following details of the code protection feature on Microchip
products:
- Microchip products meet the specifications contained in their particular Microchip Data Sheet.
- Microchip believes that its family of products is secure when used in the intended manner, within operating specifications, and under normal conditions.
- Microchip values and aggressively protects its intellectual property rights. Attempts to breach the code protection features of Microchip product is strictly prohibited and may violate the Digital Millennium Copyright Act.
- Neither Microchip nor any other semiconductor manufacturer can guarantee the security of its code. Code protection does not mean that we are guaranteeing the product is “unbreakable”. Code protection is constantly evolving. Microchip is committed to continuously improving the code protection features of our products.
Legal Notice
This publication and the information herein may be used only with Microchip
products, including to design, test, and integrate Microchip products with
your application. Use of this information
in any other manner violates these terms. Information regarding device
applications is provided only for your convenience and may be superseded by
updates. It is your responsibility to ensure that your application meets with
your specifications. Contact your local Microchip sales office for additional
support or, obtain additional support at www.microchip.com/en-us/support
/design-help/client-support-services.
THIS INFORMATION IS PROVIDED BY MICROCHIP “AS IS”. MICROCHIP MAKES NO
REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN
OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION INCLUDING BUT NOT
LIMITED TO ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND
FITNESS FOR A PARTICULAR PURPOSE, OR WARRANTIES RELATED TO ITS CONDITION,
QUALITY, OR PERFORMANCE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
INCIDENTAL, OR CONSEQUENTIAL LOSS, DAMAGE, COST, OR EXPENSE OF ANY KIND
WHATSOEVER RELATED TO THE INFORMATION OR ITS USE, HOWEVER CAUSED, EVEN IF
MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE.
TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP’S TOTAL LIABILITY ON ALL
CLAIMS IN ANY WAY RELATED TO THE INFORMATION OR ITS USE WILL NOT EXCEED THE
NUMBER OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THE
INFORMATION.
Use of Microchip devices in life support and/or safety applications is
entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and
hold harmless Microchip from any and all damages, claims, suits, or expenses
resulting from such use. No licenses are conveyed, implicitly or otherwise,
under any Microchip intellectual property rights unless otherwise stated.
Trademarks
The Microchip name and logo, the Microchip logo, Adaptec, AVR, AVR logo, AVR
Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO,
IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch,
MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB,
OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer,
QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom,
SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are
registered trademarks of Microchip Technology Incorporated in the U.S.A. and
other countries.
AgileSwitch, ClockWorks, The Embedded Control Solutions Company, EtherSynch,
Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch,
Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet-
Wire, SmartFusion, SyncWorld, TimeCesium, TimeHub, TimePictra, TimeProvider,
and ZL are registered trademarks of Microchip Technology Incorporated in the
U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor,
AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard,
CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController,
dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, Espresso T1S,
EtherGREEN, EyeOpen, GridTime, IdealBridge,
IGaT, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling,
IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display,
MarginLink, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB
Certified logo, MPLIB, MPLINK, mSiC, MultiTRAK, NetDetach, Omniscient Code
Generation, PICDEM, PICDEM.net, PICkit, PICtail, Power MOS IV, Power MOS 7,
PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-
ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-I.S.,
storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total
Endurance, Trusted Time, TSHARC, Turing, USBCheck, VariSense, VectorBlox,
VeriPHY, ViewSpan, WiperLock, XpressConnect, and ZENA are trademarks of
Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom
are registered trademarks of Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co.
KG, a subsidiary of Microchip Technology Inc., in other countries.
All other trademarks mentioned herein are the property of their respective
companies.
© 2024, Microchip Technology Incorporated and its subsidiaries. All Rights
Reserved.
ISBN: 978-1-6683-4696-9
Quality Management System
For information regarding Microchip’s Quality Management Systems, please visit
www.microchip.com/quality.
Worldwide Sales and Service
AMERICAS | ASIA/PACIFIC | ASIA/PACIFIC | EUROPE |
---|---|---|---|
Corporate Office | Australia – Sydney |
Tel: 61-2-9868-6733
China – Beijing
Tel: 86-10-8569-7000
China – Chengdu
Tel: 86-28-8665-5511
China – Chongqing
Tel: 86-23-8980-9588
China – Dongguan
Tel: 86-769-8702-9880
China – Guangzhou
Tel: 86-20-8755-8029
China – Hangzhou
Tel: 86-571-8792-8115
China – Hong Kong SAR
Tel: 852-2943-5100
China – Nanjing
Tel: 86-25-8473-2460
China – Qingdao
Tel: 86-532-8502-7355
China – Shanghai
Tel: 86-21-3326-8000
China – Shenyang
Tel: 86-24-2334-2829
China – Shenzhen
Tel: 86-755-8864-2200
China – Suzhou
Tel: 86-186-6233-1526
China – Wuhan
Tel: 86-27-5980-5300
China – Xian
Tel: 86-29-8833-7252
China – Xiamen
Tel: 86-592-2388138
China – Zhuhai
Tel: 86-756-3210040
| India – Bangalore
Tel: 91-80-3090-4444
India – New Delhi
Tel: 91-11-4160-8631
India – Pune
Tel: 91-20-4121-0141
Japan – Osaka
Tel: 81-6-6152-7160
Japan – Tokyo
Tel: 81-3-6880- 3770
Korea – Daegu
Tel: 82-53-744-4301
Korea – Seoul
Tel: 82-2-554-7200
Malaysia – Kuala Lumpur
Tel: 60-3-7651-7906
Malaysia – Penang
Tel: 60-4-227-8870
Philippines – Manila
Tel: 63-2-634-9065
Singapore
Tel: 65-6334-8870
Taiwan – Hsin Chu
Tel: 886-3-577-8366
Taiwan – Kaohsiung
Tel: 886-7-213-7830
Taiwan – Taipei
Tel: 886-2-2508-8600
Thailand – Bangkok
Tel: 66-2-694-1351
Vietnam – Ho Chi Minh
Tel: 84-28-5448-2100
| Austria – Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark – Copenhagen
Tel: 45-4485-5910
Fax: 45-4485-2829
Finland – Espoo
Tel: 358-9-4520-820
France – Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Germany – Garching
Tel: 49-8931-9700
Germany – Haan
Tel: 49-2129-3766400
Germany – Heilbronn
Tel: 49-7131-72400
Germany – Karlsruhe
Tel: 49-721-625370
Germany – Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Germany – Rosenheim
Tel: 49-8031-354-560
Israel – Hod Hasharon
Tel: 972-9-775-5100
Italy – Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Italy – Padova
Tel: 39-049-7625286
Netherlands – Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Norway – Trondheim
Tel: 47-72884388
Poland – Warsaw
Tel: 48-22-3325737
Romania – Bucharest
Tel: 40-21-407-87-50
Spain – Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Sweden – Gothenburg
Tel: 46-31-704-60-40
Sweden – Stockholm
Tel: 46-8-5090-4654
UK – Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
www.microchip.com/support
Web Address:
www.microchip.com
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Austin, TX
Tel: 512-257-3370
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Novi, MI
Tel: 248-848-4000
Houston, TX
Tel: 281-894-5983
Indianapolis
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Tel: 317-536-2380
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Tel: 951-273-7800
Raleigh, NC
Tel: 919-844-7510
New York, NY
Tel: 631-435-6000
San Jose, CA
Tel: 408-735-9110
Tel: 408-436-4270
Canada – Toronto
Tel: 905-695-1980
Fax: 905-695-2078
References
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-05FE7AD6-B313-4D0C-AD42-6C1FE6AFEE1E&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-229E21A4-7EF0-4BF6-98FB-7B868B0373E8&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-267FE643-94F4-4EE2-8D64-433F2BA22278&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-6348405B-DB22-40AD-8732-579C6CA72994&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-643EB9B8-5C05-4547-B2B4-93463B464166&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-7D8BD33E-9875-46C4-A42D-1E1FF9DBF583&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-8087FE16-517A-4D85-93A7-0DDD3A237D4F&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-A3EB1FF8-06D0-44E9-96D9-AFC861D5DF29&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-A5D5F26D-41DD-47C5-B62C-B0CD828A1A28&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-F37513BD-8C1C-4173-9D17-3AA5312E0673&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- microchipsupport.force.com/s/newcase?pub_guid=GUID-9F2304B0-77D5-423B-B8F9-05F1B84F2E98&pub_lang=en-US&pub_ver=2&pub_type=User%20Guide&bu=fpga&tpc_guid=GUID-F5F6647D-4424-42B2-9028-3100F71E7890&cover_title=Viterbi%20Decoder%20User%20Guide&tech_supp
- Empowering Innovation | Microchip Technology
- Microchip Lightning Support
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>