14
GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring 2012

GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

Embed Size (px)

Citation preview

Page 1: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

1

GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD

MIDTERM PRESENTATION

STUDENTS:

OLEG KORENEV

EUGENE REZNIK

SUPERVISOR:

ROLF HILGENDORF

Semester: spring 2012

Page 2: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

2

CONTENT

1. Project overview

2. Goals

3. Specifications

4. HW Block Diagram

5. MEMORY on ml605

6. AXI4

7. Design Block Diagram

8. Accomplished so far

9. Workflow

10. Timeline

Page 3: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

3

PROJECT OVERVIEW

Design and implementation of General Purpose FIFO IP core which allows usage of external memory (DDR3) as FIFO storage on Xilinx FPGA device

• Design and implement generic IP core of FIFO

• Design and implement GUI generator of IP core on PC

• Create sample design with implemented IP core

Page 4: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

4

OUR GOALS•Gain experience in hardware development

(VHDL environment)•Explore and expertise FPGA work environment

•Create design with configurable

• word size• FIFO depth

•Achieve best performance

•Minimize usage of FPGA resources

•Make our world a better place

Page 5: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

5

SPECIFICATIONS

Hardware• Xilinx Virtex-6 ML605 FPGA Evaluation Kit

• DDR III memory• Ethernet interface• PCIe interface

• PC with Ethernet interface

Software• ISE Design Suite Logic Edition Version 13.2• Modelsim

Page 6: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

PC

HW BLOCK DIAGRAM

6

ML605 BOARD

DDR3 MEMORY

VIRTEX6

USER DESIGN

FIFO CORE

ETHERNET/PCIe

Page 7: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

7

MEMORY ON ML605 DDR3 memory

• Capacity: 512MB

• Max theoretical bandwidth: 800MT/s*64bit = 6.4GB/sec

Xilinx provides us with DDR3 controller which has AXI Memory Mapped interface

• AXI bus data width up to 1024 bit

• 256 bit for max memory performance, assuming bus works with 200Mhz

Page 8: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

8

4AXI

Xilinx provides us with AXI4 Memory Mapped bus, which is a standard bus used in modern ARM SoC.

Features

• Separate Address/Control and Data Phases• burst-based transactions with only start address issued• separate read and write data channels

Page 9: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

DESIGN BLOCK DIAGRAM

9

DDR3HOST STORAGE LOGIC STORAGE USER STORAGE

MEMORY CONTROLLER

AXI4 BUS (INTERCONNECT)

ARBITER / CONTROLLER

MEMORY TO FIFO

FIFO

Ethernet Interface

LOGIC

User Interface

ETHERNET

HOST

FIFO TO MEMORY

FIFO

MEMORY TO FIFO

FIFO

FIFO TO MEMORY

FIFO

Page 10: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

DESIGN BLOCK DIAGRAM

10

DDR3HOST STORAGE LOGIC STORAGE USER STORAGE

MEMORY CONTROLLER

AXI4 BUS

ARBITER / CONTROLLER

MEMORY TO FIFO

FIFO

LOGICEMULATOR

User Interface

FIFO TO MEMORY

FIFO

MEMORY TO FIFO

FIFO

FIFO TO MEMORY

FIFO

User Interface

Page 11: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

11

ACCOMPLISHED SO FARExternal interface

• Defined basic FIFO interface• Defined word size limitation as 32 up to 1024 bit• Studied features and integrated AXI4 memory mapped bus• Connected DDR3 to AXI bus

Internal architecture

• Implemented memory arbiter with basic functionality, connected to AXI bus as master

• Implemented internal FIFO-To-Memory controller• Implemented internal Memory-To-FIFO controller• Implemented basic emulator of user logic for testing

Page 12: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

12

PROBLEMSPlacement in FPGA

• We did not succeeded to place synthesized memory controller on chip.

Design

• In which policy should memory arbiter work• Ethernet or PCIe?

Page 13: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

13

WORKFLOW

Add AXI Interconnect for enabling User Logic to use memory

Improve AXI arbiter for best performance

Studying usage of Ethernet for communication with PC

• Integrating Ethernet controller with AXI stream interface into design

Verification of design in hardware

Implementing GUI for generating FIFO IP core

Testing

Implementing sample design

Page 14: GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD MIDTERM PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester: spring

14

TIMELINE2/9 26/8 19/8 12/8 5/8 29/7 exams 24/6 17/6 Duration Task

1 week Integrate AXI interconnect into design

2 weeks Complete AXI arbiter functionality

2 weeksStudying and integrating Ethernet controller into design

3 weeksVerification design in hardware including communication with PC

1 week Part A Presentation