PROJECT - ZYNQ Yakir Peretz 034727008 Idan Homri 300257219 Semester - winter 2014 Duration - one semester.

Slides:



Advertisements
Similar presentations
Cortex-M3 Implementation Overview. Chapter 6 in the reference book.
Advertisements

Computer Organization, Bus Structure
I/O Organization popo.
INPUT-OUTPUT ORGANIZATION
Input and Output CS 215 Lecture #20.
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
Programmable Interval Timer
Chapter 10 Input/Output Organization. Connections between a CPU and an I/O device Types of bus (Figure 10.1) –Address bus –Data bus –Control bus.
Chapter 10 Input / Output Organization CS 147 Yueyang Zhou.
Internal Logic Analyzer Final presentation-part B
Internal Logic Analyzer Final presentation-part A
The 8085 Microprocessor Architecture
Data Protection Card Submit: Assaf Matia Technion Guide: Eran Segev Rafael Guide: Henri Delmar Winter & Spring 2004.
DIRECT MEMORY ACCESS CS 147 Thursday July 5,2001 SEEMA RAI.
1 Matrix Multiplication on SOPC Project instructor: Ina Rivkin Students: Shai Amara Shuki Gulzari Project duration: one semester.
Asynchronous Pipelined Ring Interconnection for SoC Final Presentation One semester project, Spring 2005 Supervisor: Nitzan Miron Students: Ziv Zeev Shwaitser.
1 Project supervised by: Dr Michael Gandelsman Project performed by: Roman Paleria, Avi Yona 12/5/2003 Multi-channel Data Acquisition System Mid-Term Presentation.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
I/O Subsystem Organization and Interfacing Cs 147 Peter Nguyen
Anush Rengarajan Feng Zheng Thomas Madaelil
1 Input/Output Chapter 3 TOPICS Principles of I/O hardware Principles of I/O software I/O software layers Disks Clocks Reference: Operating Systems Design.
PS2 Keyboard Interface Using Spartan-3 Starter Kit Board
INPUT-OUTPUT ORGANIZATION
General Purpose FIFO on Virtex-6 FPGA ML605 board midterm presentation
Final presentation Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter 2013 Part A.
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.
Project – Video manipulator (based on Zed Board) Final presentation
USB host for web camera connection
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Sub- Nyquist Sampling System Hardware Implementation System Architecture Group – Shai & Yaron Data Transfer, System Integration and Debug Environment Part.
Input/OUTPUT [I/O Module structure].
Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.
MICROPROCESSOR INPUT/OUTPUT
Computer Architecture Lecture 8 by Engineer A. Lecturer Aymen Hasan AlAwady 30/12/2013 University of Kufa - Informatics Center for Research and Rehabilitation.
집적회로 Spring 2007 Prof. Sang Sik AHN Signal Processing LAB.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010.
Supervisor: INA RIVKIN Students: Video manipulation algorithm on ZYNQ Part B.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
CH10 Input/Output DDDData Transfer EEEExternal Devices IIII/O Modules PPPProgrammed I/O IIIInterrupt-Driven I/O DDDDirect Memory.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
FPGA Calculator Core Final Presentation Chen Zukerman Liran Moskovitch Advisor : Moshe Porian Duration: semesterial December 2012.
Project Final Semester A Presentation Implementing a compressor in software and decompression in hardware Presents by - Schreiber Beeri Yavich Alon Guided.
Performed by: Dor Kasif, Or Flisher Instructor: Rolf Hilgendorf Jpeg decompression algorithm implementation using HLS PDR presentation Winter Duration:
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Introduction to Microprocessors - chapter3 1 Chapter 3 The 8085 Microprocessor Architecture.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
IT3002 Computer Architecture
Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi-Semesterial. Winter 2012/2013 3/12/2012.
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.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Internal Logic Analyzer Characterization presentation By: Moran Katz and Zvika Pery Mentor: Moshe Porian Dual-semester project Spring 2012.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Design with Vivado IP Integrator
Internal Logic Analyzer Middle presentation-part A By: Moran Katz and Zvika Pery Mentor: Moshe Porian Dual-semester project Spring 2012.
Maj Jeffrey Falkinburg Room 2E46E
Lab 4 HW/SW Compression and Decompression of Captured Image
ENG3050 Embedded Reconfigurable Computing Systems
Highly Efficient and Flexible Video Encoder on CPU+FPGA Platform
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
RTL Design Methodology
Chapter 13: I/O Systems.
Presentation transcript:

PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester

PROJECT GOALS  Creating a system that enables reading images from an external device, saving it in the memory and displaying it by RGB.  Creating a programmable logic design that will handle the transportation of the data from the main memory to the output via video direct mapped accessed (VDMA) component.

WHAT WAS DONE SO FAR  Learning the VIVADO tool – IP generator, synthesis, implementation and simulation using the labs provided by xilinx.  Learning the SDK environment – software part of the project. Writing C/C++ code to check and debug the hardware (in progress).  Understanding the implementation of the components being used in the PL side:  Learning the VDMA, video timing controller, stream to video into details:  Concept – understanding the way the unit works, and what are the parts we will use for our project  Interface – understand the purpose and use of each port, and define the ports we will use.  Connection with the other units.  Creating the system – connect all components into a system  Learning the format in which the picture is saved in the memory, and the transformation to an RGB format (in progress).

BLOCK DIAGRAM AXI stream

GENERAL EXPLANATION FOR THE DATA TRANSFER 1. The data is loaded from an external device, connected to a UART input on the board. 2. The UART input is connected to the processor. With a matlab code we are reading the data sent to the UART and saving it in a buffer. Since the data is now saved in the program and we want it to be in a specific location in the DDR memory, we now write it to the physical location in VHDL code. 3. Now the ZYNQ processor is triggering the VDMA by sendin the start address of the data in the memory, and the size on an AXI_LITE. 4. The data is then being transferred to the VDMA and saved in a frame buffer, ready to be streamed to the output. The transportation of the data is executed using the memory controller and the VDMA on an AXI4 bus, thus much faster since there is no need for processor intervention. 5. The ARM is responsible for supplying the signals for the operation initialization and the information regarding the size and address of the data. This is done on the AXI-lite bus

5. The VDMA then outputs the data to a stream to video out component that is responsible for the streaming of the data in a RGB format. 6. The responsibility for timing this whole process is on the “video timing controller”. This is a component that gets input signals regarding the starting of a transfer, and generates sync signals to the components in order to enable a correct data transfer. 7. Once the operation of tranfering a frame is done the processor receives a signal from the VDMA, telling him that this data transfer is over with.

THE CONCEPT BEHIND THE DATA FLOW  The data that is going thru our system is making a long way before getting to the output port. Why is that, and why isn’t it connected directly?  the transportation of the data from an external device is very slow, and we probably wont be able to see a movie that way.  With that said, the data should be saved in an internal memory, and then go out, since the communication with this memory is much faster.  Why then, do we need the VDMA component?  Since the memory is not always available to communicate with our process, we save it in the buffer on the VDMA, and then transfer it out thru a stream to video out component.  The stream to video out is responsible for taking our data and generate the frame in the wanted format. Meaning taking the data saved as pixels in one way and display it in our way (RGB).

FULL SYSTEM VIEW Axi 4 Axi stream Axi lite

PS SIDE OVERVIEW To VDMA via Axi lite To VDMA via AXI-4

CLOCKS IN THE SYSTEM  The system is working with 3 busses to transfer data:  AXI4 – to transfer the data from the memory to the VDMA, controlled by the memory controller.  AXI4 – lite – for communication between the processor and the VDMA regarding the control and status of the data transfer.  AXI4 – stream – to transfer the data that is saved in the VDMA to the output thru the “AXI stream to video out” component  Each of this busses is working with it’s own clock. Thus we have 3 potential clocks in the design.  The clocks are generated in the PS side and supplied to the system.  Since the VDMA is connected to all 3 buses it has 3 ports for that purpose. That way by defining the clocks frequencies we can control the data flow.

EXCEPTIONS  For the flow to work correctly we must set the memory mapped side of the VDMA to work faster then the streaming side.  The clock of the AXI_Lite must be <= AXI4  those are exceptions defined by the VDMA user guide

REGISTER DEFINITIONS  VDMA – page16 and on  Video timing controller – page 30 and on

GANT