0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
CONV-BLK-P2-UT3

CONV-BLK-P2-UT3

  • 厂商:

    LATTICE(莱迪思半导体)

  • 封装:

    -

  • 描述:

    Lattice Programmable Products License

  • 数据手册
  • 价格&库存
CONV-BLK-P2-UT3 数据手册
Block Convolutional Encoder User’s Guide June 2010 IPUG31_03.5 Table of Contents Chapter 1. Introduction .......................................................................................................................... 4 Quick Facts ........................................................................................................................................................... 4 Features ................................................................................................................................................................ 6 Chapter 2. Functional Description ........................................................................................................ 7 General Description .............................................................................................................................................. 7 Convolutional Encoding ............................................................................................................................... 7 Punctured Codes ......................................................................................................................................... 8 Continuous and Block Encoding .................................................................................................................. 9 Zero Flushing and Tail Biting Termination Modes........................................................................................ 9 Functional Description........................................................................................................................................... 9 Encoder........................................................................................................................................................ 9 Puncture Unit ............................................................................................................................................. 10 Input Memory ............................................................................................................................................. 10 Control Unit ................................................................................................................................................ 10 Interfacing to the Block Convolutional Encoder Core.......................................................................................... 10 Signal Descriptions ............................................................................................................................................. 11 Timing Diagrams ................................................................................................................................................. 12 Chapter 3. Parameter Settings ............................................................................................................ 19 Block Convolutional Encoder Parameters........................................................................................................... 20 Code Rate .................................................................................................................................................. 20 Operation Mode ......................................................................................................................................... 21 Puncture Support ....................................................................................................................................... 21 Termination Mode ...................................................................................................................................... 21 Block Length Options ................................................................................................................................. 21 Generator Polynomials............................................................................................................................... 21 Chapter 4. IP Core Generation............................................................................................................. 22 Licensing the IP Core.......................................................................................................................................... 22 Getting Started .................................................................................................................................................... 22 IPexpress-Created Files and Top Level Directory Structure............................................................................... 25 Instantiating the Core .......................................................................................................................................... 26 Running Functional Simulation ........................................................................................................................... 26 Synthesizing and Implementing the Core in a Top-Level Design ....................................................................... 27 Hardware Evaluation........................................................................................................................................... 28 Enabling Hardware Evaluation in Diamond:............................................................................................... 28 Enabling Hardware Evaluation in ispLEVER:............................................................................................. 28 Updating/Regenerating the IP Core .................................................................................................................... 28 Regenerating an IP Core in Diamond ........................................................................................................ 28 Regenerating an IP Core in ispLEVER ...................................................................................................... 29 Chapter 5. Support Resources ............................................................................................................ 30 Lattice Technical Support.................................................................................................................................... 30 Online Forums............................................................................................................................................ 30 Telephone Support Hotline ........................................................................................................................ 30 E-mail Support ........................................................................................................................................... 30 Local Support ............................................................................................................................................. 30 Internet ....................................................................................................................................................... 30 References.......................................................................................................................................................... 30 LatticeEC/ECP ........................................................................................................................................... 30 LatticeECP2M ............................................................................................................................................ 30 LatticeECP3 ............................................................................................................................................... 31 © 2010 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice. IPUG31_03.5, June 2010 2 Block Convolutional Encoder User’s Guide Lattice Semiconductor Table of Contents LatticeSC/M................................................................................................................................................ 31 LatticeXP.................................................................................................................................................... 31 LatticeXP2.................................................................................................................................................. 31 Revision History .................................................................................................................................................. 31 Appendix A. Resource Utilization ....................................................................................................... 32 LatticeECP and LatticeEC FPGAs ...................................................................................................................... 32 Ordering Part Number................................................................................................................................ 32 LatticeECP2 and LatticeECP2S FPGAs ............................................................................................................. 33 Ordering Part Number................................................................................................................................ 33 LatticeECP2M FPGAs......................................................................................................................................... 33 Ordering Part Number................................................................................................................................ 33 LatticeECP3 FPGAs............................................................................................................................................ 34 Ordering Part Number................................................................................................................................ 34 LatticeXP FPGAs ................................................................................................................................................ 34 Ordering Part Number................................................................................................................................ 34 LatticeXP2 FPGAs .............................................................................................................................................. 35 Ordering Part Number................................................................................................................................ 35 LatticeSC and LatticeSCM FPGAs ..................................................................................................................... 35 Ordering Part Number................................................................................................................................ 35 IPUG31_03.5, June 2010 3 Block Convolutional Encoder User’s Guide Chapter 1: Introduction Lattice’s Block Convolutional Encoder IP core is a parameterizable core for convolutional encoding of continuous or burst input data streams. The core allows different code rates and constraint lengths and supports puncturing. It can operate in continuous or block mode, whichever is required by the channel. In block mode, either Zero Flushing or Tail Biting codes can be generated. All the configurable parameters, including operation mode, termination mode, generator polynomials, code rate, and puncture pattern, can be defined by the user to suit the needs of the application. The code rate and the puncture pattern can also be varied through the input ports dynamically, providing further flexibility for the IP usage. Lattice’s Block Convolutional Encoder IP core is compatible with many networking and wireless standards that use convolutional encoding. Quick Facts Table 1-1 through Table 1-4 give quick facts about the Block Convolutional Encoder IP core for LatticeEC™,  LatticeECP™, LatticeECP2™, LatticeECP2M™, LatticeECP3™, LatticeXP™, LatticeXP2™, LattticeSC™, and LatticeSCM™ devices. Table 1-1. Block Convolutional Encoder IP Core for LatticeEC/ECP/XP Devices Quick Facts Block Convolutional Encoder IP Configuration Puncture Rate 2/3 Constraints 3 Block 802.16- 2004 SC PHY Core Requirements FPGA Families Supported Minimal Device Needed LUTs 50 50 50 150 50 150 100 0 50 50 50 ® ® Diamond 1.0 or ispLEVER 8.1 Synopsys® Synplify® Pro for Lattice D-2009.12L-1 Aldec® Active-HDL® 8.2 Lattice Edition Simulation IPUG31_03.5, June 2010 Puncture Rate 3/4 Constraints 7 Continuous 802.11a, also DVB-S LFEC20E-5F672C/LFECP20E-5F672C/LFXP20E-5F484C Lattice Implementation Synthesis Dynamic puncture Max rate 5/6 Constraints 7 Block 802.16-2004 OFDM PHY LFEC1E/LFECP6E/LFXP3E sysMEM EBRs Registers Design Tool Support Non-puncture Rate 1/2 Constraints 7 Continuous 802.11a, also DVB-S Lattice EC/ECP/XP Targeted Device Resource Utilization Non-puncture Rate 1/2 Constraints 9 Block 3GPP/ CDMA2000 Mentor Graphics® ModelSim® SE 6.3F 4 Block Convolutional Encoder User’s Guide Lattice Semiconductor Introduction Table 1-2. Block Convolutional Encoder IP Core for LatticeECp2/ECP2M/XP2 Devices Quick Facts Block Convolutional Encoder IP Configuration Puncture Rate 2/3 Constraints 3 Block 802.16- 2004 SC PHY Core Requirements FPGA Families Supported Minimal Device Needed LUTs Puncture Rate 3/4 Constraints 7 Continuous 802.11a, also DVB-S LFE2-6E/ LFE2M20E/ LFXP2-5E 50 50 50 50 50 50 150 50 150 100 0 Lattice Implementation Design Tool Support Dynamic puncture Max rate 5/6 Constraints 7 Block 802.16-2004 OFDM PHY LFE2-50E-7F672C/LFE2M35E-7F484C/LFXP2-17E-7F484C sysMEM EBRs Registers Non-puncture Rate 1/2 Constraints 7 Continuous 802.11a, also DVB-S Lattice ECP2/ECP2M/XP2 Targeted Device Resource Utilization Non-puncture Rate 1/2 Constraints 9 Block 3GPP/ CDMA2000 Diamond 1.0 or ispLEVER 8.1 Synthesis Synopsys Synplify Pro for Lattice D-2009.12L-1 Aldec Active-HDL 8.2 Lattice Edition Simulation Mentor Graphics ModelSim SE 6.3F Table 1-3. Block Convolutional Encoder IP Core for LatticeSC/SCM Devices Quick Facts Block Convolutional Encoder IP Configuration Puncture Rate 2/3 Constraints 3 Block 802.16- 2004 SC PHY Core Requirements FPGA Families Supported Minimal Device Needed LUTs Synthesis 50 50 150 50 150 100 0 50 50 50 Diamond 1.0 or ispLEVER 8.1 Synopsys Synplify Pro for Lattice D-2009.12L-1 Aldec Active-HDL 8.2 Lattice Edition Simulation IPUG31_03.5, June 2010 Puncture Rate 3/4 Constraints 7 Continuous 802.11a, also DVB-S LFSC3GA25E-7F900C/ LFSCM3GA25EP1-7F900C 50 Lattice Implementation Design Tool Support Dynamic puncture Max rate 5/6 Constraints 7 Block 802.16-2004 OFDM PHY LFSC3GA15E/ LFSCM3GA15EP1 sysMEM EBRs Registers Non-puncture Rate 1/2 Constraints 7 Continuous 802.11a, also DVB-S Lattice SC/SCM Targeted Device Resource Utilization Non-puncture Rate 1/2 Constraints 9 Block 3GPP/ CDMA2000 Mentor Graphics ModelSim SE 6.3F 5 Block Convolutional Encoder User’s Guide Lattice Semiconductor Introduction Table 1-4. Block Convolutional Encoder IP Core for LatticeECP3 Devices Quick Facts Block Convolutional Encoder IP Configuration Puncture Rate 2/3 Constraints 3 Block 802.16- 2004 SC PHY Core Requirements Non-puncture Rate 1/2 Constraints 9 Block 3GPP/ CDMA2000 FPGA Families Supported Minimal Device Needed LUTs LFE3-35EA 50 50 50 50 50 50 Synthesis 150 50 150 100 0 Lattice Implementation Design Tool Support Puncture Rate 3/4 Constraints 7 Continuous 802.11a, also DVB-S LFE3-95E-8FN672CES sysMEM EBRs Registers Dynamic puncture Max rate 5/6 Constraints 7 Block 802.16-2004 OFDM PHY Lattice ECP3 Targeted Device Resource Utilization Non-puncture Rate 1/2 Constraints 7 Continuous 802.11a, also DVB-S Diamond 1.0 or ispLEVER 8.1 Synopsys Synplify Pro for Lattice D-2009.12L-1 Aldec Active-HDL 8.2 Lattice Edition Simulation Mentor Graphics ModelSim SE 6.3F Features • Compatible with IEEE 802.16-2004, IEEE 802.11a, 3GPP, 3GPP2 and DVB standards • Supports both continuous and block encoding • Variable constraint length from 3 to 9 – Supports both Zero Flushing and Tail Biting termination modes – Supports both internal and external zero padding in Zero Flushing mode • Supports both internal and external tail adding in Tail Biting mode • Supports a wide range of programmable code rates (input_rate/output_rate) • User defined generator polynomials • Output puncturing with unrestricted, user programmable puncture patterns • Supports dynamic puncturing mode, in which both the code rate and puncture patterns can be varied through ports • Punctured code rate can be programmed to k/n, where k can be from 2 to 12 and n can be from k+1 to 2k-1; additionally, rate 1/2 is supported in dynamic puncture mode • Handshake signals to support breaks in data stream or encoder busy conditions IPUG31_03.5, June 2010 6 Block Convolutional Encoder User’s Guide Chapter 2: Functional Description This chapter provides a functional description of the Block Convolutional Encoder IP core. Figure 2-1 shows the interface diagram for Block Convolutional Encoder. Figure 2-1. Block Convolutional Encoder Interface Diagram clk rstn inpvalid din ibstart ibend blklen ppset pp0 pp1 inrate outrate outvalid Convolutional Encoder dout pbstart rfi rfib obstart obend General Description Figure 2-2 shows a digital communication system using the Convolutional Encoder. The digital data stream (such as voice, image or any packetized data) is first convolutionally encoded, then modulated and finally transmitted through a channel. The noise block in Figure 2-2 represents channel noise added to the channel. The data received from the channel at the receiver side is first demodulated and then decoded using a Viterbi decoder. The decoded output is equivalent to the original transmitted data stream. Figure 2-2. Digital Communication System Transmitted Data Stream Convolutional Encoder Modulator Channel Demodulator Block Viterbi Decoder Received Data Stream Noise Convolutional Encoding Convolutional encoding is a process of adding redundancy to a signal stream to provide error correction capability. Figure 2-3 shows an example of 1/2 rate convolutional encoding. IPUG31_03.5, June 2010 7 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description Figure 2-3. Convolutional Encoding GP0 = 171 octal XOR data in reg reg reg reg reg reg data out GP1 = 133 octal In this example, each input symbol has two corresponding output symbols; hence, the encoding is called 1/2 rate convolutional encoding. To generate the output, the encoder uses seven values of the input signal: one present and six past. The set of past values of input data is called a “state.” The number of input data values used to generate the code is called the constraint length. In this case, the constraint length is 7. Each set of outputs is generated by XORing a pattern of current and shifted values of input data. The patterns used to generate the coded output value can be expressed as binary strings called generator polynomials (GP). In this example, the generator polynomials are 171 and 133 (in octal). The MSB of the generator polynomial corresponds to the input and the LSBs correspond to the state as shown in Figure 2-3. A bit value of '1' in the generator polynomial represents a used data bit and a value of '0' signifies an unused bit. Punctured Codes After convolutional encoding, some of the encoded symbols can be selectively removed before transmission. This process, called “puncturing,” is a data compression method used to reduce the number of bits transmitted. A pair of binary strings called a “puncture pattern” is used to make the selection of punctured symbols. A “1” in the pattern means the corresponding symbol is kept in the output stream, while a “0” means the symbol in that position is removed. Figure 2-4 shows an example of puncturing. Figure 2-4. Puncturing Process After convolutional coding Input data i0 i1 i2 i3 a0 a1 a2 a3 a4 a5 a6 i4 i5 i6 Puncture pattern b0 b1 b2 b3 b4 b5 b6 Puncture pattern superimposed Final punctured output 1 0 1 a0 a1 a2 a3 a4 a5 a6 1 1 0 b0 b1 b2 b3 b4 b5 b6 a0 b0 b1 a2 a3 b3 b4 a5 If puncturing is employed in the encoder, the decoder will have to “depuncture” the data before decoding. Depuncturing is usually done by inserting NULL symbols for the punctured symbols. NULL symbols are equidistant from both '0' and '1'. Similar to non-punctured codes, the rate of a punctured code is defined as k/n, where k is the input symbol rate and n is the output symbol rate. The input rate and output rate can be easily recognized by looking at the number of columns and the number of “1”s in the puncture pattern, respectively. As an example, the above Figure 2-4 gives a punctured code with rate 3/4. IPUG31_03.5, June 2010 8 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description For punctured encoding, the code rate and the puncture pattern can be defined in two ways with the Block Convolution Encoder IP core. It can be either set statically using the GUI or specified dynamically through the input ports. The former mode is referred as “fixed puncturing” and the latter as “dynamic puncturing.” Continuous and Block Encoding The convolutional encoding process can be applied on either a continuous stream or blocks of input data. When the input data stream is continuous, the encoder is configured to continuous mode. On the other hand, if the input data stream is block based (or frame based), the core is set for block encoding. The major difference between the continuous and block encoding is the termination method that is used for block codes. Zero Flushing and Tail Biting Termination Modes In block encoding, the code must be terminated appropriately so that the decoding process can start from a suitable initial state. The IP core supports two block termination methods: Zero Flushing and Tail Biting. In Zero Flushing mode, a series of zeros are added to the end of each block at the input of the convolutional encoder. In Tail Biting mode, the last few bits of each block are used to initialize the state of the encoder, before encoding that block. Functional Description A simplified architecture diagram of the Block Convolutional Encoder IP core is shown in Figure 2-5. It consists of an encoder, a puncture unit, a control unit, and an optional input memory. Figure 2-5. Block Convolutional Encoder Internal Architecture clk din I rstn M E M clk rstn inpvalid ibstart ibend blklen ppset pp0 pp1 inrate outrate Encoder clk rstn Control Unit Puncture Unit dout[] pdstart rfi rfib obstart obend outpvalid Encoder The encoder module takes input data and performs convolutional encoding. The encoder uses generator polynomials configured by the user. When punctured encoding is enabled, the encoder performs 1/2 rate encoding irrespective of the encoder rate. The puncture unit uses the 1/2 rate code to generate the appropriate user-programmed rate. IPUG31_03.5, June 2010 9 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description The initial state of the encoder is related to the configuration settings of the IP core, as shown in Table 2-1: Table 2-1. Initial State of the Convolutional Encoder Configuration Settings Initial State Continuous encoding 0 Block encoding, Zero Flushing code, zero added inside 0 Block encoding, Zero Flushing code, zero added outside 0 Block encoding, Tail Biting code, tail added inside Last K-1 samples in the block, where K is the constraint length Block encoding, Tail Biting code, tail added outside Undefined Both Zero Flushing and Tail Biting for block encoding can be performed either inside or outside the IP core. If the outside mode is selected, it is the user's responsibility to append the information with the initial states. If the inside mode is selected, the core will generate the zero padding bits after the block for Zero Flushing mode, or initialize the state with the tail information before the block for Tail Biting mode. Puncture Unit This unit performs data puncturing, as previously explained. The input is a two-channel data stream and the output is always a one-channel output. The unit is capable of performing puncturing of any code rate with a user programmable puncture pattern. Input Memory For “tail adding inside” mode, the core has to store the whole message block and use the last K-1 bits to initialize the registers, where K is the constraint length. This is achieved by having an input memory module inside the core. Control Unit The control unit generates the handshake signals obstart, obend, outvalid, rfi, rfib and pbstart using the input signals inpvalid, ibstart, ibend and the status of the encoder. In dynamic puncture mode, it contains registers that latch the inrate, outrate, pp0 and pp1 when ppset signal is asserted. The control unit also generates various control signals required by the encoder and the puncture unit for different continuous and block encoding schemes. Interfacing to the Block Convolutional Encoder Core The puncturing-enabled convolutional encoder is a multi-rate system, with the output rate greater than the input rate. The data rate mismatch between input and output can be managed by using the output signal rfi (ready for input). The driving system should not apply an input to the encoder if the rfi output is low (if this is done, the data will be ignored until rfi is high). When valid data is applied at the input din, input inpvalid must be asserted high. Even if the rfi output is high, the driving system can blackout the input by pulling inpvalid low. The core will optimize throughput by using up a portion of any user asserted blackout cycles as wait cycles (for data-rate matching). When the core works under block mode, the start and end of a block is defined either by the ibstart and ibend signals, or by ibstart and blklen input signals. In the latter case, the core has an internal counter to generate the ibend signal counting from the input ibstart. However, if the tail-biting termination mode is selected and the tail-adding is implemented inside, the block length is always read from the blklen input port. This is because the whole block of data must be stored in the core before encoding and memory has to be provided based on the block length. The output signal pbstart is asserted high to coincide with the start of a punctured block. This signal can be used to synchronize the Viterbi decoder that is decoding the encoded stream. The output control signal outvalid is high whenever the output is valid. This can be used as an enable signal to latch the output to a memory. IPUG31_03.5, June 2010 10 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description For block encoding, the output signal rfib is asserted high to inform the input source that the core is ready to accept the next block of data. The output control signal obstart and obend are used to inform the output destination the start and end of each block. For the dynamic puncturing encoder, the ppset signal is used to load the valid inrate, outrate, pp0 and pp1 values that are applied on those ports. These data have to be loaded-in at least five clock cycles before the start of next data block, for them to be effective. Signal Descriptions A description of I/O interface signals is given in Table 2-2. Refer to Figure 2-1 for a top-level diagram of the IP core. Table 2-2. Signal Descriptions Bits I/O clk Port 1 I Description rstn 1 I System wide asynchronous active-low reset signal. System clock inpvalid 1 I Input valid signal to denote valid data being presented at the encoder input. For Punctured encoding, it must be asserted only if the encoder output rfi is high. din 1 I Input data to the encoder: For Punctured encoding, it must be presented only if the encoder output rfi is high. ibstart 1 I Input block start signal: This must be pulled high when the first data of a block is applied on the input port. Also, this signal can only be asserted if the encoder output rfib is high. This port is available for block encoding only. ibend 1 I Input block end signal: This signal must be pulled high to indicate that the last data of a block is being applied on the input port. This port is available for block encoding only. This signal is not available if the block length is read from port blklen. blklen 4 to 16 or 4 to 9 I The length of input data block is applied at this port: The width of this port can be selected from 4 to 16 bits for zero-flushing code, and from 4 to 9 bits for tail-biting code. The value on this port is read only when ibstart is high. This port is available in the “Block Length Read from Port” mode only. inrate 1-4 I Input rate of the convolutional code for next block: This port is available for dynamic puncture only outrate 2-5 I Output rate of the convolutional code for next block: This port is available for dynamic puncture only pp0 1-12 I Puncture pattern 0 for next block: This port is available for dynamic puncturing encoder only pp1 1-12 I Puncture pattern 1 for next block: This port is available for dynamic puncturing encoder only ppset 1 I Puncture rate and puncture pattern set signal: The new input rate, output rate and puncture patterns are set when ppset goes high. This port is available for dynamic puncturing encoder only outvalid 1 O Output valid signal: This indicates that the output on dout is a valid encoded data. pbstart 1 O This output signal goes high whenever the encoder outputs the first data of a punctured block and signifies the start of a punctured block. obstart 1 O Output block start signal: It goes high when the first data of a block is on the dout output port. This port is available for block encoding only. obend 1 O Output block end signal: It goes high when the last data of a block is on the dout output port. This port is available for block encoding only. rfib 1 O Ready for next input block: This signal goes high to indicate that the core is ready for reading the next input block. This port is available for block encoding only. IPUG31_03.5, June 2010 11 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description Table 2-2. Signal Descriptions (Continued) Port Bits I/O Description rfi 1 O This port is available only for punctured encoder. This signal signifies that the encoder is ready for input. If rfi goes low, the encoder will not accept input data in the next clock edge. dout 2 to 8 (non-puntured) 1 (punctured) O Output data of the encoder: The data is valid only if the output outvalid is high. Timing Diagrams The top-level timing diagrams for different cases are given in Figure 2-6 through Figure 2-13. Figure 2-6. Timing Diagram for a Rate 1/2 Continuous Non-punctured Encoder clk din d0 d1 d2 x x x d3 d4 d5 d6 d7 d8 d9 x x d0 d1 d2 x x x d3 d4 d5 d6 d7 d8 inpvalid x dout outvalid Figure 2-7. Timing Diagram for a Rate 3/5 Continuous Punctured Encoder clk din d0d1 x d2 x d3 d4 d5 x x d0 d1 d2 678 x x d4 d5 inpvalid dout x d2+ d2++ d3 outvalid pbstart rfi IPUG31_03.5, June 2010 12 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description Figure 2-8. Timing diagram for a Rate 1/2 Block Non-punctured Encoder with Zero Flushing clk din x d0 d1 d2 x x x d3 d4 x x x d0 d1 d2 d3 inpvalid block 0 block 1 ibstart ibend rfib dout x d0 d1 d2 x x x d3 d4 d5 d6 x x outvalid obstart obend IPUG31_03.5, June 2010 13 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description Figure 2-9. Timing Diagram for a Rate 3/5 Block Punctured Encoder with Tail Adding Outside clk din x d0 d1 d2 x x d3 d4 d5 x x x d0 d1 d2 x inpvalid block 0 block 1 ibstart ibend rfib rfi dout x d0 d1 d2 d2+ d2++ d3 d4 d5 d5+ d5++ x x outvalid obstart obend pbstart IPUG31_03.5, June 2010 14 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description Figure 2-10. Timing Diagram for a Rate 1/2 Block Non-punctured Encoder with Tail Adding Inside clk din x d0 d1 d2 x x x d3 d4 x x x d0 d1 d2 d3 inpvalid block 0 (L) block 1 ibstart ibend rfib dout x d0 d1 d2 d3 d4 outvalid obstart obend IPUG31_03.5, June 2010 15 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description Figure 2-11. Timing Diagram for a Dynamic Punctured Encoder with Zero Termination Outside (First Input Block After System Reset) clk rstn ppset inrate x 2 x outrate x 3 x pp0 x 3 x pp1 x 2 x rfib rfi ibstart inpvalid outvalid obstart d0 dout d1 d1+ d2 d3 d3+ pbstart IPUG31_03.5, June 2010 16 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description Figure 2-12. Timing Diagram for a Dynamic Punctured Encoder with Zero Termination Outside (The ppset Asserted After the Previous Block Coding is Finished) clk obend ppset inrate x 2 x outrate x 3 x pp0 x 3 x pp1 x 2 x rfib rfi ibstart inpvalid outvalid obstart dout d0 d1 d1+ d2 pbstart Min interval = 5 IPUG31_03.5, June 2010 17 Block Convolutional Encoder User’s Guide Lattice Semiconductor Functional Description Figure 2-13. Timing Diagram for a Dynamic Punctured Encoder with Zero Termination Outside (The ppset Asserted Before the Previous Block Coding is Finished) clk ppset inrate x 2 x outrate x 3 x pp0 x 3 x pp1 x 2 x obend rfib rfi ibstart inpvalid outvalid obstart d0 dout d1 d1+ d2 d3 d3+ pbstart IPUG31_03.5, June 2010 18 Block Convolutional Encoder User’s Guide Chapter 3: Parameter Settings The IPexpress™ tool is used to create IP and architectural modules in the Diamond or ispLEVER software. Refer to “IP Core Generation” on page 22 for a description on how to generate the IP. Table 3-1 provides the list of user configurable parameters for the Block Convolutional Encoder IP core. The parameter settings are specified using the Block Convolutional Encoder IP core Configuration GUI in IPexpress. The numerous PCI Express parameter options are partitioned across multiple GUI tabs as shown in this chapter. Table 3-1. Block Convolutional Encoder Parameter Descriptions Parameter Range Default 1 (non-puncture) or 2 to 12 (fixed puncture) for “Input Rate(k)” 1 to 12 (dynamic puncture) for “Maximum Input Rate(mir)” 2 for k 5 for mir 2 to 8 (non-puncture) or k+1 to 2k-1(fixed puncture) for “Output Rate(n)” mir+1 to 2*mir-1 (dynamic puncture; mir>1) or 2 (dynamic puncture; mir=1) for “Maximum Output Rate(mor)” 3 for n 6 for mor Code Rate Input Rate (k) (Maximum Input Rate(mir)) Output Rate (n) (Maximum Output Rate (mor)) Puncture Support Punctured Encoder Enabled, Disabled Enabled Dynamic Rate/Pattern Enabled, Disabled Disabled k bits for each 11 (PP0) 10 (PP1) Continuous, Block Block Zero Flushing, Tail Biting Tail Biting Puncture Pattern (PP0, PP1) Operation Mode Operation Mode Termination Mode Termination Mode Zero Padding Mode Inside, Outside Outside Tail Adding Mode Inside, Outside Outside Enabled. Disabled Disabled 4-16 for zero-flushing termination block or 4-9 tail-biting termination block 9 Block Length Options Block Length Read From Port Block Length Width Generator Polynomials Constraint Length (K) 3 to 9 3 Bin, Oct, Hex Oct GP0 k bits 7 GP1 k bits 5 GP2 k bits NA GP3 k bits NA GP4 k bits NA GP5 k bits NA GP6 k bits NA GP7 k bits NA GP Radix IPUG31_03.5, June 2010 19 Block Convolutional Encoder User’s Guide Lattice Semiconductor Parameter Settings Block Convolutional Encoder Parameters Figure 3-1 shows the contents of the Block Convolutional Encoder configuration parameters. Figure 3-1. Block Convolutional Encoder Configuration Parameters Code Rate The code rate of the convolutional encoder is expressed using two values: input rate (numerator of the code rate) and output rate (denominator of the code rate). Input Rate (Max Input Rate) When the the Puncture Support "Dynamic Rate/Pattern" parameter is disabled, this parameter defines the input rate of the encoder for non-puncture and fixed puncture modes. The rate is equal to 1 for non-punctured codes and should be between 2 and 12 for fixed punctured codes. When "Dynamic Rate/Pattern" is enabled, this parameter specifies the Max Input Rate. It should be between 1 and 12. Output Rate (Max Output Rate) When the Puncture Support "Dynamic Rate/Pattern" parameter is disabled, this parameter defines the output rate of the encoder for non-puncture and fixed puncture modes. It can be from 2 to 8 for non-punctured codes, and from k+1 to 2k-1 for punctured codes. When "Dynamic Rate/Pattern" is enabled, this parameter specifies the Max Output Rate. Its value should be from mir+1 to 2*mir-1 when mir is greater than 1; and equal to 2 if mir is 1. IPUG31_03.5, June 2010 20 Block Convolutional Encoder User’s Guide Lattice Semiconductor Parameter Settings Operation Mode This parameter determines the operation mode of the core. The core works in either continuous mode or block mode. Puncture Support Punctured Encoder This parameter determines whether the IP core supports punctured (Enabled) or non-punctured (Disabled) output. Dynamic Rate/Pattern This parameter defines whether the core supports dynamic puncturing encoding (Enabled) or fixed puncturing encoding (Disabled). Puncture Pattern This parameter allows the user to set the puncture pattern for punctured encoders. This parameter is only valid for fixed puncturing encoding. The puncture pattern composed of PP0 and PP1 is defined by the user. The total number of 1’s in both puncture patterns must equal the output rate, and the number of bits for each puncture pattern must equal the input rate Termination Mode This parameter determines the termination mode of block convolutional code. It can be Tail-biting mode or ZeroFlushing mode. For block decoding only. Zero Padding Mode This parameter determines the zero padding mode. It can be supported inside or outside of the IP core. This parameter is valid for for Block Encoding and Zero-Flushing modes only. Tail Adding Mode This parameter determines the tail adding mode. It can be supported inside or outside of the IP core. This parameter is valid for Block Encoding and Tail-Biting modes only. Block Length Options Block Length Read From Port When this parameter is enabled, the block length is read from an external port. This parameter is always enabled when Tail Adding Mode is set to Inside. This parameter is valid for block encoding only. Block Length Width This parameter determines the width of the block length port. For zero-flushing mode, it can be from 4 to 16 bits. For tail-biting mode, it can be from 4 to 9 bits. This parameter is only valid when the Block Length Read from Port is enabled. Generator Polynomials GP0, GP1, GP2, GP3, GP4, GP5, GP6 and GP7 are generator polynomials. For non-puncturing encoders, the number of generator polynomials is always equal to the output rate. For puncturing encoders, the number of generator polynomials is 2. The polynomial values can be provided in any of the three radixes: binary (“Bin”), octal (“Oct”), or hexadecimal (“Hex”) which defined by parameter "GP Radix". Constraint Length This parameter defines the constraint register length. The value can be any integer from 3 to 9. GP Radix This parameter sets the input radix of the generator polynomials. IPUG31_03.5, June 2010 21 Block Convolutional Encoder User’s Guide Chapter 4: IP Core Generation This chapter provides information on how to generate the Block Convolutional Encoder IP core using the Diamond or ispLEVER software IPexpress tool, and how to include the core in a top-level design. Licensing the IP Core An IP core- and device-specific license is required to enable full, unrestricted use of the Block Convolutional Encoder IP core in a complete, top-level design. Instructions on how to obtain licenses for Lattice IP cores are given at: http://www.latticesemi.com/products/intellectualproperty/aboutip/isplevercoreonlinepurchas.cfm Users may download and generate the Block Convolutional Encoder IP core and fully evaluate the core through functional simulation and implementation (synthesis, map, place and route) without an IP license. The Block Convolutional Encoder IP core also supports Lattice’s IP hardware evaluation capability, which makes it possible to create versions of the IP core that operate in hardware for a limited time (approximately four hours) without requiring an IP license. See “Hardware Evaluation” on page 28 for further details. However, a license is required to enable timing simulation, to open the design in the Diamond or ispLEVER EPIC tool, and to generate bitstreams that do not include the hardware evaluation timeout limitation. Getting Started The Block Convolutional Encoder IP core is available for download from the Lattice’s IP server using the IPexpress tool. The IP files are automatically installed using ispUPDATE technology in any customer-specified directory. After the IP core has been installed, the IP core will be available in the IPexpress GUI dialog box shown in Figure 4-1. The Diamond or ispLEVER IPexpress tool GUI dialog box for the Block Convolutional Encoder IP core is shown in Figure 4-1. To generate a specific IP core configuration the user specifies: • Project Path – Path to the directory where the generated IP files will be loaded. • File Name – “username” designation given to the generated IP core and corresponding folders and files. • (Diamond) Module Output – Verilog or VHDL. • (ispLEVER) Design Entry Type – Verilog HDL or VHDL. • Device Family – Device family to which IP is to be targeted (e.g. LatticeSCM, Lattice ECP2M, LatticeECP3, etc.). Only families that support the particular IP core are listed. • Part Name – Specific targeted part within the selected device family. IPUG31_03.5, June 2010 22 Block Convolutional Encoder User’s Guide Lattice Semiconductor IP Core Generation Figure 4-1. The IPexpress Tool Dialog Box (Diamond Version) Note that if the IPexpress tool is called from within an existing project, Project Path, Module Output (Design Entry in ispLEVER), Device Family and Part Name default to the specified project parameters. Refer to the IPexpress tool online help for further information. To create a custom configuration, the user clicks the Customize button in the IPexpress tool dialog box to display the Block Convolutional Encoder IP core Configuration GUI, as shown in Figure 4-2. From this dialog box, the user can select the IP parameter options specific to their application. Refer to “Parameter Settings” on page 19for more information on the Block Convolutional Encoder IP core parameter settings. IPUG31_03.5, June 2010 23 Block Convolutional Encoder User’s Guide Lattice Semiconductor IP Core Generation Figure 4-2. The IPexpress Tool Dialog Box - Configuration GUI (Diamond Version) IPUG31_03.5, June 2010 24 Block Convolutional Encoder User’s Guide Lattice Semiconductor IP Core Generation IPexpress-Created Files and Top Level Directory Structure When the user clicks the Generate button in the IP Configuration dialog box, the IP core and supporting files are generated in the specified “Project Path” directory. The directory structure of the generated files is shown in Figure 4-3. Figure 4-3. LatticeECP3 Block Convolutional Encoder IP core Directory Structure IPUG31_03.5, June 2010 25 Block Convolutional Encoder User’s Guide Lattice Semiconductor IP Core Generation Table 4-1 provides a list of key files and directories created by the IPexpress tool and how they are used. The IPexpress tool creates several files that are used throughout the design cycle. The names of most of the created files are customized to the user’s module name specified in the IPexpress tool. Table 4-1. File List File Description _inst.v This file provides an instance template for the IP. .v This file provides a wrapper for the Convolutional Encoder core for simulation. _beh.v This file provides a behavioral simulation model for the Convolutional Encoder core. _bb.v This file provides the synthesis black box for the user’s synthesis. .ngo The ngo files provide the synthesized IP core. .lpc This file contains the IPexpress tool options used to recreate or modify the core in the IPexpress tool. .ipx The IPX file holds references to all of the elements of an IP or Module after it is generated from the IPexpress tool (Diamond version only). The file is used to bring in the appropriate files during the design implementation and analysis. It is also used to re-load parameter settings into the IP/Module generation GUI when an IP/Module is being re-generated. _generate.tcl Created when GUI “Generate” button is pushed, invokes generation, may be run from command line. _generate.log IPexpress scripts log file. _gen.log IPexpress IP generation log file Instantiating the Core The generated Convolutional Encoder IP core package includes black-box (_bb.v) and instance (_inst.v) templates that can be used to instantiate the core in a top-level design. An example RTL toplevel reference source file that can be used as an instantiation template for the IP core is provided in \\blk_ce_eval\\src\rtl\top. Users may also use this top-level reference as the starting template for the top-level for their complete design. Running Functional Simulation Simulation support for the Convolutional Encoder IP core is provided for Aldec Active-HDL (Verilog and VHDL) simulator, Mentor Graphics ModelSim simulator. The functional simulation includes a configuration-specific behavioral model of the Convolutional Encoder IP core. The test bench sources stimulus to the core, and monitors output from the core. The generated IP core package includes the configuration-specific behavior model (_beh.v) for functional simulation in the “Project Path” root directory. The simulation scripts supporting ModelSim evaluation simulation is provided in \\blk_ce_eval\\sim\modelsim\scripts. The simulation script supporting Aldec evaluation simulation is provided in  \\blk_ce_eval\\sim\aldec\scripts. Both ModelSim and Aldec simulation is supported via test bench files provided in  \\blk_ce_eval\testbench. Models required for simulation are provided in the corresponding \models folder. Users may run the Aldec evaluation simulation by doing the following: 1. Open Active-HDL. 2. Under the Tools tab, select Execute Macro. 3. Browse to folder \\blk_ce_eval\\sim\aldec\scripts and execute one of the "do" scripts shown. Users may run the ModelSim evaluation simulation by doing the following: 1. Open ModelSim. IPUG31_03.5, June 2010 26 Block Convolutional Encoder User’s Guide Lattice Semiconductor IP Core Generation 2. Under the File tab, select Change Directory and choose the folder  \blk_ce_eval\\sim\modelsim\scripts. 3. Under the Tools tab, select Execute Macro and execute the ModelSim “do” script shown. Note: When the simulation completes, a pop-up window will appear asking “Are you sure you want to finish?” Answer No to analyze the results. Answering Yes closes ModelSim. Synthesizing and Implementing the Core in a Top-Level Design The Convolutional Encoder IP core itself is synthesized and provided in NGO format when the core is generated through IPexpress. You may combine the core in your own top-level design by instantiating the core in your toplevel file as described in “Instantiating the Core” on page 26 and then synthesizing the entire design with either Synplify or Precision RTL Synthesis. The following text describes the evaluation implementation flow for Windows platforms. The flow for Linux and UNIX platforms is described in the Readme file included with the IP core. The top-level file _top.v is provided in  \\blk_ce_eval\\src\rtl\top. Push-button implementation of the reference design is supported via the project file .ldf (Diamond) or .syn (ispLEVER) located in \\blk_ce_eval\\impl\(synplify or precision). To use this project file in Diamond: 1. Choose File > Open > Project. 2. Browse to  \\blk_ce_eval\\impl\synplify (or precision) in the Open Project dialog box. 3. Select and open _.ldf. At this point, all of the files needed to support top-level synthesis and implementation will be imported to the project. 4. Select the Process tab in the left-hand GUI window. 5. Implement the complete design via the standard Diamond GUI flow. To use this project file in ispLEVER: 1. Choose File > Open Project. 2. Browse to  \\blk_ce_eval\\impl\synplify (or precision) in the Open Project dialog box. 3. Select and open .syn. At this point, all of the files needed to support top-level synthesis and implementation will be imported to the project. 4. Select the device top-level entry in the left-hand GUI window. 5. Implement the complete design via the standard ispLEVER GUI flow. IPUG31_03.5, June 2010 27 Block Convolutional Encoder User’s Guide Lattice Semiconductor IP Core Generation Hardware Evaluation The Convolutional Encoder IP core supports Lattice’s IP hardware evaluation capability, which makes it possible to create versions of the IP core that operate in hardware for a limited period of time (approximately four hours) without requiring the purchase of an IP license. It may also be used to evaluate the core in hardware in user-defined designs. Enabling Hardware Evaluation in Diamond: Choose Project > Active Strategy > Translate Design Settings. The hardware evaluation capability may be enabled/disabled in the Strategy dialog box. It is enabled by default. Enabling Hardware Evaluation in ispLEVER: In the Processes for Current Source pane, right-click the Build Database process and choose Properties from the dropdown menu. The hardware evaluation capability may be enabled/disabled in the Properties dialog box. It is enabled by default. Updating/Regenerating the IP Core By regenerating an IP core with the IPexpress tool, you can modify any of its settings including device type, design entry method, and any of the options specific to the IP core. Regenerating can be done to modify an existing IP core or to create a new but similar one. Regenerating an IP Core in Diamond To regenerate an IP core in Diamond: 1. In IPexpress, click the Regenerate button. 2. In the Regenerate view of IPexpress, choose the IPX source file of the module or IP you wish to regenerate. 3. IPexpress shows the current settings for the module or IP in the Source box. Make your new settings in the Target box. 4. If you want to generate a new set of files in a new location, set the new location in the IPX Target File box. The base of the file name will be the base of all the new file names. The IPX Target File must end with an .ipx extension. 5. Click Regenerate. The module’s dialog box opens showing the current option settings. 6. In the dialog box, choose the desired options. To get information about the options, click Help. Also, check the About tab in IPexpress for links to technical notes and user guides. IP may come with additional information. As the options change, the schematic diagram of the module changes to show the I/O and the device resources the module will need. 7. To import the module into your project, if it’s not already there, select Import IPX to Diamond Project (not available in stand-alone mode). 8. Click Generate. 9. Check the Generate Log tab to check for warnings and error messages. 10.Click Close. The IPexpress package file (.ipx) supported by Diamond holds references to all of the elements of the generated IP core required to support simulation, synthesis and implementation. The IP core may be included in a user's design by importing the .ipx file to the associated Diamond project. To change the option settings of a module or IP that is already in a design project, double-click the module’s .ipx file in the File List view. This opens IPexpress and the module’s dialog box showing the current option settings. Then go to step 6 above. IPUG31_03.5, June 2010 28 Block Convolutional Encoder User’s Guide Lattice Semiconductor IP Core Generation Regenerating an IP Core in ispLEVER To regenerate an IP core in ispLEVER: 1. In the IPexpress tool, choose Tools > Regenerate IP/Module. 2. In the Select a Parameter File dialog box, choose the Lattice Parameter Configuration (.lpc) file of the IP core you wish to regenerate, and click Open. 3. The Select Target Core Version, Design Entry, and Device dialog box shows the current settings for the IP core in the Source Value box. Make your new settings in the Target Value box. 4. If you want to generate a new set of files in a new location, set the location in the LPC Target File box. The base of the .lpc file name will be the base of all the new file names. The LPC Target File must end with an .lpc extension. 5. Click Next. The IP core’s dialog box opens showing the current option settings. 6. In the dialog box, choose desired options. To get information about the options, click Help. Also, check the About tab in the IPexpress tool for links to technical notes and user guides. The IP core might come with additional information. As the options change, the schematic diagram of the IP core changes to show the I/O and the device resources the IP core will need. 7. Click Generate. 8. Click the Generate Log tab to check for warnings and error messages. IPUG31_03.5, June 2010 29 Block Convolutional Encoder User’s Guide Chapter 5: Support Resources This chapter contains information about Lattice Technical Support, additional references, and document revision history. Lattice Technical Support There are a number of ways to receive technical support. Online Forums The first place to look is Lattice Forums (http://www.latticesemi.com/support/forums.cfm). Lattice Forums contain a wealth of knowledge and are actively monitored by Lattice Applications Engineers. Telephone Support Hotline Receive direct technical support for all Lattice products by calling Lattice Applications from 5:30 a.m. to 6 p.m. Pacific Time. • For USA & Canada: 1-800-LATTICE (528-8423) • For other locations: +1 503 268 8001 In Asia, call Lattice Applications from 8:30 a.m. to 5:30 p.m. Beijing Time (CST), +0800 UTC. Chinese and English language only. • For Asia: +86 21 52989090 E-mail Support • techsupport@latticesemi.com • techsupport-asia@latticesemi.com Local Support Contact your nearest Lattice Sales Office. Internet www.latticesemi.com References • IEEE Std 802.16-2004 IEEE Standard for Local and metropolitan area networks Part 16: Air Interface for Fixed Broadband Wireless Access Systems • 3GPP TS 25.212 V4.2.0 (2001-09) • 3GPP2 C.S0002-A Version 5.0 Date: July 13, 2001 • IEEE Standard for Information Technology Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications LatticeEC/ECP • HB1000, LatticeEC/ECP Family Handbook LatticeECP2M • HB1003, LatticeECP2M Family Handbook IPUG31_03.5, June 2010 30 Block Convolutional Encoder User’s Guide Lattice Semiconductor Support Resources LatticeECP3 • HB1009, LatticeECP3 Family Handbook LatticeSC/M • DS1004, LatticeSC/M Family Data Sheet LatticeXP • HB1001, LatticeXP Family Handbook LatticeXP2 • DS1009, Lattice XP2 Datasheet Revision History Date Document Version IP Version — — 2.0 Previous Lattice releases. June 2006 03.1 3.0 Added support for LatticeECP2, LatticeSC and LatticeXP FPGA families. December 2006 03.2 3.1 Updated appendices. Added support for LatticeECP2M FPGA family. June 2007 03.3 3.2 Updated appendices. Added support for LatticeXP2 FPGA family. May 2009 03.4 3.3 Added LatticeECP2S, LatticeECP2MS and LatticeECP3 FPGA support. Change Summary Added VHDL flow support. Added Precision RTL Synthesis and Aldec Active-HDL tools support Added Linux/Solaris Platform support. Updated GSR usage. June 2010 03.5 3.4 Added support for Diamond software. Divided document into chapters. Added table of contents. Added Quick Facts table in Chapter 1, “Introduction.” Added new content in Chapter 3, “Parameter Settings.” Added new content in Chapter 4, “IP Core Generation.” IPUG31_03.5, June 2010 31 Block Convolutional Encoder User’s Guide Appendix A: Resource Utilization This appendix gives resource utilization information for Lattice FPGAs using the Block Convolutional Encoder IP core. IPexpress is the Lattice IP configuration utility, and is included as a standard feature of the Diamond and ispLEVER design tools. Details regarding the usage of IPexpress can be found in the IPexpress and Diamond or ispLEVER help system. For more information on the Diamond or ispLEVER design tools, visit the Lattice web site at: www.latticesemi.com/software. LatticeECP and LatticeEC FPGAs Table A-1 shows the resource utilization for the Block Convolutional Encoder IP core implemented in a LatticeEC/P FPGA. Table A-2 lists the parameter settings for the IP core configurations shown in Table A-1. Table A-1. Performance and Resource Utilization1 IPexpress User-Configurable Mode Slices LUTs Registers sysMEM™ EBRs I/Os fMAX (MHz) Config1 44 42 48 0 13 404 Config2 24 25 34 0 12 372 Config3 9 6 16 0 7 563 Config4 119 143 131 0 30 278 Config5 43 46 53 0 8 397 1. Performance and utilization data are generated targeting an LFEC/P20E-5F672C device using Lattice Diamond 1.0 and Synplify Pro D2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP/EC family. Ordering Part Number The Ordering Part Number (OPN) for the Convolutional Encoder core targeting LatticeECP/EC devices is CONVBLK-E2-U3. Table A-2. Parameter Settings of the Evaluation Configuration Config3 Config4 Config5 CONV-ENCO-E2- CONV-ENCO-E2N1 N1 CONV-ENCO-E2N1 CONV-ENCO-E2N1 N/A Description K=3, Rate 2/3, Punc, (802.162004 SC PHY) K=9, SDD, Rate 1/2, Non-punc, (3GPP/ CDMA2000) K=7, Rate 1/2, Non-punc, (802.11a, also DVB-S) Xilinx data sheet I K=7 Dynamic Puncture (802.16-2004 OFDM PHY) K=7, Rate 3/4, Punc, (802.11a, also DVB-S) Xilinx data sheet II Input Rate 2 1 1 — 3 Output Rate 3 2 2 — 4 Max Input Rate — — — 5 — Max Output Rate — — — 6 — OPN Config1 (default) Operation Mode Termination Mode Zero Padding mode Tail Adding mode Config2 Block Block Continuous Block Continuous Tail Biting Zero Flushing — Zero Flushing — - Inside — Outside — Outside — — — — Block Length Options — — — — — Punctured Encoder Yes No No Yes Yes IPUG31_03.5, June 2010 32 Block Convolutional Encoder User’s Guide Lattice Semiconductor Resource Utilization Table A-2. Parameter Settings of the Evaluation Configuration Config1 (default) Config2 Config3 Config4 Config5 No — — Yes No Puncture Pattern PP0=11 PP1=10 — — — PP0=101 PP1=110 Constraint Length 3 9 7 7 7 GP0=78 GP1=58 GP0=5618 GP1=7538 GP0=1718 GP1=1338 GP0=1718 GP1=1338 GP0=1718 GP1=1338 Dynamic Rate/Pattern Generator Polynomials LatticeECP2 and LatticeECP2S FPGAs Table A-3 shows the resource utilization for the Block Convolutional Encoder IP core implemented in a LatticeECP2/S FPGA. Table A-2 lists the parameter settings for the IP core configurations shown in Table A-3. Table A-3. Performance and Resource Utilization1 IPexpress User-Configurable Mode Slices LUTs Registers sysMEM EBRs I/Os fMAX (MHz) Config1 44 42 48 0 13 404 Config2 24 25 34 0 12 372 Config3 9 6 16 0 7 563 Config4 119 143 131 0 30 278 Config5 43 46 53 0 8 397 1. Performance and utilization data are generated targeting an LFE2-50E-7F672C device using Lattice Diamond 1.0 and Synplify Pro D2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP2/ECP2S family. Ordering Part Number The Ordering Part Number (OPN) for the Convolutional Encoder core targeting LatticeECP2/S devices is CONVBLK-P2-U3. LatticeECP2M FPGAs Table A-4 shows the resource utilization for the Block Convolutional Encoder IP core implemented in a LatticeEC2M FPGA. Table A-2 lists the parameter settings for the IP core configurations shown in Table A-4. Table A-4. Performance and Resource Utilization1 IPexpress User-Configurable Mode Slices LUTs Registers sysMEM EBRs I/Os fMAX (MHz) Config1 45 44 48 0 13 466 Config2 25 25 34 0 12 509 Config3 9 6 16 0 7 883 Config4 116 141 131 0 30 352 Config5 43 47 53 0 8 504 1. Performance and utilization data are generated targeting an LFE2M/S35E-7F484C device using Lattice Diamond 1.0 and Synplify Pro D2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP2M family. Ordering Part Number The Ordering Part Number (OPN) for the Convolutional Encoder core targeting LatticeECP2M/S devices is CONVBLK-PM-U3. IPUG31_03.5, June 2010 33 Block Convolutional Encoder User’s Guide Lattice Semiconductor Resource Utilization LatticeECP3 FPGAs Table A-5 shows the resource utilization for the Block Convolutional Encoder IP core implemented in a LatticeECP3 FPGA. Table A-2 lists the parameter settings for the IP core configurations shown in Table A-5. Table A-5. Performance and Resource Utilization1 IPexpress User-Configurable Mode Slices LUTs Registers sysMEM EBRs I/Os fMAX (MHz) Config1 41 44 48 0 13 482 Config2 24 25 34 0 12 500 Config3 9 6 16 0 7 500 Config4 108 136 131 0 30 346 Config5 40 45 53 0 8 435 1. Performance and utilization data are generated targeting an LFE3-95E-8FN672CES device using Lattice Diamond 1.0 and Synplify Pro D2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeECP3 family. Ordering Part Number The Ordering Part Number (OPN) for the Convolutional Encoder core targeting LatticeECP3 devices is CONVBLK-E3-U3. LatticeXP FPGAs Table A-6 shows the resource utilization for the Block Convolutional Encoder IP core implemented in a LatticeXP FPGA. Table A-2 lists the parameter settings for the IP core configurations shown in Table A-6. Table A-6. Performance and Resource Utilization1 IPexpress User-Configurable Mode Slices LUTs Registers sysMEM EBRs I/Os fMAX (MHz) Config1 44 42 48 0 13 327 Config2 24 25 34 0 12 361 Config3 9 6 16 0 7 589 Config4 115 127 131 0 30 250 Config5 40 46 53 0 8 363 1. Performance and utilization data are generated targeting an LFXP20E-5F484C device using Lattice Diamond 1.0 and Synplify Pro D2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeXP family. Ordering Part Number The Ordering Part Number (OPN) for the Convolutional Encoder core targeting LatticeXP devices is CONV-BLKXM-U3. IPUG31_03.5, June 2010 34 Block Convolutional Encoder User’s Guide Lattice Semiconductor Resource Utilization LatticeXP2 FPGAs Table A-7 shows the resource utilization for the Block Convolutional Encoder IP core implemented in a LatticeXP2 FPGA. Table A-2 lists the parameter settings for the IP core configurations shown in Table A-7. Table A-7. Performance and Resource Utilization1 IPexpress User-Configurable Mode Slices LUTs Registers sysMEM EBRs I/Os fMAX (MHz) Config1 45 44 48 0 13 481 Config2 25 25 34 0 12 491 Config3 9 6 16 0 7 647 Config4 116 141 131 0 30 298 Config5 43 47 53 0 8 495 1. Performance and utilization data are generated targeting an LFXP2-17E-7F484C device using Lattice Diamond 1.0 and Synplify Pro D2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeXP2 family. Ordering Part Number The Ordering Part Number (OPN) for the Convolutional Encoder core targeting LatticeXP2 devices is CONV-BLKX2-U3. LatticeSC and LatticeSCM FPGAs Table A-8 shows the resource utilization for the Block Convolutional Encoder IP core implemented in a LatticeSC/M FPGA. Table A-2 lists the parameter settings for the IP core configurations shown in Table A-8. Table A-8. Performance and Resource Utilization1 IPexpress User-Configurable Mode Slices LUTs Registers sysMEM EBRs I/Os fMAX (MHz) Config1 41 42 48 0 13 400 Config2 24 24 34 0 12 400 Config3 9 6 16 0 7 400 Config4 115 146 131 0 30 392 Config5 40 44 53 0 8 400 1. Performance and utilization data are generated targeting an LFSC/M3GA25E-7F900C device using Lattice Diamond 1.0 and Synplify Pro D-2009.12L-1 software. Performance may vary when using a different software version or targeting a different device density or speed grade within the LatticeSC/SCM family. Ordering Part Number The Ordering Part Number (OPN) for the Convolutional Encoder core targeting LatticeSC/M devices is CONV-BLKSC-U3. IPUG31_03.5, June 2010 35 Block Convolutional Encoder User’s Guide
CONV-BLK-P2-UT3 价格&库存

很抱歉,暂时无法提供与“CONV-BLK-P2-UT3”相匹配的价格&库存,您可以联系我们找货

免费人工找货