Simulation Interface Final Presentation

36
Simulation Interface Simulation Interface Final Presentation Final Presentation Guy Zur Eithan Nadir Instructor : Igal Kogan

description

Simulation Interface Final Presentation. Guy Zur Eithan Nadir Instructor : Igal Kogan. Project Goal:. Quick Overview:. Design and implementation of a generic signal generator for test procedures of DUT (Device Under Test) by using SoPC platform. Requirements. - PowerPoint PPT Presentation

Transcript of Simulation Interface Final Presentation

Page 1: Simulation Interface Final Presentation

Simulation InterfaceSimulation InterfaceFinal PresentationFinal Presentation

Guy Zur

Eithan Nadir

Instructor : Igal Kogan

Page 2: Simulation Interface Final Presentation

Project Goal:

• Design and implementation of a Design and implementation of a generic signal generator for test generic signal generator for test procedures of DUT (Device Under procedures of DUT (Device Under Test) by using SoPC platform.Test) by using SoPC platform.

Quick Overview:

Page 3: Simulation Interface Final Presentation

RequirementsRequirements

• Receive global parameters from a PC.Receive global parameters from a PC.

• Processing of the parameters using Processing of the parameters using Embedded 32bit RISC Processor.Embedded 32bit RISC Processor.

• Design of the unique signal generator Design of the unique signal generator controllers.controllers.

• Design a feedback module with digital Design a feedback module with digital signal processing capabilities.signal processing capabilities.

Page 4: Simulation Interface Final Presentation

Virtex II Pro

PowerPC405

Core

Logic Cells

RAMs

Project resourcesProject resources

• Evaluation Platform Evaluation Platform – XUPV2PXUPV2P

• FPGA : FPGA :

Virtex II Pro platform architecture Virtex II Pro platform architecture

• Processor :Processor :PowerPC 405PowerPC 405

Page 5: Simulation Interface Final Presentation

Working PhasesWorking Phases1.1.General Tester – CoreGen General Tester – CoreGen ControllerController

PPC

ethernet Web server

MemoryDouble Buffer

Control unit

DUT

DSP

Xsgacntrlr

Page 6: Simulation Interface Final Presentation

Working PhasesWorking Phases1.1.General Tester General Tester

• Transmit time slot data through the Transmit time slot data through the Ethernet.Ethernet.

• Store it in the ddr, using PPC. Store it in the ddr, using PPC. • Extract the data from the ddr DIMM by Extract the data from the ddr DIMM by

control_unit ip and deliver it to the DUT.control_unit ip and deliver it to the DUT.• A special arbiter decides who has A special arbiter decides who has

access to the memory.access to the memory.• Memory controller is based on xilinx’s Memory controller is based on xilinx’s

MIG. MIG.

Page 7: Simulation Interface Final Presentation

Working PhasesWorking Phases1.1.General Tester – control unitGeneral Tester – control unit

Data Control unit

Memory Interface

Connecting to the memory using arbiter interface

Data

16

Cntrl

8

Over plb

interface

Pixels’ valid

8

64

Page 8: Simulation Interface Final Presentation

Working PhasesWorking Phases1.1.General Tester – control unit - General Tester – control unit - internalinternal

Data

PLBmodule

Frame Start

64

User input addr[22:0]

User bank addr[1:0]

User config reg[9:0]

User dm[7:0]

User input data[127:0]

User cmd ack

User data valid

User output data[127:0]

Auro ref req

Rst_dqs_div_out

Init val

ar_done

Arbitration logicWr_data_fifo

32

12

8

Rd_req

rd_data_fifo

32

12

8

Data read[31:0]

Control unit interface

DIMM Interface

Page 9: Simulation Interface Final Presentation

Working PhasesWorking Phases1.1.General Tester – dsp unit - General Tester – dsp unit - internalinternal

DSP

Xsgacntrlr

Pixels data 8

Pixels’ valid

8

VGA_OUT_RGB

24

VGA_COMP_SYNCH

VGA_OUT_BLANK_Z

VGA_OUT_PIXEL_CLK

Controls

8

Page 10: Simulation Interface Final Presentation

Working PhasesWorking Phases1.1.General Tester - Work planGeneral Tester - Work plan

1.1. Understanding the DIMM :Understanding the DIMM :1.1. mimic the data received by the Ethernet mimic the data received by the Ethernet a a

function that writes to the memory.function that writes to the memory.

2.2. Implement a DIMM controller using Xilinx Implement a DIMM controller using Xilinx CoreGen.CoreGen.

3.3. Impliment the Arbiter.Impliment the Arbiter.

4.4. Simulate the controller with the arbiter.Simulate the controller with the arbiter.

5.5. Make a DIMM model to work with the DIMM Make a DIMM model to work with the DIMM controller.controller.

