Fast A/D sampler FINAL presentation

Slides:



Advertisements
Similar presentations
By Sunil G. Kulkarni, SO/F, Pelletron-Linac Facility, BARC-TIFR. 21/01/2011 ASET.
Advertisements

Nios Multi Processor Ethernet Embedded Platform Final Presentation
Chapter 8 Interfacing Processors and Peripherals.
Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
6-April 06 by Nathan Chien. PCI System Block Diagram.
Bus structures Unit objectives:
Presenter : Cheng-Ta Wu Kenichiro Anjo, Member, IEEE, Atsushi Okamura, and Masato Motomura IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 39,NO. 5, MAY 2004.
1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.
Interfacing mixed signal peripherals by protocols of packet type Emil Gueorguiev Saramov Angel Nikolaev Popov Computer Systems Department, Technical University.
Autonomous Tracking Unit John Berglund Randy Cuaycong Wesley Day Andrew Fikes Kamran Shah Professor: Dr. Rabi Mahapatra CPSC Spring 1999 Autonomous.
FX to FX2: A Comparison. Agenda Block diagram Evolution Hardware Firmware Wrap-up.
Creating and Adding Custom IP
Sundance Multiprocessor Technology SMT702 + SMT712.
Internal Logic Analyzer Final presentation-part B
Internal Logic Analyzer Final presentation-part A
Mid semester Presentation Data Packages Generator & Flow Management Data Packages Generator & Flow Management Data Packages Generator & Flow Management.
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
Conversion Between Video Compression Protocols Performed by: Dmitry Sezganov, Vitaly Spector Instructor: Stas Lapchev, Artyom Borzin Cooperated with:
© 2004 Xilinx, Inc. All Rights Reserved Implemented by : Alon Ben Shalom Yoni Landau Project supervised by: Mony Orbach High speed digital systems laboratory.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Final Presentation Packet I/O Software Management Application PISMA® Supervisor: Mony Orbach D0317 One-Semester Project Liran Tzafri Michael Gartsbein.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
Performance Analysis of Processor Midterm Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh Instructor: Evgeny.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
Technion Digital Lab Project Performance evaluation of Virtex-II-Pro embedded solution of Xilinx Students: Tsimerman Igor Firdman Leonid Firdman.
Final Presentation Momentum Measurement Card Project supervised by: Mony Orbach Project performed by: Hadas Preminger, Uri Niv.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
System Architecture A Reconfigurable and Programmable Gigabit Network Interface Card Jeff Shafer, Hyong-Youb Kim, Paul Willmann, Dr. Scott Rixner Rice.
OS Implementation On SOPC Final Presentation
NS Training Hardware. System Controller Module.
Winter 2013 Independent Internet Embedded System - Final A Preformed by: Genady Okrain Instructor: Tsachi Martsiano Duration: Two semesters
General Purpose FIFO on Virtex-6 FPGA ML605 board midterm presentation
PHY 201 (Blum) Buses Warning: some of the terminology is used inconsistently within the field.
Students: Oleg Korenev Eugene Reznik Supervisor: Rolf Hilgendorf
General Purpose FIFO on Virtex-6 FPGA ML605 board Students: Oleg Korenev Eugene Reznik Supervisor: Rolf Hilgendorf 1 Semester: spring 2012.
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
SLAAC Hardware Status Brian Schott Provo, UT September 1999.
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed.
Buses Warning: some of the terminology is used inconsistently within the field.
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
I/O Example: Disk Drives To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
GBT Interface Card for a Linux Computer Carson Teale 1.
© 2007 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Hardware Design INF3430 MicroBlaze 7.1.
Design and Performance of a PCI Interface with four 2 Gbit/s Serial Optical Links Stefan Haas, Markus Joos CERN Wieslaw Iwanski Henryk Niewodnicznski Institute.
PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010.
Performed by: Yaron Recher & Shai Maylat Supervisor: Mr. Rolf Hilgendorf המעבדה למערכות ספרתיות מהירות הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
1 DSP handling of Video sources and Etherenet data flow Supervisor: Moni Orbach Students: Reuven Yogev Raviv Zehurai Technion – Israel Institute of Technology.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
بسم الله الرحمن الرحيم MEMORY AND I/O.
Performed By: Tal Goihman & Irit Kaufman Instructor: Mony Orbach Bi-semesterial Spring /04/2011.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Vanderbilt University Toshiba IR Test Apparatus Project Final Design Review Ahmad Nazri Fadzal Zamir Izam Nurfazlina Kamaruddin Wan Othman.
PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010.
Genova May 2013 Diego Real – David Calvo IFIC (CSIC – Universidad de Valencia) CLBv2 1.
System on a Programmable Chip (System on a Reprogrammable Chip)
The ALICE Data-Acquisition Read-out Receiver Card C. Soós et al. (for the ALICE collaboration) LECC September 2004, Boston.
Spring 08-Winter 09 semester Satellite Inner communication – SpaceWire & CAN Bus By: Michael Tsitrin, Asaf Modelevsky Instructor: Ina Ravkin הטכניון -
Maj Jeffrey Falkinburg Room 2E46E
Chapter 6 Input/Output Organization
The Complete Solution for Cost-Effective PCI & CompactPCI Implementations 1.
Evolution of S-LINK to PCI interfaces
FPro Bus Protocol and MMIO Slot Specification
Five Key Computer Components
Chapter 13: I/O Systems.
Presentation transcript:

Fast A/D sampler FINAL presentation Presented By: Tal Goihman, Irit Kaufman Instructor: Mony Orbach Winter 2012

