NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores...
Transcript of NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores...
![Page 1: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/1.jpg)
Summer Course Technion, Haifa, IL 2015 1
NetFPGA Summer Course
Presented by:
Noa Zilberman
Yury Audzevich
Technion
August 2 – August 6, 2015
http://NetFPGA.org
![Page 2: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/2.jpg)
Summer Course Technion, Haifa, IL 2015 2
DESIGNING CORES
![Page 3: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/3.jpg)
Summer Course Technion, Haifa, IL 2015 3
Outline
• What is a core?
• IP Core logic
• IP cores packaging– Vivado
– TCL
• Instantiating IPs
• Using Subcores
• Compile
• Do’s and Don’ts
![Page 4: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/4.jpg)
Summer Course Technion, Haifa, IL 2015 4
The role of Cores
• A Core (also known as IP Core) is a stand
alone module
• Can be reused
– Within a design
– Between designs
• Can be configured
• Can be written in different languages
– Verilog, VHDL, system Verilog, C ….
• The module is “packaged” as a core
![Page 5: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/5.jpg)
Summer Course Technion, Haifa, IL 2015 5
IP Core Logic
• Design your module
• “Ignore” the top project
• Can be anything from one HDL file to a
complex design
• Test you core in a simulation
– Write a core-specific test bench
– Not a must
• Set timing constraints
• All done?
– Time to wrap your core
![Page 6: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/6.jpg)
Summer Course Technion, Haifa, IL 2015 6
Packaging Cores
• There are (at least) two ways to package a
core:
– Through the Vivado GUI
– Using TCL scripts
• We will explore both
• For best reuse across projects, we
recommend using TCL scripts
– You can use the GUI and still export TCL
– But they are not fully compatible
![Page 7: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/7.jpg)
Summer Course Technion, Haifa, IL 2015 7
Packaging a Core using Vivado
Create a new project
![Page 8: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/8.jpg)
Summer Course Technion, Haifa, IL 2015 8
Packaging a Core using Vivado (2)
Select the project’s name
![Page 9: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/9.jpg)
Summer Course Technion, Haifa, IL 2015 9
Packaging a Core using Vivado (3)
Select “RTL Project”
![Page 10: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/10.jpg)
Summer Course Technion, Haifa, IL 2015 10
Packaging a Core using Vivado (4)
Add HDL files
![Page 11: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/11.jpg)
Summer Course Technion, Haifa, IL 2015 11
Packaging a Core using Vivado (5)
Select Device
XC7VX690TFFG1761-3
![Page 12: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/12.jpg)
Summer Course Technion, Haifa, IL 2015 12
Packaging a Core using Vivado (6)
Summary
![Page 13: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/13.jpg)
Summer Course Technion, Haifa, IL 2015 13
Packaging a Core using Vivado (7)
Project Summary
Source
Files
![Page 14: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/14.jpg)
Summer Course Technion, Haifa, IL 2015 14
Packaging a Core using Vivado (8)
Tools Create
and package IP
![Page 15: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/15.jpg)
Summer Course Technion, Haifa, IL 2015 15
Packaging a Core using Vivado (9)
Package your current project
![Page 16: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/16.jpg)
Summer Course Technion, Haifa, IL 2015 16
Packaging a Core using Vivado (10)
Select target folder
![Page 17: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/17.jpg)
Summer Course Technion, Haifa, IL 2015 17
Packaging a Core using Vivado (11)
![Page 18: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/18.jpg)
Summer Course Technion, Haifa, IL 2015 18
Packaging a Core using Vivado (12)
Edit core’s identification
fields
Change
category
![Page 19: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/19.jpg)
Summer Course Technion, Haifa, IL 2015 19
Packaging a Core using Vivado (13)
Select category
or create a new
one
![Page 20: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/20.jpg)
Summer Course Technion, Haifa, IL 2015 20
Packaging a Core using Vivado (14)
Define File Groups
and add subcores
![Page 21: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/21.jpg)
Summer Course Technion, Haifa, IL 2015 21
Packaging a Core using Vivado (15)
Select subcore
A subcore is an IP
instantiated within
the core
![Page 22: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/22.jpg)
Summer Course Technion, Haifa, IL 2015 22
Packaging a Core using Vivado (16)
Update parameters
and set default values
![Page 23: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/23.jpg)
Summer Course Technion, Haifa, IL 2015 23
Packaging a Core using Vivado (17)
Update ports
Note related warnings
![Page 24: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/24.jpg)
Summer Course Technion, Haifa, IL 2015 24
Packaging a Core using Vivado (18)
Right click
Edit IP bus Interface
![Page 25: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/25.jpg)
Summer Course Technion, Haifa, IL 2015 25
Packaging a Core using Vivado (19)
Edit parameters values
![Page 26: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/26.jpg)
Summer Course Technion, Haifa, IL 2015 26
Packaging a Core using Vivado (20)
Updating the memory
map is possible(Not required in most
NetFPGA cores)
![Page 27: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/27.jpg)
Summer Course Technion, Haifa, IL 2015 27
Packaging a Core using Vivado (21)
Customize GUI
![Page 28: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/28.jpg)
Summer Course Technion, Haifa, IL 2015 28
Packaging a Core using Vivado (22)
Core Summary
Any errors? Warnings?
![Page 29: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/29.jpg)
Summer Course Technion, Haifa, IL 2015 29
Packaging a Core using Vivado (23)
Job done!
![Page 30: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/30.jpg)
Summer Course Technion, Haifa, IL 2015 30
Packaging a core using TCL
• Start from a template of an existing core
• Place all your HDL files under
<core_name>/hdl
• Edit <core_name>.tcl
• Update Makefile with the name of the core
• Run make
• You may want to add your core to
$SUME_FOLDER/Makefile as well
– Note that the order of generation matters
![Page 31: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/31.jpg)
Summer Course Technion, Haifa, IL 2015 31
<core_name>.tcl
• TCL file structure:
– Project Defines
– Creating the project
– Adding the HDL files
– Packaging the project
– Adding core information & parameters
– Validation
– Completing the project
![Page 32: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/32.jpg)
Summer Course Technion, Haifa, IL 2015 32
<core_name>.tcl
• TCL file structure:
– Project Defines
Recommend to keep identical
Recommend not to change
![Page 33: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/33.jpg)
Summer Course Technion, Haifa, IL 2015 33
<core_name>.tcl
• TCL file structure:
– Creating the project
![Page 34: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/34.jpg)
Summer Course Technion, Haifa, IL 2015 34
<core_name>.tcl
• TCL file structure:
– Adding the HDL files
![Page 35: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/35.jpg)
Summer Course Technion, Haifa, IL 2015 35
<core_name>.tcl
• TCL file structure:
– Adding core information & parameters
![Page 36: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/36.jpg)
Summer Course Technion, Haifa, IL 2015 36
<core_name>.tcl
• TCL file structure:
– Packaging the project – core information
![Page 37: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/37.jpg)
Summer Course Technion, Haifa, IL 2015 37
<core_name>.tcl
• TCL file structure:
– Packaging the project – parameters
![Page 38: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/38.jpg)
Summer Course Technion, Haifa, IL 2015 38
<core_name>.tcl
• TCL file structure:
– Packaging the project – bus parameters
![Page 39: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/39.jpg)
Summer Course Technion, Haifa, IL 2015 39
<core_name>.tcl
• TCL file structure:
– Validation
Read the output and
look for reported issues
![Page 40: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/40.jpg)
Summer Course Technion, Haifa, IL 2015 40
<core_name>.tcl
• TCL file structure:
– Completing the project
Update the IP catalog
to see the new core in
the repo
![Page 41: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/41.jpg)
Summer Course Technion, Haifa, IL 2015 41
Using an IP
Open IP
Catalog Select IP
![Page 42: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/42.jpg)
Summer Course Technion, Haifa, IL 2015 42
Set IP name and
parameters values
![Page 43: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/43.jpg)
Summer Course Technion, Haifa, IL 2015 43
Generate IP outputs
(e.g. template, simulation)
Can take some time to generate
![Page 44: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/44.jpg)
Summer Course Technion, Haifa, IL 2015 44
Add IP in TCL
• From within a project:
![Page 45: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/45.jpg)
Summer Course Technion, Haifa, IL 2015 45
Using Subcores
• What happens if you use an IP core within
your core?
• How do you call it?
• How do you pass parameters to it?
• What happens if the same core is
instantiated in multiple different cores, with
different settings?
– An IP can be created only once (using the same
name)
– A created IP can have only a single set of values
for its parameters
![Page 46: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/46.jpg)
Summer Course Technion, Haifa, IL 2015 46
Using Subcores
• Solution: Subcores
• Indicate that an IP core instantiates other IP cores
• Can propagate parameters values in HDL
![Page 47: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/47.jpg)
Summer Course Technion, Haifa, IL 2015 47
Compile
• TCL only
• Run:
![Page 48: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/48.jpg)
Summer Course Technion, Haifa, IL 2015 48
Do’s and Don’ts
• Don’t create the same IP multiple times
– Save synthesis time!
• Don’t “create IP” within IPs
• Use add_subcores
• Make sure all parameters are available to
the user
• Validate your design
• Provide useful information in your core
identification
• Update core versions!
![Page 49: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/49.jpg)
Summer Course Technion, Haifa, IL 2015 49
Conclusion
![Page 50: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/50.jpg)
Summer Course Technion, Haifa, IL 2015 50
Nick McKeown, Glen Gibb, Jad Naous, David Erickson,
G. Adam Covington, John W. Lockwood, Jianying Luo, Brandon Heller, Paul
Hartke, Neda Beheshti, Sara Bolouki, James Zeng,
Jonathan Ellithorpe, Sachidanandan Sambandan, Eric Lo
Acknowledgments (I)
NetFPGA Team at Stanford University (Past and Present):
NetFPGA Team at University of Cambridge (Past and Present):
Andrew Moore, David Miller, Muhammad Shahbaz, Martin Zadnik
Matthew Grosvenor, Yury Audzevich, Neelakandan Manihatty-Bojan,
Georgina Kalogeridou, Jong Hun Han, Noa Zilberman, Gianni Antichi,
Charalampos Rotsos, Marco Forconesi, Jinyun Zhang, Bjoern Zeeb
All Community members (including but not limited to):
Paul Rodman, Kumar Sanghvi, Wojciech A. Koszek,
Yahsar Ganjali, Martin Labrecque, Jeff Shafer, Eric Keller ,
Tatsuya Yabe, Bilal Anwer, Yashar Ganjali, Martin Labrecque,
Lisa Donatini, Sergio Lopez-Buedo
Kees Vissers, Michaela Blott, Shep Siegel, Cathal McCabe
![Page 51: NetFPGA Summer Course · 2015. 8. 4. · Summer Course Technion, Haifa, IL 2015 4 The role of Cores •A Core (also known as IP Core) is a stand alone module •Can be reused –Within](https://reader034.fdocuments.net/reader034/viewer/2022051901/5fef8d7662ae817b5a720865/html5/thumbnails/51.jpg)
Summer Course Technion, Haifa, IL 2015 51
Acknowledgements (II)
Disclaimer: Any opinions, findings, conclusions, or recommendations expressed in these materials do not necessarily reflect the views of the National Science Foundation or of any other sponsors supporting this project.This effort is also sponsored by the Defense Advanced Research Projects Agency (DARPA) and the Air Force Research Laboratory (AFRL), under contract FA8750-11-C-0249. This material is approved for public release, distribution unlimited. The views expressed are those of the authors and do not reflect the official policy or position of the Department of Defense or the U.S. Government.