6.6. read this data using hardware interface and read this data using hardware interface and write it to the uart. write it to the uart.

DoneDone √ √DoneDone √ √

DoneDone √ √ Fail X

Fail X

Page 11: Simulation Interface Final Presentation

Working PhasesWorking Phases1.1.General Tester - Work planGeneral Tester - Work plan

2.2. Impliment the control Unit and test Impliment the control Unit and test it with the uart.it with the uart.

3.3. Impliment the Xsga Controller.Impliment the Xsga Controller.1.1. Understand the VGA interface.Understand the VGA interface.

2.2. Design a debug mode which write a Design a debug mode which write a test pattern picture on the screen test pattern picture on the screen

Page 12: Simulation Interface Final Presentation

22..General TesterGeneral Tester– – DDR-PLB ControllerDDR-PLB Controller

Page 13: Simulation Interface Final Presentation

Working PhasesWorking Phases2.2.General Tester – DDR-PLB ControllerGeneral Tester – DDR-PLB Controller

• Changing the strategy above. Changing the strategy above. instead of using a DMA, PPC = instead of using a DMA, PPC = DMA controller. DMA controller.

• The read fifo of the Control unit The read fifo of the Control unit produce interrupts- according to produce interrupts- according to these interrupts the system will these interrupts the system will then fetch the next streaming data then fetch the next streaming data from the memory.from the memory.

Page 14: Simulation Interface Final Presentation

Working PhasesWorking Phases2.2.General Tester – DDR-PLB ControllerGeneral Tester – DDR-PLB ControllerBuilt DesignBuilt Design

Page 15: Simulation Interface Final Presentation

Working PhasesWorking Phases2.2.General Tester – DDR-PLB ControllerGeneral Tester – DDR-PLB Controller

• We assumed that by working with We assumed that by working with processor clock of 300Mhz , using processor clock of 300Mhz , using the 64bit of the plb and reading the 64bit of the plb and reading 16bit@100Mhz, We can produce the 16bit@100Mhz, We can produce the proper rate.proper rate.

Page 16: Simulation Interface Final Presentation

Working PhasesWorking Phases2.2.General Tester – DDR-PLB ControllerGeneral Tester – DDR-PLB ControllerControl UnitControl Unit

Control unitPLB IPIF User Logic

fifo

FIFO EMPTY

HALF EMPTY

Data Out

Page 17: Simulation Interface Final Presentation

Working PhasesWorking Phases2.2.General Tester – DDR-PLB ControllerGeneral Tester – DDR-PLB ControllerSVGA CNTRLRSVGA CNTRLR

Page 18: Simulation Interface Final Presentation

Working PhasesWorking Phases2.2.General Tester – DDR-PLB ControllerGeneral Tester – DDR-PLB ControllerSimulationSimulation

• We simulated the design in Hdl simulation tool • Surprise: The plb uses only the lower 32 bits.• Result: We had severe timing problem. • We couldn’t simulate the interrupt controller, but

in general, our control unit seemed to work fine and the special control unit drivers seemed to work properly.

• We’ve enabled user logic address range support, software slave registers and interrupt support.

• We have spent a great deal of time understanding the IPIF protocol of the above interfaces with the plb_controller.

Page 19: Simulation Interface Final Presentation

Working PhazesWorking Phazes2.2.General Tester – DDR-PLB ControllerGeneral Tester – DDR-PLB ControllerReal TimeReal Time

• The above design has been built and compiled

• On the hard way we discovered that the interrupts are called ALL THE TIME. we are actually in a constant underflow state of the fifo inside the control unit.

• THIS IS A DESIGN BUG THAT COULDN’T BE RESOLVED

Page 20: Simulation Interface Final Presentation

Working PhazesWorking Phazes2.2.General Tester – DDR-PLB ControllerGeneral Tester – DDR-PLB ControllerReal TimeReal Time

• Demonstration

Page 21: Simulation Interface Final Presentation

33.. TransmitTransmit a Bitmap Picturea Bitmap Picture

Over the EthernetOver the Ethernet

Page 22: Simulation Interface Final Presentation

Working PhasesWorking Phases3.3.General Tester – Transmit a Bitmap General Tester – Transmit a Bitmap Picture Over the EthernetPicture Over the Ethernet

Page 23: Simulation Interface Final Presentation

Working PhasesWorking Phases3.3.General Tester – Transmit a Bitmap General Tester – Transmit a Bitmap Picture Over the EthernetPicture Over the EthernetServer and ClientServer and Client

• Using Xilnet Libs we have developed a server that listens to a specific port.

• Whenever a client requests the server response and receives data.

Page 24: Simulation Interface Final Presentation

