Upload
nguyenkhuong
View
219
Download
0
Embed Size (px)
Citation preview
SMPTE-292 Scrambler and Descrambler/Framer
For SpartanII, Virtex and Virtex-E families
October 2, 2001 Product Specification
Andraka Consulting Group, Inc.the
Andraka Consulting Group, Inc.16 Arcadia DriveNorth Kingstown, RI USAPhone: +1 401-884-7930Fax: +1 401-884-7950URL: www.andraka.comE-mail: [email protected]
Features• Fully compatible with SMPTE specification for 292M
Bit-Serial Digital Interface for High Definition TelevisionSystems
• Designed for use with AMCC S8401/S8501 serializerand deserializer chipset
• Separate Macro blocks for transmit scrambler andreceiver descrambler/framer
• Fully synchronous operation
• >75 MHz performance in all compatible devices
• Transmit macro accepts 20 bit parallel data (10 bit EY
and 10 bit ECb ECr), then codes it using the scramblepolynomial (X
9 + X
4 + 1) and NRZI (x+1) encoding.
Outputs 20 bits parallel to AMCC S8401serializer oneach cycle of transmit word clock.
• Receive macro accepts 20 bit de-serialized data fromAMCC S8501 deserializer, reverses the NRZI codingand descrambles the data. Framing logic aligns the bitswith the 20 bit parallel output (aligns 10 bit EY and 10 bitECb ECr)
• Both Macros are relatively placed to ensure asuccessful route and timing
ApplicationsThe SMPTE 292 Scrambler and Descrambler/FramingCores are used with the AMCC S8401/S8501 High DefinitionSerial Interface (HD-SCI) chipset. The chipset and thesecores form the basic SMPTE 292M interface for HDTVapplications.
General DescriptionThe SMPTE292 core set, coupled with the AMCCS8401/S8501 serializer/deserializer chipset is fully compliantto the SMPTE 292M specification for Bit Serial Interfaces forHigh Definition TelevisionSystems. The core set includes separate XilinxVirtex/Spartan-II cores for transmitter coding (scramblingand NRZI) and receiver decoding (NRZ, descrambling, syncdetect and word framing).
Functional DescriptionThe CORE set is supplied as two cores, one for transmit andone for receive. The block diagrams are shown in Figure 1in a system context. The cores may be purchasedseparately or as a set.
Core FactsCore Specifics
Device Families Spartan II, Virtex, Virtex-E
Transmit: 45 Slices in a3W x 10 H CLB area
Slices Used
Receive: 137 Slices in a6W x 12 H CLB area
Transmit: none in macro(21 inputs, 20 outputs
plus clock)
IOBs Used
Receive: none in macro(20 inputs, 21 outputs
plus clock)
System clock System clock: 74.25 MHz(specified by SMPTE 292M)
DeviceFeatures used
Carry logic, SRL16,relative placement
Supported Devices
Family Minimum speedgrade (receive)
Maximum clockfor listed speed
grade
VirtexSpartanIIVirtex-E
-4-5-6
101 MHz112 MHz130 MHz
Transmit only: XCV50/XC2S30
Receive only: XCV50/XC2S30
Minimumdevice size
Both: XCV50/XC2S30
Provided with Core
Documentation Core interface document
Design file format EDIF netlistVHDL source available extra
Constraints .UCF file with timing constraint.Placement information is
embedded in design
Schematic symbols Foundation ISE
Evaluation model VHDL behavioral model
Reference Designsand application notes
none
Additional Items none
Design tools
Xilinx Core tools 3.3i sp8
Design verification
Support
Provided by Andraka Consulting Group
Copyright 1999,2001, Andraka Consulting Group, Inc. All rights reserved.
SMPTE-292 Scrambler and Descrambler/Framer
G1(X) =
X9+X
4+1
G2(X) =
X+1
AMCC S8501
De-serializer
Transmit Macro
AMCC S8401
Serializer
G1(X) =
X9+X
4+1
G2(X) =
X+1
Header
Detect
Logic
Delay
Delay
20
20
Receive Macro
20
20
RX WORD CLOCKSYNC OUT
RX DATA OUT
TX WORD CLOCK
Delay 1
TX DATA IN
Driver
EQ
Coax or Fiber
TXRST
Figure 1. Transmit and Receiver block diagrams shown in system context
Scrambler (Transmit) BlockThe transmitter block performs the X
9+X
4+1 scrambled
channel coding, followed by the X+1 NRZI scrambling.Clock latency through the block is one clock cycle. Theblock performs scrambling on the 20 bit parallel data word.Figure 3 shows the equivalent bit serial scrambler circuit.This is the scrambler circuit that would be used if theunscrambled stream was first serialized then scrambled.
Inputs to the scrambler block are the 20 bit data,synchronous reset and the word rate clock. The 20 bit datainput consists of the 10 bit EY channel and the separate10 bitECb ECr channel. This bit assignment interleaves the dataper the SMPTE 292 specification. The word rate clockshould be 74.25 MHz, and is the same clock applied to theAMCC S8401 serializer’s REFCLK input. The AMCCserializer has an internal phase lock loop that synthesizesthe serial bit clock from this word clock. The synchronousreset forces the scrambler outputs to zero when the macro isclocked.
The macro output is 20 bit parallel scrambled data. Theoutput should be connected to the AMCC serializer viaregistered outputs on the FPGA (OFD I/O macros), alsoclocked by the transmit word clock. Transmit data is clockedthrough the core by the rising edge of the transmit wordclock.
Descrambler/Framer (Receive) BlockThe receiver block descrambles the 20 bit parallel receivedata using the complement of the scramble polynomial.Header sync detect logic parses the descrambled data for aframe header (EAV or SAV block) sync pattern consisting ofstring of 20 ‘1’ bits followed immediately by 40 ‘0’ bits (serialdata is presented to the AMCC S8501 least significant bitfirst). The sync word is at an arbitrary alignment relative to
the 20 bit parallel data word. When a header sync pattern isfound, a rotator shifts the data to align the bits with theparallel output word. That alignment is maintained until thenext header is detected. The header detect signal is alsooutput for use as a frame sync signal. That frame sync iscoincident with the first word of the output header syncpattern (the 1’s word).
The example in Figure 2 shows the unscrambled datamisaligned by 6 bits. The header detect logic recognizes themisaligned header sync sequence then selects the amountof shift required to align the data with the parallel output.That alignment is maintained until another header isdetected. The output listing also shows the timing of thesync signal.
19 Unscrambled Din 0
11 1111 1111 11 11xx xxxx00 0000 0000 00 0011 111100 0000 0000 00 0000 0000aa aaaa aaaa aa aa00 0000bb bbbb bbbb bb bbbb bbbbcc cccc cccc cc cccc cccc
19 Dout 0 Sync
xx xxxx xxxx xx xxxx xxxx 011 1111 1111 11 1111 1111 100 0000 0000 00 0000 0000 000 0000 0000 00 0000 0000 0bb bbbb aaaa aa aaaa aaaa 0cc cccc bbbb bb bbbb bbbb 0
Figure 2. Framing example
Z Z Z Z Z Z Z Z Z ZSERIAL
DATA IN
ENCODED
DATA OUT
Figure 3. Equivalent serial scrambler circuit
Copyright 1999,2001, Andraka Consulting Group, Inc. All rights reserved.
SMPTE-292 Scrambler and Descrambler/Framer
The input to the scrambler should come directly from theAMCC S8501 via registered inputs to the FPGA (IFDmacros). The descrambler macro does not include theseIOBs to provide flexibility to the designer. Output from thereceiver block is 20 bit data aligned to the 20 bit word. Theuser’s logic should use the header sync output as a markerto aid in recovering the EAV/SAV frame timing. Latencythrough the receiver block is 10 cycles of the word clock(from input word containing MSB of aligned data). Data isalways left shifted to obtain alignment. The core and theregistered inputs should be clocked by the receive wordclock generated by the AMCC S8501 deserializer. The coreuses the rising edge of the clock input throughout.
Core ModificationsThe core is provided as a black box relatively placed macro(RPM). Andraka Consulting Group, Inc can customize orretarget the core for additional cost. This includes adding orremoving blocks, changing the scrambler polynomial, orintegrating the macro into your design. The design sourcedocument (VHDL for Synplicity) is available at additionalcost.
PinoutSignal names for interfacing the cores are shown in figure 1and described in tables 1 and 2. The core must be wired toFPGA I/O pads by the user.
Verification MethodsThe FPGA core was verified through functional simulationand static timing analysis. Functional simulation includedcomparison of the scrambler and descrambler function to thebit serial model presented in this document, and thoroughsimulation of the framing logic. A system simulation wasperformed with the scrambler output serialized, subjected toa variable bit delay, de-serialized and passed trough thereceiver. The results were compared to the input to thescrambler to check for data integrity. A functionally accurateVHDL behavioral model is supplied with the core, and isavailable at no charge upon request.
Table 1. Transmit macro interface signals
Signal SignalDirection
Description
TCLK Input Transmit word clock:74.25 MHz. Same asAMCC S8401reference clock
TXRST Input Synchronous Reset:‘1’ at clock rising edgeclears scrambler
Din[19:0] Input 20 bit parallel datainput. The 10 bit EY
word is input toDin[19:10], The 10 bitECb ECr word is input toDin[9:0]. Data isclocked in on risingedge of TCLK
Dout[19:0] Output Parallel output data toS8401. Bit indexesmatch indexes onS8401. Data changeson rising edge of TCLK
Ordering InformationThis product is available directly from Andraka ConsultingGroup, Inc. Please contact them for further information,pricing, and functional models.
Recommended Design ExperienceUsers should be familiar with SMPTE 292 and relatedstandards, as well as with standard Xilinx tool flows. Theuser should also be familiar with incorporating black boxdesigns into his tool flow.
Related InformationANSI/SMPTE 292M-1996 StandardSMPTE595 West Hartsdale AvenueWhite Plains, NY 10607 USAPhone: +1 914 761 1100Fax: +1 914 761 3115email: [email protected]: www.smpte.org
For information on Xilinx programmable logic ordevelopment system software, contact your local Xilinx salesoffice, or:Xilinx Inc.2100 Logic DriveSan Jose, CA 95124Phone: +1 408-559-7778Fax: +1 408-559-7114URL: www.xilinx.com
For general Xilinx literature, contact:Phone: +1 800-231-3386 (inside the US)
+1 408-879-5017 (outside the US)E-mail: [email protected]
Table 2. Receive macro interface signals
Signal SignalDirection
Description
RCLKN Input Receive word clockfrom S8501 RCLKNpin. Nominally 74.25MHz.
Din[19:0] Input Parallel output datafrom S8501. Bitindexes match indexeson S8501. Data isclocked in on risingedge of RCLKN
Dout[19:0] Output 20 bit parallel dataoutput. The 10 bit EY
word is output fromDout[19:10], The 10 bitECb ECr word is outputfrom Dout[9:0]. Datachanges on rising edgeof RCLKN
Sync Output Header Sync pulse.Logic ‘1’ when 1’s wordof header sync is atDout[19:0], Logic ‘0’otherwise. This signalshould be used forframe synchronizationby the user’s logic.
Copyright 1999,2001, Andraka Consulting Group, Inc. All rights reserved.