Goals Project Goal: Design and implement an A/D system using Xilinx Virtex6 development board for sampling at highest possible rate. Sample to virtex6 development board DDR memory. Transfer the sampled data to PC memory through PCIe and save the data to disk.

PC H/W Block Diagram ML605 development board FMC125 Fast A/D FMC Conn PCI-E Connector FMC Conn Virtex6 FPGA ML605 development board DDR3 FMC125 Fast A/D A/D IC PC

ML605 development board

FMC125 Fast A/D

A/D Sampler The FMC125 is a Quad-Channel ADC that provides four 8-bit ADC channels enabling simultaneous sampling of 1, 2, or 4 channels @ 5 , 2.5 , 1.25Gsps respectively. Problems: 4DSP provides free of charge a reference design only for 4ch @ 1.25Gsps. A reference design for 1ch @ 5Gsps priced at 2300 EU.

4DSP reference design

Design Block Diagram “wormhole” AXI4 Implemented In XPS MicroBlaze DDR3 Memory Controller (MIG) AXI Master UART ADC Control FMC125 Aggregator CDMA PCI Express AXI Slave Mailbox Timer In ISE project Navigator “wormhole” AXI4-lite AXI4

Block Diagram: Main Data Channel FMC125 Aggregator AXI Master DDR3 Memory Controller (MIG) AXI Slave FMC125 delivers data using 4 128-bit lanes of a proprietary bus running at 125Mhz into the aggregator. Aggregator unites and synchronizes the different channels into a 512-bit bus. AXI Master sends the data over a 256-bit wide AXI bus running at 200Mhz to the AXI Slave interface of the Memory Controller. Memory controller handles Writes to DDR3. FIFO’s and H/W Flow control in every component’s input (and some components output) throughout the channel to achieve highest possible bandwidth. Throughput is measured using a timer from the start of the write operation until assertion of a write done signal from the AXI master 16 samples per clock per channel Total 16*4*125Mhz=8GB/s Aggregator synchronizes samples so that all channel’s sample 0 will come together Aggregator works at 125Mhz, has a 4bit channel enable input AXI master throughpuf of 256bit/8*200Mhz=6.25GB/s

AXI Bus background Xilinx has adopted AXI bus, which is a standard bus protocol from ARM used in modern ARM SoC. Characteristics Memory mapped, 32-bit addresses Write Address, write data, write response, read address, read data Variable width, clock & burst length over a single bus.

AXI write example

Memory & Memory controller 512MB DDR3 64-bit @ 400Mhz (800MT/s) Theoretical bandwidth of 800MT/s * 64bit / 8 = 6.25GB/s Main channel matched to this theoretical bandwidth (200Mhz * 256bit /8 = 6.25GB/s) Memory & controller isn’t perfect, has a utilization factor. We achieved 5.13GB/s Throughput (82% utilization!)

Design Block Diagram “wormhole” AXI4 Implemented In XPS MicroBlaze DDR3 Memory Controller (MIG) AXI Master UART ADC Control FMC125 Aggregator CDMA PCI Express AXI Slave Mailbox Timer In ISE project Navigator “wormhole” AXI4-lite AXI4

Block Diagram: memory to PCIe After the data is sampled to memory the system transfers the first chunk to the Host PC’s DMA buffer. The subsequent chunks are transferred upon receiving a command from the Host PC. Data is read from memory and transferred to PCIe by the DMA engine Throughput was matched to PCIe Transferred in 16MB chunks (the chosen DMA buffer size) Address translation occurs in the PCIe core Talk about address translation and the issues we had with it

Block Diagram: PCIe Xilinx Available solutions include: A PCIe integrated block with support for up to x8 gen2. Hard to work with: Need to know inner workings of PCIe Need to implement several proprietary interfaces with many rules and signals A wrapper for memory mapped AXI with support for up to x4 gen1 / x2 gen 2 Connects to a standard AXI4 bus Chosen in our design due to high ROI We chose to use the wrapper due to high ROI x4 gen1 configuration, up to 1GB/s One 64bit AXI BAR for sample data transfer with Configurable address translation, one PCIe BAR for mailbox communication.

Block Diagram: MicroBlaze MicroBlaze is a soft-core processor by Xilinx. Runs firmware written in C from a dedicated 64KB BRAM. Firmware communicates with Host PC’s software through a PCIe mailbox Supports a predefined set of commands to accomplish the functional use case and provide debug capabilities Initializes and configures the entire system per to the Host PC’s instructions. Provide visual status and information to the user through UART massages.

Block Diagram: ADC ctrl ADC ctrl is a custom core deigned to enable MicroBlaze to communicate with other custom cores Developed using the Create peripharel wizrd in XPS and implements mamory mapped register access through AXI4-lite Provides the following capabilities: Translate the wormhole transactions to / from the FMC125 core. Provide AXI Master with burst count, write start, test signals Provides the aggregator with enabled ADC channels

Software Written in C# .NET 4 in VS2012, GUI in WPF Enables simple interaction with the system User adjustable burst size, burst count, active channels, output file location and external trigger mode compatible with Windows 7/8 x64.

Software: Jungo WinDriver Easy driver creation Simple interface for DMA buffer allocation, read and write operations Slightly problematic from a .NET environment since it lacks proper documentation, and the wizard generates a non working solution Reference for .NET and DMA was found in a bundled example for PLX chips

Test Environment Verification of sampled data on DDR3 is accomplished by firmware on MicroBlaze comparing read data with predetermined written pattern FMC125 incoming data is observable through ChipScope. Bandwidth was calculated by measuring the time to write a chunk of data using a Timer. Data transfer from memory to PCIe is validated through observing the memory on system and comparing with the data received from PCIe manually.

Questions? Thanks

Backup Documantaion