COic5130A Specifications Preliminary Device Specification t = 0 to 10, 320Mbs, Introduction Programmable Reed-Solomon The COic5130A contains both a high data rate programmable Error Correction Encoder and Decoder Reed-Solomon encoder and a separate decoder that will process For information on separate encoder refer to the COic5127A data sheet. blocks of up to 255 eight bit symbols to provide corrections (T) of For information on separate decoder refer to the COiC5128A data sheet. up to 10 errors per code block at data rates up to 320 Mbs. The encoder output code block will contain the unaltered original data symbols followed by the generated parity symbols. The decoder input will contain the received data symbols including errors that may be introduced during transmission. Decoder output will be a completely corrected block or will be marked as non-correctable and the block will be outputted as received without any changes. The encoder and decoder can be operated independent of each other. Either or both may active at one time. As the devices have separate clocks, the encoder and decoder may operate at different data rates. The 128-pin mqfp device is manufactured using an 0.5micron CMOS technology by a ISO 9000 certified facility. This part is functionally compatible with the COic5125A, COic5126A, COic5127A and COic5128A and also the AMPEX 1295125-01 and 1295126, but includes features not found in the Ampex devices. Co~Optic 1742 Sand Hill Road, Suite 303, Palo Alto, CA 94304 ■ Tel: (650)321-3390 ©1998, Co-Optic, Inc. All rights reserved. Specifications subject to change without notice. ■ Fax: (650) 322-8569 ■ Email: [email protected] ■ Web: www.co-optic.com COic5130A Specifications Co~Optic 2 Encoder Functional Description The COic5130A contains an encoder that will provide ( N, N-r ) ReedSolomon forward error correction encoding of blocks of eight bit symbols. The number of parity symbols ( r ) may be from 0 to 20 , 0 in Pass Through Mode, and the number of symbols in a block ( N ) from r+1 to 255. At the decoder two parity bytes will be used for each untagged symbol error correction and one parity byte used for a location identified error (erasure ) correction. This will provide correction of up to 10 errors ( E ) or up to 20 erasures ( e ) or a combination as long as 2E + e </= r. The encoder can encode data at rates from 0 to 40 million symbols per second ( 320 Mbs ) These devices implement the primitive polynomial Px = x8+ x4 + x3 + x2 + x0 and the generator polynomial r-1 G ( x) = II ( x - µ i ) i =0 • Requires only one ( byte ) clock. Input and output data are at one byte per symbol clock for each the encoder and decoder • Code provides choice of 0 to 20 parity bytes per block • Provides Pass Through ( no parity ) mode switching on the fly • Processing latency of only 3 symbol clocks • Allows code rate changes on the fly • ISO 9000 certified manufacturing • 128-pin metal quad flat pack • Vdd 4.5 to 5.5 volts operation • - 40 to + 85 degrees C operation Encoder Initialization which are compatible with SMPTE D-1/D-2, ANSI ID1/ID2, MIL- STD2179A, DVB, DDS, DAVIC, and DSL standards. Before operations the encoder must be initialized to define the number of parity symbols ( r ). To initialize the binary value of r/2 ( 0 to 10 ) is placed in TA0 - TA3 (TA0 is least significant ) while Reset and EnlnA are held low for four symbol clock periods. Reset is then brought and held high for two symbol clock periods. The inputs on TA0 - TA3 can then be released and the section can start normal operation. Controls are provided to : 1. tri-state the output data bus 2. disable the input data 3. select the output data source (input data bus or parity generator) Any TAx pin that is not used must be held low or connected to ground. Encoder Functional Block Diagram Encoding Din (7.0) 1 1 Encoder 0 En Out En Out T (3.0) TriEn Reset Clock 0 Dout (7.0) Control Rty Encoder Features • Supports 8 bit symbol Reed-Solomon codes ( N, N- r ) with 0 < r < 20 and r+1 < N < 255, N= symbols per block including parity, r = number of parity bytes (NOTE: r is often called 2t) • Encoding rates from 0 to 320 Mbs with 0 to 40 Mhz symbol clock • Implements SMPTE D-1/D-2 Digital Video Standards, DVBS Digital Video, ANSI ID-1/ID-2, and Mil -STD-2179A coding polynomials To encode a block of symbols the enable in line ( EnlnA) and enable out line ( EnOutA ) are brought high coincident with the leading edge of first data symbol clock in a new block and remain high until all of the data symbols are clocked into the encoder section and k-3 symbols out onto the Dout bus. There is a processing latency ( delay ) of three clock cycles between the data in ( DinA ) and the data out ( DoutA.). The data ready signal ( RdyA ) is EnlnA delayed by three clock cycles. At the leading edge of the clockA pulse after the last data symbol has been placed into the encoder, EnlnA and EnOutA are brought low. This will fill the parity generator will zeros. EnlnA and EnOutA are held low for ( r ) clock cycles which inputs zeros into the encoder while outputting the parity code symbols which are appended to the data symbols to form the output data stream. After at least r clock cycles EnlnA and EnOutA are brought high to start the next block. The output data bus ( DoutA ) may be put into a high impedance state by bringing the TriEnA high. This will not effect the operation of the encoder except to disable the output bus. When the input enable ( EnlnA) is low, zeros will be clocked into the encoder input. This can be used to prevent spurious data from being encoded. COic5130A Specifications The number of data symbols ( k ) of succeeding blocks can be changed as desired at any time. This will change the code rate for the blocks, but to change the correction power ( r ) the section must be re-initialized. This can also be done at any time, but any blocks in process at that time will be lost. Co~Optic 3 COic5128 decoder as well as the T=5 AMPEX 1295126-01. It includes features not found in that device, and using r = 20 corrects up to 10 errors per block. r-1 Devices use the generator polynomial : G ( x) = Õ ( x - µ i ) i=0 Encoder Duplex Operation Half Duplex operation can be achieved on a single bi-directional channel at a maximum transmission rate equal toone half of the symbol clock. Allowing for transmission and circuit switching delays, data can be switched from the unit encoder to the decoder on any symbol boundary. External data switching and control circuits will be required to control data flow and device enables. Full duplex at full clock rate can be implemented but requires two data carriers or echo cancellation. Decoder Functional Block Diagram DIN7 - DIN0 FIFO Error Locator & Evaluator Decoder Functional Description COic5130A includes a high data rate programmable Forward Error Correction devices that can decode Reed-Solomon code blocks of up to 255 eight bit data symbols. It provides corrections of up to 10 symbol errors per block at data rates up to 320 Mbs. Blocks with more errors than are correctable are so flagged with data outputted as received ( no corrections ). Note: blocks must contain at least 8 parity symbols, except when operating in bypass mode. The decoder input code block will contain the transmitted data and parity symbols, including corruption by channel noise ( errors ). A symbol error is corrected the same regardless of the number of incorrect bits in the symbol and decoding time is the same regardless of the number of errors in a block. Decoder output data will be corrected data plus corrected parity or block error data. Error location and correction data is also provided. No clock other than the data clock is required. Input and output are one byte per clock cycle. COic5130A uses the primitive polynomial Px = x 8 + x4 + x 3 + x2 + x0 which complies with SMPTE D-1 / D-2 Digital Video Standards, DVB,DBS, DAVIC, DSL, ANSI ID-1 / ID-2, and MIL STD 2179A. The COic5130A is functionally compatible with the COic5127 encoder and DOUT7- DOUT0 MAG7- MAG0 LOC CLK Encoder Pass Through Mode Any number of symbols can be passed through the encoder without any encoding if the Enable In (EnlnA) is held high and enable out ( EnOutA) is held low while the symbols are clocked into the section. This will allow the maximum data transfer rate, but will not provide any error correction (t=0 ). To end pass through mode operation EnlnA must be brought high, which will start the encoding process. This must be at the beginning of a block for correct operations. Pass through mode may be invoked at any time but any blocks in process when this mode is started will not be encoded properly and will not be able to be decoded. Error Correct DATARDY CORR Control DATAEN RESET ENABIN SHORT1 STATEN P0 - P4 SHORT2 Decoder Features • Supports 8 bit symbol Reed Solomon codes ( N, N-r ) with 0 < r < 20 and N < 255, N= symbols per block including parity, r = number of parity symbols (Note: r is often called 2t) • Corrects up to 10 errors per block • COic5128A has 3 selectable latencies: Default ( Ampex / AHA ) = 2N + 5r + 33 clock cycles with a minimum block length of 5r + 15 Latency 1 = 2N + 2r + 13 clock cycles with a minimum block length of 2r + 13 Latency 2 = 3N /2 +3r/2 + 15 clock cycles with a minimum block length of 3r/2 + 15 • Contains complete decoder device. No external memory or control required after initialization • Data rates up to 40 MBS ( 320 Mbs ) with 0 to 40 Mhz symbol clock • End of Block flag eases applications • Input and output data are at the identical rate and operates on data clock only • Provides Pass Through Mode ( no correction ) switching on-the-fly • Latency is constant regardless of error patterns • Allows code rate change ( less data, same parity ) on-the-fly COic5130A Specifications • Provides complete error location and correction information • Flags uncorrectable blocks Co~Optic 4 regular data block may be used for this step but to prevent possible loss of data a block using dummy symbols of any value is recommended. • 4.5 to 5.5 volt operation Selecting the value of P • -40 to + 85 degrees C operation range (extended range available) The value of P determines the number of parity bytes that can be used (decoded) before a block is flagged as uncorrectable. The decoder will always use all of the parity bytes available to correct a block regardless of the value of P, which is usually set equal to r (the number of parity bytes) but P can be less or more than r. • ISO 9000 certified manufacturing Decoder Functional Description The device contains a decoder that will provide ( N, N-r ) Reed-Solomon forward error correction decoding of blocks of eight bit symbols. The number of parity symbols (r ) may be from 8 to 20, 0 in Pass Through Mode, and the number of symbols in a block ( N ) up to 255 . Two parity bytes will be used for each symbol error correction. This device will provide correction of up to 10 symbol errors ( E ) as long as 2E </= r. It will provide the number of corrections made in each block. Symbol errors are processed the same regardless of the number of incorrect bits in the symbol. Processing latency is the same regardless of the number of errors, including zero, in a block. The device can decode at data rates from 0 to 40 million symbols per second ( 320 Mbs ) and two or more devices can be used together ( see Application Brief for Reed-Solomon FEC ) to process data at higher rates. 1. If P equals r the device will properly correct all blocks where 2E </= r and mark all other blocks as uncorrectable. This option is almost always used. Encoder Initialization 4. If P is more than 20 the decoder will pass all information directly to the data output without any corrections. THIS SETTING HAS NO VALUE AND SHOULD NOT BE USED. Before operations the device must be initialized to define N, r, P ( the number of parity symbols that can be used ( decoded ) before a block is determined uncorrectable ) and to set the block error information report (status) output. A two step process is used. Step One: Set the level of OptLn to the desired level and maintain throughtout all operations. While the binary value of P is held on the P control bus, Reset and DataEn are held low for at least four symbol clock cycles and then Reset is brought high and held high for at least two more symbol clock cycles. At the same time the StatEn line is held high if the decoder block error information bytes ( status ) output are desired and low if not. Note that the decoder will output corrected parity bytes in the space formerly used by parity which are not used by block error information (status) bytes. Symbols of any value can be used for this step. Step Two : With Reset high a normal block processing procedure is used to set up values of N, r, and k ( N-r ). The Enabln is brought high with the first data symbol and held high throughout the decoding secession. Also at the beginning of the block DataEn is brought high at the leading edge of the first symbol clock pulse and held high while the data symbols are being clocked into the device, that is N-r symbol clock pluses. DataEn is brought low with the first parity symbol and held low for r symbol clock cycles while the parity symbols are clocked in. DataEn‚s going high again marks the end of parity and the start of the next block. Reset will remain high throughout step 2 and normal use until a new reset cycle is desired. This step will set up the device timing for all following blocks until the device is reinitialized or an alternate length block with fewer data symbols ( see Alternate Block Length ) is used. A 2. If P is less than r the device will use all of the parity bytes to correct the block but will mark corrected blocks as uncorrected if P < 2E < r. In this case the error status bytes must be checked to determine if correction was actually achieved. This feature can be used to detect more errors than can be corrected, but must be used with care. 3. If P is more than r normal correction will take place but the device will not provide uncorrectable block flags and may pass on to the output unflagged uncorrected data blocks . THIS SETTING HAS NO VALUE AND SHOULD NOT BE USED. The value of P may be changed at any time, but any blocks in process at the time of the change may not be properly flagged if uncorrectable. Minimum Block Lengths Minimum block lengths and latency are a function of the number of parity bytes used in a code. OptLn must be set at the start of initialization and held at the correct level throughout operations. The device must repeat Initialization if OptLn is to be changed The COic5130A allows three different equations to determine the minimum block lengths.When pin 16 is low and pin 9 LOW or NC the default equation is Minimum Block Length = 5r + 15 bytes.When pin 9 is held at High and pin 16 is low level Latency1 is invoked and the minimum block length equation is changed to (2r + 13) bytes. If pin 16 is high Latency 2 is invoked and the minimum block length is 3r/2 + 15 regardles of the level of pin 9. Decoder Latency The time that is required for the data to flow through the device is called latency and is measured in symbol clock cycles. The devices can be operated with any of three latencies, under the control of OpLan1,pin 9 and OpLan2, pin 16. Latencies are a function of the block length and correction level, but unaffected by error patterns. The default latency (pin 9 and 16 both low) is equal to 2N + 5r + 33 symbol clock cycles, COic5130A Specifications which is compatible with the Ampex 1295126-01 device. When pin 9 is held to High level and pin 16 is low Latency 1 is invoked and the equation is changed to 2N +2r + 13 symbol clock cycles. Latency 2 is involked if pin 16 is high regardless of the level of pin 9 and the equation is 3n/2 +3r/2 +15. Effects of optional shorter latency and minimum code length ( OptLn ) : The combination of the shorter code and latency can result in considerable increase in effective data transfer. In most new designs the Latency1 or Latency 2 option will provide the best operations. Example: If a desired code is ( 64,48 ) r= 16, the default minimum block length ( 5r + 33 ) is 95 bytes which requires 31 " filler " bytes to be inserted in each block., a loss of over 33 % of the channel effectiveness. Co~Optic 5 StatEN If StatEn has been set high the first two parity bytes will be replaced with error information. Byte 1 will show FXXEEEEE and Byte 2 will show FXXTTTTT where: F = block Not Correctable if high, block was Corrected if low. EEEEE = Erasure count will be 0. TTTTT = Total number of corrections made in the block. If the block was not correctable ( F bit is high ) E and T values will be meaningless. If StatEn is low all of the corrected parity symbols will be clocked out of the decoder. The latency ( 2N+5r+33 ) is 313 clock cycles. With OptLn2 invoked the minimum block length is 39 bytes , which does not require any filler bytes so there is no loss of channel effectiveness. The latency is 135 clock cycles. Decoder Error Information Output Decoding If the symbol being outputed from the decoder has been corrected ErLoc (pin 24) will go high. The pattern used to correct that symbol will apprear on CMag 0 -CMag7 pins at the same time. Note that the error is actually the logical inverse of the correction. (The user must provide external storage and processing of this information as the COic5130 does not store these error location or correction information outputs. If the decoder detects more than r/2 errors ErLoc will remain low throughout the block as no changes will be made. The UnCorr line or Status bytes must be monitored to flag this condition. After the COic5130A is initialized it can begin decoding incoming blocks. It is a good idea, but not absolutely necessary, to pass at least as many dummy symbols as the latency through the device before actual data is used in order to clear out any spurious information in the unit. Although it is not recommended, block of data can be used to initialize the device can be made up of valid data, if step one has been completed. To decode, the Enabln is brought high and held high throughout the decoding secession. At the beginning of a code block DataEn is brought high at the leading edge of the first symbol clock pulse and held high while the data symbols are being clocked into the device, that is N-r symbol clock pluses. DataEn is brought low with the first parity symbol and held low for r symbol clock cycles while the parity symbols are clocked into the decoder. DataEn‚s going highagain marks the end of parity and the start of the next block. The first data symbol is placed on the Dout bus, the DatRdy line will go high and the unit will begin to output data symbols when the number of symbol clocks required for processing latency are complete. At the end of N-r symbols the DatRdy line goes low and parity symbols are outputted Correct Correct pin --- goes high as the block starts being outputted if the block contains corrected symbols or low if the block is outputted as it was received due to either 0 or more than r errors in the block. UnCorr If the block cannot be corrected UnCorr, pin --- will go to the high level. This will occurr as the block being processed starts to be outputted. In order to help optimize the application ECC function, detailed error information for each block is also available while the decoder data output is in process. It is not necessary to use this information for proper operation the part. Decoder Pass Through Mode ( r =0 ) Any number of symbols can be passed through the decoder without any changes (corrections) if the Enable In ( Enabln ) is held low while symbols are clocked into the device. The input symbols, data and parity if any, will be passed unchanged to the output ( Dout ) after the number of symbol clocks needed for processing latency. In this mode there will normally not be any parity symbols. That will allow transfer of data symbols at the maximum rate, but will not provide any error correction (t=0). To end Pass Through Mode operation Enabln must be brought high, which will start the decoding process. This must be at the beginning of a block for correct operations. Pass Through Mode may be invoked at any time but any blocks in process when this mode is started will not be decoded properly. EnOBk When the last byte of a block is outputted EnOBK pin 22 will go to the high level for one clock period. COic5130A Specifications Co~Optic 6 Encoder Output Timing Tckr Tckw Clock Tckf Tckw Tck Input Output Tisu Tih Tsd Encoder Initialization Before operation the encoder must be initialized to define the number of parity symbols (r). To initialize the binary value of r/2, (0 to 10) is placed in T0 – T3 (T0 is least significant ) while RESET and ENIN are held low for four symbol clock periods. RESET is then brought high for two symbol clock periods. The inputs on T0 – T3 can then be released and the encoder can start normal operation. Any TX pin that is not used must be held low or connected to ground. Decoder Output Timing Tckr Tckw Clock Tckf Tckw Tck Input Output Tisu Tih Tsd Decoder Initialization Certain architectural and mathematical properties of this device are not hard wired and must be set up during the initialization control sequence. These properties include: 1. 2. 3. 4. 5. 6. The overall message block length (N) The number of data bytes (K) The total number of check bytes (R) The number of check bytes allocated for correction only (P) Whether the first check byte output positions are used for status bytes or check bytes (STATEN) Whether to use AMPEX compatible, non-compatible, or short timing (SHORT1, SHORT2) COic5130A Specifications Co~Optic 7 These properties must be initialized before normal operation can begin. There are two distinct phases of the initialization process. In phase one, the values of P, STATEN and SHORT1 and SHORT2 are initialized. In phase two, the first message block through the device is used to set the valuesof N, K and R. The phase one sequence consists of at least 4 clock cycles in which RESET is held LOW followed by at least 2 clock cycles during which RESET is held HIGH. RESET must then remain HIGH for all subsequent operations or else an unwanted initialization sequence will ensue. The desired values of STATEN and P4 - P0 must be maintained during the first phase of initialization. The desired value of SHORT1 and SHORT2 must be maintained during all the phases of operation of the device. DATAEN must be held LOW during the entire six clock sequence or unintended processing of spurious messages may occur. Decoder Initialization Control Sequence Timing RESET At least 4 clock cycles At least 2 clock cycles P4-P0 STATEN Initialization DATAEN Message ENABIN The rising edge of DATAEN at the end of the phase one initialization sequence marks the beginning of the first message block, which is the beginning of phase two of the initialization process. DATAEN has the role of initializing the parameters of N, K and R. DATAEN has a different function on all subsequent blocks until an initialization sequence is begun once again. As the first message block passes through the device, DATAEN is held HIGH for K clock cycles and then LOW for R clock cycles. DATAEN going high again marks the first byte of the second block and implies the end of the phase two initialization sequence. DATAEN has thus defined R, K and N for all subsequent blocks until another initialization sequence is performed. Decoder Message Input Timing DIN7 - DIN0 K Data Bytes DATAEN ENABIN R Parity Bytes COic5130A Specifications Co~Optic 8 Message Decoding During message decoding the device clocks in the encoded message block from the DIN7 - DIN0 input bus on the rising edge of CLK. The device then computes polynomials for this data using a high performance Reed-Solomon coding algorithm, and then proceeds to use the calculated polynomials to correct any errors, if possible. These polynomials are a series of complex equations that will indicate not only the position of incorrect bytes but will also produce the necessary information to correct them. The timing of the decoding operation is defined Decoder Message Output Timing DOUT7 - DOUT0 K Data Bytes R Parity Bytes DATARDY CORR The action taken by the decoder with respect to a given message block is determined in all cases by the quantity of errors received. The device reports its action via the CORR output pin. If P = R, a HIGH output on the CORR pin indicates that the message block being output is correct.A LOW output indicates that a correction was not performed because there were too many errors or no errors. In situations where P has been chosen to be not equal to R, the meaning of the UNCORR pin is that more than P/2 errors have occurred. Decoder Optional Status Bytes The optional status bytes, that may be output at the end of the message block, indicate the number of errors encountered and may be used to determine the exact meaning of the CORR output when P ≠ R. The first status byte has all of its bits set LOW except bit 7, which is the CA (correction attempted) flag. The CA flag goes LOW when E ≤ R/2 (the message block was successfully decoded). Therefore, anytime CA is HIGH, the message block should be retransmitted since there were probably too many errors to reliably correct.Also, if P = R then CA will always be LOW when the CORR output pin is HIGH and HIGH when CORR is LOW. In the second status byte, bits 4 through O are a binary count of the number of errors encountered. Bit 4 is most significant. The remaining bits are always LOW. COic5130A Specifications 9 Co~Optic Pinout Table 1: Device Pinout Signal Name Encoder / Decoder Description 1 NC N/A No Connection 2 DEC_MAG0 Decoder Error Magnitude 0. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. 3 NC N/A No Connection 4 DEC_MAG1 Decoder Error Magnitude 1. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. 5 NC N/A No Connection 6 DEC_MAG2 Decoder Error Magnitude 2. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. TTL Output 7 DEC_DOUT6 Decoder Data output bit 6. Bit 7 is MSB. Output 8 Vdd N/A +5 Volt Power Power 9 DEC_DOUT5 Decoder Data output bit 5. Bit 7 is MSB. Output 10 NC N/A No Connection 11 GND N/A Ground 12 NC N/A No Connection 13 DEC_DOUT4 Decoder Data output bit 4. Bit 7 is MSB. 14 NC N/A No Connection 15 DEC_DOUT3 Decoder Data output bit 3. Bit 7 is MSB. 16 NC N/A No Connection 17 Vdd N/A +5 Volt Power Power 18 DEC_DOUT2 Decoder Data output bit 2. Bit 7 is MSB. Output 19 DEC_DOUT1 Decoder Data output bit 1. Bit 7 is MSB. Output 20 GND N/A Ground Power 21 NC N/A No Connection Pin# Signal Type TTL Output TTL Output Power Output Output COic5130A Specifications 10 Co~Optic Table 1: Device Pinout, continued Pin# Signal Name Encoder / Decoder Description Signal Type 22 DEC_DOUT0 Decoder Data output bit 0. Bit 7 is MSB. Output 23 GND N/A Ground Power 24 DEC_DATARDY Decoder Data Ready. Assertive HIGH. This output is held HIGH for data bytes and low check bytes. Output 25 DEC_MAG3 Decoder Error Magnitude 3. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. TTL Output 26 NC N/A No Connection 27 DEC_MAG4 Decoder Error Magnitude 4. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. 28 NC N/A No Connection 29 NC N/A No Connection 30 DEC_MAG5 Decoder Error Magnitude 5. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. 31 NC N/A No Connection 32 NC N/A No Connection 33 NC N/A No Connection 34 NC N/A No Connection 35 Vdd N/A +5 Volt Power 36 ENC_TEST_SE Encoder Foundry Test Pin - Do not Use 37 GND N/A Ground 38 GND N/A Ground 39 DEC_MAG6 Decoder Error Magnitude 6. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. TTL Output 40 DEC_STATEN Decoder Status Enable. Asservie HIGH. If this signal is HIGH during reset then the decoder will be programmed to output two status bytes with each message block. Input TTL Output TTL Output Power COic5130A Specifications 11 Co~Optic Table 1: Device Pinout, continued Signal Name Encoder / Decoder Description 41 NC N/A No Connection 42 DEC_MAG7 Decoder Error Magnitude 7. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. TTL Output 43 Vdd N/A +5 Volt Power Power 44 DEC_DIN7 Decoder Decoder symbol input bit 7. Bit 7 is MSB. Input 45 ENC_TEST_SI Encoder Foundry Test Pin - Do not Use 46 DEC_DIN6 Decoder Decoder symbol input bit 6. Bit 7 is MSB. Input 47 GND N/A Ground Power 48 ENC_DOUT6 Encoder Encoder data output bit 6 Tristate 49 Vdd N/A +5 Volt Power Power 50 ENC_DIN6 Encoder Encoder data input bit 6 Input 51 DEC_TEST_SI Decoder Foundry Test Pin - Do not Use 52 Vdd N/A +5 Volt Power Power 53 DEC_DIN5 Decoder Decoder symbol input bit 5. Bit 7 is MSB. Input 54 ENC_DIN7 Decoder Encoder data input bit 7 Input 55 GND N/A Ground Power 56 ENC_DOUT7 Encoder Encoder data output bit 7 Tristate 57 Vdd N/A +5 Volt Power Power 58 GND N/A Ground 59 DEC_DIN4 Decoder Decoder symbol input bit 4. Bit 7 is MSB. Input 60 ENC_DOUT4 Encoder Encoder data output bit 4 Tristate 61 DEC_DIN3 Decoder Decoder symbol input bit 3. Bit 7 is MSB. Input 62 NC N/A No Connection 63 ENC_DIN4 Encoder Encoder data input bit 4 Pin# Signal Type Input COic5130A Specifications 12 Co~Optic Table 1: Device Pinout, continued Signal Name Encoder / Decoder Description 64 NC N/A No Connection 65 DEC_UNCORR Decoder Decoder uncorrectable block. Assertive HIGH. Indicates message block contains uncorrectable errors. Output 66 Vdd N/A +5 Volt Power Power 67 ENC_DIN5 Encoder Encoder data input bit 5 Input 68 ENC_DOUT5 Encoder Encoder data output bit 5 Tristate 69 GND N/A Ground Power 70 DEC_DIN2 Decoder Decoder symbol input bit 2. Bit 7 is MSB. Input 71 ENC_RDY Encoder Indicates data symbols are on the encoder ENC_DOUT bus Output 72 DEC_DIN1 Decoder Decoder symbol input bit 1. Bit 7 is MSB. Input 73 ENC_ENOUT Encoder Enables encoder DIN bus onto the DOUT bus Input 74 Vdd N/A +5 Volt Power 75 ENC_ENIN Encoder Enable encoder DIN bus into the parity generator Input 76 DEC_DIN0 Decoder Decoder symbol input bit 0. Bit 7 is MSB. Input 77 ENC_RESET Encoder Initializes encoder into a know state (high) Input 78 GND N/A Ground Power 79 ENC_TRIEN Encoder Tri-states the encoder ENC_DOUT bus drivers when HIGH Input 80 DEC_DATEN Decoder Decoder data enable. Assertive HIGH. This input is used to signal the difference between data bytes and check bytes. Input 81 DEC_ENABIN Decoder "Decoder enable data correction. Assertive HIGH. When this input is asserted, the device performs corrections on the message block. When CEN is low, the device does not perform corrections but continues to report status is initialized to do so." Input 82 ENC_CLOCK Encoder Encoder master and symbol clock. Input 83 ENC_TA2 Encoder Bit 2 of the encoder T select bus Input 84 Vdd N/A +5 Volt Power Power 85 ENC_TA1 Encoder Bit 1 of the encoder T select bus Input Pin# Signal Type COic5130A Specifications 13 Co~Optic Table 1: Device Pinout, continued Signal Name Encoder / Decoder Description Signal Type 86 DEC_P3 Decoder Decoder parity input bit 3. This determines the value of (P) which is the maximum of check bytes that the device will use in correction before flagging the block as uncorrectable. Normally set to the # of check bytes (R). P4 is the most significant bits. Input 87 ENC_TA0 Encoder Bit 0 of the encoder T select bus Input 88 DEC_P2 Decoder Decoder parity input bit 2. This determines the value of (P) which is the maximum of check bytes that the device will use in correction before flagging the block as uncorrectable. Normally set to the # of check bytes (R). P4 is the most significant bits. Input 89 Vdd N/A +5 Volt Power Power 90 DEC_P1 Decoder Decoder parity input bit 1. This determines the value of (P) which is the maximum of check bytes that the device will use in correction before flagging the block as uncorrectable. Normally set to the # of check bytes (R). P4 is the most significant bits. Input 91 ENC_DIN3 Encoder Encoder data input bit 3 Input 92 DEC_P4 Decoder Decoder parity input bit 4. This determines the value of (P) which is the maximum of check bytes that the device will use in correction before flagging the block as uncorrectable. Normally set to the # of check bytes (R). P4 is the most significant bits. Input 93 ENC_DOUT3 Encoder Encoder data output bit 3 Tristate 94 ENC_TA3 Encoder Bit 3 of the encoder T select bus Input 95 DEC_SHORT2 Decoder Decoder latency select 2. Selects latency according to Table 2: Latency and Minimum Block Size Selection. Input 96 NC N/A No Connection 97 ENC_DOUT2 Encoder Encoder data output bit 2 98 NC N/A No Connection 99 ENC_DIN2 Encoder Encoder data input bit 2 100 NC N/A No Connection 101 Vdd N/A +5 Volt Power Power 102 DEC_RESET Decoder Decoder system reset. Assertive LOW. Reset timing is critical to the initialization of the device Input 103 ENC_DIN1 Encoder Encoder data input bit 1 Input 104 Vdd N/A +5 Volt Power Power 105 ENC_DOUT1 Encoder Encoder data output bit 1 Tristate Pin# Tristate Input COic5130A Specifications 14 Co~Optic Table 1: Device Pinout, continued Signal Name Encoder / Decoder Description Signal Type 106 GND N/A Ground Power 107 NC N/A No Connection 108 DEC_TEST_SO Decoder Foundry Test Pin - Do not Use 109 GND N/A Ground Power 110 DEC_SHORT1 Decoder Decoder latency select 1. Selects latency according to Table 2: Latency and Minimum Block Size Selection. Input 111 ENC_DOUT0 Encoder Encoder data output bit 0 Tristate 112 GND N/A Ground Power 113 ENC_DIN0 Encoder Encoder data input bit 0 Input 114 Vdd N/A +5 Volt Power Power 115 DEC_TEST_SE Decoder Foundry Test Pin - Do not Use 116 ENC_TEST_SO Encoder Foundry Test Pin - Do not Use 117 DEC_CLOCK Decoder Decoder master clock. All inputs and outputs are synchronized by the rising edge of DEC_CLOCK. Input 118 GND N/A Ground Power 119 DEC_CORR Decoder Decoder message block corrected. Assertive HIGH. Indicates that errors have been found and corrected in message block. Output 120 DEC_EOB Decoder Decoder End of Block. 1/0 = End/Not end of block. Output 121 NC N/A No Connection 122 DEC_DOUT7 Decoder Data output bit 7. Bit 7 is MSB. Output 123 DEC_LOC Decoder Decoder Error Location. Assertive HIGH. This output goes HIGH if the current symbol outout on Q7-Q0 has had a correction applied to it. Output 124 Vdd N/A +5 Volt Power Power 125 NC N/A No Connection 126 GND N/A Ground 127 NC N/A No Connection 128 Vdd N/A +5 Volt Power Pin# Power Power COic5130A Specifications 15 Pinout Co~Optic Decoder Input Pins Pin# Signal Description Signal Type 76 DEC_DIN0 Decoder symbol input bit 0. Bit 7 is MSB. Input 72 DEC_DIN1 Decoder symbol input bit 1. Bit 7 is MSB. Input 70 DEC_DIN2 Decoder symbol input bit 2. Bit 7 is MSB. Input 61 DEC_DIN3 Decoder symbol input bit 3. Bit 7 is MSB. Input 59 DEC_DIN4 Decoder symbol input bit 4. Bit 7 is MSB. Input 53 DEC_DIN5 Decoder symbol input bit 5. Bit 7 is MSB. Input 46 DEC_DIN6 Decoder symbol input bit 6. Bit 7 is MSB. Input 44 DEC_DIN7 Decoder symbol input bit 7. Bit 7 is MSB. Input Decoder Output Pins Pin# Signal Description Signal Type 22 DEC_DOUT0 Data output bit 0. Bit 7 is MSB. Output 19 DEC_DOUT1 Data output bit 1. Bit 7 is MSB. Output 18 DEC_DOUT2 Data output bit 2. Bit 7 is MSB. Output 15 DEC_DOUT3 Data output bit 3. Bit 7 is MSB. Output 13 DEC_DOUT4 Data output bit 4. Bit 7 is MSB. Output 9 DEC_DOUT5 Data output bit 5. Bit 7 is MSB. Output 7 DEC_DOUT6 Data output bit 6. Bit 7 is MSB. Output 122 DEC_DOUT7 Data output bit 7. Bit 7 is MSB. Output Decoder Error Magnitude Pins Pin# Signal Description Signal Type 2 DEC_MAG0 Error Magnitude 0. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. Output 4 DEC_MAG1 Error Magnitude 1. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. Output COic5130A Specifications 16 Co~Optic Decoder Error Magnitude Pins, continued Pin# Signal Description Signal Type 6 DEC_MAG2 Error Magnitude 2. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. Output 25 DEC_MAG3 Error Magnitude 3. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. Output 27 DEC_MAG4 Error Magnitude 4. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. Output 30 DEC_MAG5 Error Magnitude 5. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. Output 39 DEC_MAG6 Error Magnitude 6. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. Output 42 DEC_MAG7 Error Magnitude 7. This output indicates which bit of the current symbol output on Q7-Q0 has been corrected when LOC is HIGH. This output is indeterminate and should be ignored when LOC is low. Output Decoder Parity Input Pins Pin# Signal Description Signal Type 90 DEC_P1 Decoder parity input bit 1. This determines the value of (P) which is the maximum of check bytes that the device will use in correction before flagging the block as uncorrectable. Normally set to the # of check bytes (R). P4 is the most significant bits. Input 88 DEC_P2 Decoder parity input bit 2. This determines the value of (P) which is the maximum of check bytes that the device will use in correction before flagging the block as uncorrectable. Normally set to the # of check bytes (R). P4 is the most significant bits. Input 86 DEC_P3 Decoder parity input bit 3. This determines the value of (P) which is the maximum of check bytes that the device will use in correction before flagging the block as uncorrectable. Normally set to the # of check bytes (R). P4 is the most significant bits. Input 92 DEC_P4 Decoder parity input bit 4. This determines the value of (P) which is the maximum of check bytes that the device will use in correction before flagging the block as uncorrectable. Normally set to the # of check bytes (R). P4 is the most significant bits. Input Decoder Latency Select Pins Pin# Signal Description Signal Type 110 DEC_SHORT1 Decoder latency select 1. Selects latency according to Table 2: Latency and Minimum Block Size Selection. Input 95 DEC_SHORT2 Decoder latency select 2. Selects latency according to Table 2: Latency and Minimum Block Size Selection. Input COic5130A Specifications 17 Co~Optic Decoder Control and Status Pins Pin# Signal Description Signal Type 117 DEC_CLOCK Decoder master clock. All inputs and outputs are synchronized by the rising edge of DEC_CLOCK. Input 119 DEC_CORR Decoder message block corrected. Assertive HIGH. Indicates that errors have been found and corrected in message block. Output 24 DEC_DATARDY Data Ready. Assertive HIGH. This output is held HIGH for data bytes and low check bytes. Output 80 DEC_DATEN Decoder data enable. Assertive HIGH. This input is used to signal the difference between data bytes and check bytes. Input 81 DEC_ENABIN Decoder enable data correction. Assertive HIGH. When this input is asserted, the device performs corrections on the message block. When CEN is low, the device does not perform corrections but continues to report status is initialized to do so. Input 120 DEC_EOB Decoder End of Block. 1/0 = End/Not end of block. Output 123 DEC_LOC Decoder Error Location. Assertive HIGH. This output goes HIGH if the current symbol outout on Q7-Q0 has had a correction applied to it. Output 102 DEC_RESET Decoder system reset. Assertive LOW. Reset timing is critical to the initialization of the device. Input 40 DEC_STATEN Status Enable. Asservie HIGH. If this signal is HIGH during reset then the decoder will be programmed to output two status bytes with each message block. Input 65 DEC_UNCORR Decoder uncorrectable block. Assertive HIGH. Indicates message block contains uncorrectable errors. Output Encoder Data Input Pins Pin# Signal Description Signal Type 113 ENC_DIN0 Encoder data input bit 0. Input 103 ENC_DIN1 Encoder data input bit 1. Input 99 ENC_DIN2 Encoder data input bit 2. Input 91 ENC_DIN3 Encoder data input bit 3. Input 63 ENC_DIN4 Encoder data input bit 4. Input 67 ENC_DIN5 Encoder data input bit 5. Input 50 ENC_DIN6 Encoder data input bit 6. Input 54 ENC_DIN7 Encoder data input bit 7. Input COic5130A Specifications 18 Co~Optic Encoder Data Output Pins Pin# Signal Description Signal Type 111 ENC_DOUT0 Encoder data output bit 0 Tristate 105 ENC_DOUT1 Encoder data output bit 1 Tristate 97 ENC_DOUT2 Encoder data output bit 2 Tristate 93 ENC_DOUT3 Encoder data output bit 3 Tristate 60 ENC_DOUT4 Encoder data output bit 4 Tristate 68 ENC_DOUT5 Encoder data output bit 5 Tristate 48 ENC_DOUT6 Encoder data output bit 6 Tristate 56 ENC_DOUT7 Encoder data output bit 7 Tristate Encoder T Select Pins Pin# Signal Description Signal Type 87 ENC_TA0 Bit 0 of the encoder T select bus Input 85 ENC_TA1 Bit 1 of the encoder T select bus Input 83 ENC_TA2 Bit 2 of the encoder T select bus Input 94 ENC_TA3 Bit 3 of the encoder T select bus Input Encoder Control and Status Pins Pin# Signal Description Signal Type 79 ENC_TRIEN Tri-states the encoder ENC_DOUT bus drivers when HIGH Input 75 ENC_ENIN Enable encoder DIN bus into the parity generator Input 73 ENC_ENOUT Enables encoder DIN bus onto the DOUT bus Input 71 ENC_RDY Indicates data symbols are on the encoder ENC_DOUT bus Output 77 ENC_RESET Initializes encoder into a know state (high) Input 82 ENC_CLOCK Encoder master and symbol clock. Input COic5130A Specifications Co~Optic 19 Encoder and Decoder Foundry Test Pins Pin# Signal Description 115 DEC_TEST_SE Foundry Test Pin - Do not Use Input 51 DEC_TEST_SI Foundry Test Pin - Do not Use Input 108 DEC_TEST_SO Foundry Test Pin - Do not Use Output 36 ENC_TEST_SE Foundry Test Pin - Do not Use Input 45 ENC_TEST_SI Foundry Test Pin - Do not Use Input 116 ENC_TEST_SO Foundry Test Pin - Do not Use Output Ground Pins Pin# Signal Description 11 GND 20 Signal Type No Connect Pins No Connect Pins, continued Votlage Supply Pins Pin# Signal Description Pin# Signal Description Pin# Signal Description Ground 1 NC No Connection 41 NC No Connection 8 Vdd +5 V Power GND Ground 3 NC No Connection 62 NC No Connection 17 Vdd +5 V Power 23 GND Ground 5 NC No Connection 64 NC No Connection 35 Vdd +5 V Power 37 GND Ground 10 NC No Connection 96 NC No Connection 43 Vdd +5 V Power 38 GND Ground 12 NC No Connection 98 NC No Connection 49 Vdd +5 V Power 47 GND Ground 14 NC No Connection 100 NC No Connection 52 Vdd +5 V Power 55 GND Ground 16 NC No Connection 107 NC No Connection 57 Vdd +5 V Power 58 GND Ground 21 NC No Connection 121 NC No Connection 66 Vdd +5 V Power 69 GND Ground 26 NC No Connection 125 NC No Connection 74 Vdd +5 V Power 78 GND Ground 28 NC No Connection 127 NC No Connection 84 Vdd +5 V Power 106 GND Ground 29 NC No Connection 89 Vdd +5 V Power 109 GND Ground 31 NC No Connection 101 Vdd +5 V Power 112 GND Ground 32 NC No Connection 104 Vdd +5 V Power 118 GND Ground 33 NC No Connection 114 Vdd +5 V Power 126 GND Ground 34 NC No Connection 124 Vdd +5 V Power 128 Vdd +5 V Power COic5130A Specifications Co~Optic 19 Packaging Table 6: PLCC Dimensions D D1 D3 C θ = 0° – 7° A A2 E3 E1 A1 E 0.1 e Index Corner L Pin 1 G b Notes: Symbol 1. Pin 1 indicator may be a corner chamfer, dot or both. Min Min 3.45 4.10 0.136 0.161 A1 0.25 0.50 0.010 0.020 A2 3.20 3.60 0.126 0.142 D 30.95 31.45 1.219 1.238 D1 27.80 28.20 1.094 1.110 A 3. The top package body size may be smaller than the bottom package body size by a max. of 0.15 mm. 4. Dimension D1 and E1 do not include mold protrusion. Allowable protrusion is 0.25mm per side. D1 and E1 are maximum plastic body size dimensions including mold mismatch. 6. Coplanarity, measured at seating plane G, to be 0.10 mm max. D3 24.80 Ref. 30.95 31.45 1.219 E1 27.80 28.20 1.094 E3 L Parts are packaged in anti static tubes of 18 units each. To order call 650-321-3390, fax 650-322-8569, or email [email protected] Max 1.238 1.110 0.976 Ref. 24.80 Ref. 0.73 Nominal 0.976 Ref. E e Part Numbers: Complete ordering code COic5130A Nominal Alternate Dimensions in inches Max 2. Controlling dimensions are in millimeters. 5. Dimension b does not include dambar protrusion. Allowable dambar protrusion shall not cause the lead width to exceed the maximum b dimension by more than 0.08 mm. Control Dimensions in millimeters 0.041 0.029 1.03 0.80 BSC. 0.031 BSC. b 0.30 0.45 0.012 0.018 c 0.11 0.23 0.004 0.009 N Pin Features 128 ND 32 NE 32 Note Square