OHW2013 workshop

An open source PCIe device virtualization framework

Plan

• Context and objectives • Design and implementation • Future directions • Questions

Context - ESRF and the ISDD electronic laboratory

The ESRF is an XRAY light source for Europe located in Grenoble, France. The ISDD electronic laboratory mission is to develop and investigate XRAY instrumentation electronics.

Context - RASHPA

• • • •

high bandwidth data acquisition framework for 2D XRAY detectors Intel X86 64 workstation KC705 prototype board, PCIe over cable see ICALEPCS poster session

Context - DCORE

• generic data acquisition and control boards • Intel ATOM CPU • Xilinx Spartan6 FPGA

Context - DUB

• project specific readout electronics • Intel ATOM CPU • Xilinx Virtex6 FPGA

VPCIe - rationale

The above boards rely on PCIe as the default CPU to FPGA communication link. VPCIe is a framework made to virtualize these platforms on a standard desktop PC.

VPCIe - objectives

• CPU software must run unmodified (including drivers) • few modifications allowed for functional VHDL simulation • run multiple PCIe devices concurrently • performances not critical

VPCIe - benefits

• hardware software codesign • reduce development cycle time • platform scaling (multiple PCIe devices) • test with different CPU architectures (INTEL, ARM ...) • investigate unavailable technologies (NVM EXPRESS ...) • testing (fault injection ...)

VPCIe - concepts

Applications on a host machine access hardware via interfaces. By instrumenting these interfaces, one can redirect the accesses to a software implementing the device. The device is said to be virtualized.

VPCIe - building blocks

VPCIe relies on opensource projects QEMU • http://wiki.qemu.org/Main Page • architecture emulator (X86 64, ARM ...) • used to trap PCIe hardware accesses

GHDL • http://ghdl.free.fr • VHDL frontend for GCC • used to implement device in VHDL

VPCIe - CPU virtualization

Full featured LINUX system • runs in a QEMU virtual machine • PCIe accesses are trapped and sent over TCP to the devices • PCIe forwarder is available as a QEMU patch I maintainers contacted for a merge

VPCIe - device virtualization

Virtual devices • can be implemented in C or VHDL I I

GHDL is used to compile VHDL into a native executable a glue interfaces the executable to the VPCIe runtime

• run as a LINUX processes, can be duplicated at will • PCIe made simple, focus on device logic I but close to the XILINX PCIe transaction layer

VPCIe - implementation

VPCIe - EBONE based example

