1Spring 2003 EECS150 lec11-proj1Page 1EECS150 - Digital DesignLecture 11 – Project Description Part 1February 25, 2003John Wawrzynek/Sandro PintzSpring 2003 EECS150 lec11-proj1Page 2VidFXLinuxCommandServernetworkVidFXBoardVidFXBoard• Video stream is decoded, processed, and redisplayed• Commands are sent from Linux server• The receiver gets a command from the networked linux server. It decodes the command and dynamically changes the video processing• Every team receives a private MAC address, NOT TO BE SHARED!• Everyone (working in groups of 2) will design, implement, debug, and demo a VidFX system on the Calinx board.• No audio requirement this semester.Spring 2003 EECS150 lec11-proj1Page 3VidFXVideoDecodeAsyncFifoSdramControlVideoEncodeSync FifoNetworkInterfaceSpecialEffectsSDRAMControlData3232 323232 3288Control27 MHz (Camera)27 MHz (VideoEncoder)25 MHz(Network)27 MHz (VideoEncoder)ADV7194ADV7185ITU 601/656ITU 601/656compositevideocompositevideoPHYcontrolcontrolcontrolcontrolFPGASpring 2003 EECS150 lec11-proj1Page 4Calinx BoardFlash Card & Micro-drive PortVideo Encoder & DecoderAC ’97 Codec & Power AmpVideo & Audio PortsFour 100 Mb Ethernet Ports8 Meg x 32SDRAMQuad Ethernet TransceiverXilinxVirtex 2000ESeven Segment LED DisplaysPrototype Area2Spring 2003 EECS150 lec11-proj1Page 5Outline1. Rough calculations / feasibility 2. Network Side–LANs–Network stacks– Ethernet– 125 Network Architecture – VidFX Packet Format– Calinx Network Interface 3. Video Side– Digital Bideo Basics– Examp Video Standard– Calinx Video Interface (encoder/decoder)– Video Effects Processing4. Frame-Buffer Design5. VidFX High-level Organization6. Review of Schedule and Design Checkpoints Spring 2003 EECS150 lec11-proj1Page 6“Back of the Envelope” Calculations• Normally Digital Video is compressed for transmission over networks:– Common standard is MPEG-2, designed for digital broadcast television level– 720x480 pixels per frame and 30 frames/sec.– Compressed bandwidth is ≤ 15 Mb/s– Compression: Spatial and Temporal• For simplicity with VidFX we will work with uncompressed NTSC videoonly.– 1 Pixel = Picture Element (Dot on Screen)– 858 Pixels / Line– 525 Lines / Frame– 29.97 =~ 30 Frames/Sec– 720 Active Pixels / Line– 487 Active (Viewable) Lines / Frame– Our Cameras: 507 Non-Blanking Lines – Interlaced Video (Next Class)• Calinx board has 4 100 Mbit network interfaces. We will use only one of them (white network)Spring 2003 EECS150 lec11-proj1Page 7Memory Bandwith Requirements720 pixels/line * 507 lines/frame = 36,504 pixels/frame36,504 pixels/frame * 30 frames/sec = 10,951,200 pixels/sec10,951,200 pixels/sec * 2 bytes/pixel = 21,902,400 bytes/secread and write frame buffer operation -> 43,804,800 bytes/sec27,000,000 cycles/sec8 cycles/op= 3,375,000 ops/sec16 bytes/op * 3,375,000 ope/sec = 54,000,000 bytes/sec• Bandwidth Requirements:• Bandwidth Availability:• BANDWIDTH IS VERY HIGHLY UTILIZED:81 + %• Design Memory Controller Very EfficientlySpring 2003 EECS150 lec11-proj1Page 8Ethernet Frame CalculationsInterFrame Gap (96 bit times) 12 BytesMAC Preamble (+SFD) 8 BytesMAC Destination Address 6 BytesMac Source Address 6 BytesMAX Type (or Length) 2 BytesPayload (Network PDU) 500 Bytes (for example)Check Sequence (CRC) 4 BytesTotal Physical Size 538 BytesMaximum packet rate:Ethernet Data Rate / Total Packet Physical Size100 Mb/s ÷ 8 b/Bytes ÷ 538 Bytes = 23,234 packets/secLink layer throughput:packet rate • size of packet payload = 23,234 • (500 • 8) = 92,936,803 b/s3Spring 2003 EECS150 lec11-proj1Page 9Local Area Network (LAN) Basics• A LAN is made up physically of a set of switches, wires, and hosts. Routers and gateways provide connectivity out to other LANs and to the internet.• Ethernet defines a set of standards for data-rate (10/100/1000 Mbps), and signaling to allow switches and computers to communicate. • Most Ethernet implementations these days are “switched” (point to point connections between switches and hosts, no contention or collisions).• Information travels in variable sized blocks, called Ethernet Frames, each frame includes preamble, header (control) information, data, and error checking. We will call them packetsto avoid confusion with video frames.• Preamble is a fixed pattern used by receivers to synchronize their clocks to the data.• Link level protocol on Ethernet is called the Medium Access Control (MAC) protocol. It defines the format of the packets.switchswitchhosthosthost hostswitchhostto router or gatewayPreamble MAC Payload CRC(8 bytes) headerSpring 2003 EECS150 lec11-proj1Page 10Ethernet Medium Access Control (MAC)• MAC protocol encapsulates a payload by adding a 14 byte header before the data and a 4-byte cyclic redundancy check (CRC) after the data.• The CRC provides error detection in the case where line errors result in corruption of the MAC frame. Any frame with an invalid CRC should discarded by the MAC receiver without further processing. Ethertypes for EECS150 VidFX: 0x0111(picked from the range of “experimental” type codes to avoid potential conflict.For VidFX:– One way transmission only.– Switches will not learn -> all packets will be broadcasted -> YOU NEED TO FILTER FOR YOUR DESTINATION MAC ADDRESS.• A 6-byte destination address, specifies either a single recipient node (unicastmode), a group of recipient nodes (multicast mode), or the set of all recipient nodes (broadcast mode). • A 6-byte source address, is set to the sender’s globally unique node address. Its main function is to allow address learning which may be used to configure the filter tables in switches. • A 2-byte type field, identifies the type of protocol being carried (e.g. 0x0800 for IP protocol). Spring 2003 EECS150 lec11-proj1Page 11Protocol Stacks• Usual case is that MAC protocol encapsulates IP (internet protocol) which in turn encapsulates TCP (transport control protocol) with in turn encapsulates the application layer. Each layer adds its own headers.• Other protocols exist for other network services (ex: printers).• When the reliability features (retransmission) of TCP are not needed, UDP/IP is used. Gaming and other applications where reliability is provided at the application layer.application layerex: httpTCPIPMACLayer 2Layer 3Layer 4Layer 5Streaming Ex. Mpeg4UDPIPMACLayer 2Layer 3Layer 4Layer 5Spring 2003 EECS150 lec11-proj1Page 12VidFX Packet
View Full Document