Working PhasesWorking Phases3.3.General Tester – Transmit a Bitmap General Tester – Transmit a Bitmap Picture Over the EthernetPicture Over the Ethernet

• We have designed a special FTP protocol. The client transmit size of a file (in bytes), and instantly transmits the file.

Page 25: Simulation Interface Final Presentation

Working PhasesWorking Phases3.3.General Tester – Transmit a Bitmap General Tester – Transmit a Bitmap Picture Over the EthernetPicture Over the EthernetPLB tft controllerPLB tft controller

• While on the previous phase we used a pure hardware controller, the plb_ftf controller is xilinx’s IP designed to write to the xsga controller using the plb.

• We have written a function that produces test pattern and transmits it to the screen.

• As well as another function that accesses a memory address (on the ddr – because of the size) and transmits it to the screen.

Page 26: Simulation Interface Final Presentation

Working PhasesWorking Phases3.3.General Tester – Transmit a Bitmap General Tester – Transmit a Bitmap Picture Over the EthernetPicture Over the Ethernet

• Demonstration + Bug Explanation

Page 27: Simulation Interface Final Presentation

44.. Streaming DataStreaming Data TransmissionTransmission

using the Svga controllerusing the Svga controller

Page 28: Simulation Interface Final Presentation

Working PhasesWorking Phases4.4.General Tester General Tester – – Streaming Data Streaming Data transmitted using the svga controllertransmitted using the svga controller

Page 29: Simulation Interface Final Presentation

Working PhasesWorking Phases4.4.General Tester General Tester – – Streaming Data Streaming Data transmitted using the svga controllertransmitted using the svga controllerstream Unitstream Unit

Page 30: Simulation Interface Final Presentation

Working PhasesWorking Phases4.4.General Tester General Tester – – Streaming Data Streaming Data transmitted using the svga controllertransmitted using the svga controllerstream Unitstream Unit

• Receives data (4BX1KB)from the opb, store it in a DPR 4BX2K.

• This dpr is divided into two. Once a load command receives the msb of read address is switched.

• Write clock is opb clk• Read clock is screen clk• The memory range is divided such that in

base address located control registers test mode/ switch addresses ranges.

• Base address + 0x10= write data to the Base address + 0x10= write data to the dpr.dpr.

Page 31: Simulation Interface Final Presentation

Working PhasesWorking Phases4.4.General Tester General Tester – – Streaming Data Streaming Data transmitted using the svga controllertransmitted using the svga controllerstream Unitstream Unit - internal- internal

Page 32: Simulation Interface Final Presentation

Working PhasesWorking Phases4.4.General Tester General Tester – – Streaming Data Streaming Data transmitted using the svga controllertransmitted using the svga controllerSoftwareSoftware

• Accessing the stream unit is divided to two as mentioned above. Lets follow the next example

• //clearing the control registers• XIo_Out32(XPAR_STREAM_UNIT_0_AR0_BASEADDR,

0x0);• //turn test mode on • XIo_Out32(XPAR_STREAM_UNIT_0_AR0_BASEADDR , 0x1);

//test mode • //switch memory array primary to secondary or vice

versa. • XIo_Out32(XPAR_STREAM_UNIT_0_AR0_BASEADDR ,

0x2);//load done• //clear the req above• XIo_Out32(XPAR_STREAM_UNIT_0_AR0_BASEADDR , 0x0);

// clear load

Page 33: Simulation Interface Final Presentation

Working PhasesWorking Phases4.4.General Tester General Tester – – Streaming Data Streaming Data transmitted using the svga controllertransmitted using the svga controllerSoftwareSoftware

//write pixels data:• for(i=0; i< 1024;i++) • {• //set RGB values • r=0xFF;• g=0;• b=0;• pixel=r;• pixel= pixel << 8;• pixel += g;• pixel= pixel << 8;• pixel += b;• XIo_Out32(XPAR_STREAM_UNIT_0_AR0_BASEADDR + 0x10+i*4,i);• }• XIo_Out32(XPAR_STREAM_UNIT_0_AR0_BASEADDR , 0x2);//load done• XIo_Out32(XPAR_STREAM_UNIT_0_AR0_BASEADDR , 0x0); // clear

load STREAM_UNIT_Load (XPAR_STREAM_UNIT_0_AR0_BASEADDR);

Page 34: Simulation Interface Final Presentation

Working PhasesWorking Phases4.4.General Tester General Tester – – Streaming Data Streaming Data transmitted using the svga controllertransmitted using the svga controller

Demonstration

Page 35: Simulation Interface Final Presentation

Working PhasesWorking PhasesGeneral Tester General Tester – – Streaming Data Streaming Data transmitted using the svga controllertransmitted using the svga controller

• Questions ? ? ?

Page 36: Simulation Interface Final Presentation

F I N