EBONE is a PCIe centric FPGA core interconnect developped at the ESRF and recently released on OHR (http://www.ohwr.org/projects/e-bone). Excluding the PCIe layer, most of the VHDL remains unchanged in a typical EBONE based design.

VPCIe - virtualized device VHDL interface

entity endpoint i s port ( rst : in std ulogic ; clk : in std ulogic ; req req req req req

en : wr : bar : addr : data :

out out out out out

std std std std std

ulogic ulogic ulogic ulogic ulogic

; ; v e c t o r ( p c i e . BAR WIDTH − 1 downto 0 ) ; v e c t o r ( p c i e . ADDR WIDTH − 1 downto 0 ) ; v e c t o r ( p c i e . DATA WIDTH − 1 downto 0 ) ;

rep en : rep data :

in std ulogic ; i n s t d u l o g i c v e c t o r ( p c i e . DATA WIDTH − 1 downto 0 ) ;

mwr mwr mwr mwr

in in in in

en : addr : data : size :

msi en : ); end e n t i t y ;

std std std std

ulogic ulogic ulogic ulogic

in std ulogic

; v e c t o r ( p c i e . ADDR WIDTH − 1 downto 0 ) ; v e c t o r ( p c i e . PAYLOAD WIDTH − 1 downto 0 ) ; v e c t o r ( p c i e . SIZE WIDTH − 1 downto 0 ) ;

VPCIe - virtualized device C interface

/∗ r u n t i m e i n i t i a l i z a t i o n ∗/ int pcie init net ( pcie dev t ∗, . . . ) ; int p c i e f i n i ( pcie dev t ∗); int pcie loop ( pcie dev t ∗); /∗ m i s c c o n f i g b y t e a c c e s s o r s ∗/ int pcie set deviceid ( pcie dev t ∗, . . . ) ; int pcie set vendorid ( pcie dev t ∗, . . . ) ; /∗ PCIe typedef typedef int

BAR a c c e s s h a n d l e r s ∗/ v o i d (∗ p c i e r e a d f n t ) ( u i n t 6 4 t , v o i d ∗ , s i z e t , v o i d ∗ ) ; v o i d (∗ p c i e w r i t e f n t ) ( u i n t 6 4 t , c o n s t v o i d ∗ , s i z e t , v o i d ∗ ) ; pcie set bar ( pcie dev t ∗, . . . , pcie readfn t , pcie writefn t ,

/∗ h o s t memory r e a d w r i t e o p e r a t i o n s ∗/ int pcie write host mem ( pcie dev t ∗, uint64 t , s i z e t ∗); int pcie read host mem ( pcie dev t ∗, uint64 t , s i z e t ∗); /∗ s e n d an MSI ∗/ int pcie send msi ( pcie dev t ∗);

...);

VPCIe - future directions

• GHDL no longer maintained • merge PCIe forwarder in QEMU • XILINX AXI stream compatible PCIe layer • reimplement PCIe forwarding and protocol • NVM Express integration testing • licensing

VPCIe - availability

VPCIe source is available online • https://github.com/texane/vpcie • documentation still poor, but clear examples • feedbacks or contributions are welcome

VPCIe - questions

Thanks for your attention. Any question?

OHW2013 workshop - Open Hardware Repository

France. The ISDD electronic laboratory mission is to develop and investigate XRAY ... VPCIe - objectives. • CPU software must run unmodified (including drivers).

5MB Sizes 9 Downloads 292 Views

Recommend Documents

RFC-0112 Bundle Repository - Open eHealth Foundation
Feb 23, 2006 - All company, brand and product names contained within this ...... is that a filter is more or less opaque for the software, making it harder to.

Lars Zimmermann Open Source Hardware & Open Design Business ...
Lars Zimmermann Open Source Hardware & Open Design Business Models Januar2014.pdf. Lars Zimmermann Open Source Hardware & Open Design Business Models Januar2014.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying Lars Zimmermann Open Source

Extended Abstract - Open Repository of National Natural Science ...
ations, whereas the benchmark in the competitive analysis is an optimal mechanism that knows the value distribution. We propose a mechanism Γ1 which obtains constant competitive ratios under various valuation models. We also conduct numerical simula

8. Conceptual Model of Open Access Institutional Repository in ...
Conceptual Model of Open Access Institutional Re ... es Viewed from Knowledge Management Perspective.pdf. 8. Conceptual Model of Open Access ...

Page 1 Therries: Repository Fringe 2016 #rfringels Open Educational ...
Europe's Open Access Champions', Vanessa Proudman, SPARC. Europe. 2. ... Q g p y - Histropedia 'Using Datasets in Teaching' Panel p Q. 10.15 - 11.05 Rory ...

Open Source Hardware License Guide DE | OWi.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Open Source ...

An Open-Source Hardware and Software Platform for ... - GitHub
Aug 6, 2013 - Release 1.03. Zihan Chen. 1. , Anton Deguet. 1. , Russell Taylor. 1. , Simon DiMaio .... the high-speed serial network (IEEE-1394a) and the I/O hardware. In this design .... of services: isochronous and asynchronous transfers.

Open source compliance workshop for engineers.pdf
... Price: 80 euros, to cover organizational cost, remaining funds are donated to the Linux Foundation to. support the Fossology project. [1] https://training.linuxfoundation.org/linux-courses/open-source-compliance-courses/compliance-basics- for-dev

MobiShare - IIIT-Delhi Institutional Repository
In this paper, we propose MobiShare system that facil- itates searching and local sharing of content using mobile phones. It is based on a hybrid architecture that uses a central entity i.e. the cloud for storing, aggregating and performing analysis

VISUAL ARTS Introduction - IB Repository
May 1, 2010 - referring to an artist(s) that influenced/inspired their work. ... Some candidate statements were confusing and many did not really explain the artist's .... order to demonstrate the candidates' journey, charting their creativity, perso

job burnout - Utrecht University Repository
Dec 11, 2000 - Key Words work stress, organizational behavior, job engagement, stress management, job-person fit s Abstract Burnout is a prolonged response to chronic emotional and interpersonal stressors on the job, and is defined by the three dimen

VISUAL ARTS Introduction - IB Repository
May 1, 2010 - Some candidates struggled to produce work reflecting a real ..... and urge candidates to have an inquiring mind in discovering new styles, ...

MobiShare - IIIT-Delhi Institutional Repository
MobiShare with 16 volunteers and collected data for 4 weeks. We present evaluation ...... meter (potentially due to error from GeoLocation APIs as it is populated ...

v. 2016a - Utrecht University Repository
40 50. 5 m_. 20 m_. 40 m_. 50 m_. 60 m_. 70 m_. 30 m_ composite core depth. 0. 100. 0. 75. SUS 10 m / kg. -8 3 depth down section. 252 m_. S0. L1. S1. L2. S2.

Semantic Business Process Repository - Stijn Heymans
effort for the integration of the query processing with the underlying data storage. We ... tool. To support process modeling, the SBPR has to provide standard ...

Type Directives in Elm - Utrecht University Repository
Jun 28, 2016 - Error messages in functional programming languages can at times be daunting. Generally, a compiler is very strict in the programs it does or does not consider valid. The errors thrown by compilers often reason about the types of expres

Type Directives in Elm - Utrecht University Repository
Jun 28, 2016 - Generally, a compiler is very strict in the programs it does or does not consider valid. The errors thrown by ..... Elm implements this idea, but it does not support the addition or deletion of fields. These were ..... Error rewrites a

JSRP Nr.3.indd - UM Repository
This paper draws examples from two indigenous knowledge system (IKS) -related research works conducted .... ahead can help avoid problems later. On the .... This may suggest that care is needed when devising a focus group discussion guide. 3. ..... c

geo 230 Falcon-Lang - Royal Holloway Repository
sensitive geological data for assessing palaeoclimatic ... analysis of growth rings in Arundian fossil woods ... These data are used to understand more clearly the ...

Probabilistic performance guarantees for ... - KAUST Repository
[25] H. Young, Individual Strategy and Social Structure: An Evolutionary. Theory of ... Investigator Award (1992), the American Automatic Control Council Donald.