Академический Документы
Профессиональный Документы
Культура Документы
Sbastien Bourdeauducq
Milkymist RTC
International Conference on Accelerator and Large Experimental
Physics Control Systems
Open Hardware Workshop
October 9th 2011
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
Instead of developing independent tools, you want to talk FPGA
companies into opening their source code.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
Instead of developing independent tools, you want to talk FPGA
companies into opening their source code.
Solution
They won't. Save your breath and start coding.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
You think that FPGA companies do not publish the information
needed to write a toolchain and reverse engineering seems
impossible.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
You think that FPGA companies do not publish the information
needed to write a toolchain and reverse engineering seems
impossible.
Solution
Find out that FPGA companies do
Sbastien Bourdeauducq
to
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
You do not want to work for free for uncooperative FPGA
companies. Reverse engineering seems to be a waste of time as
FPGA chips may quickly become obsolete.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
You do not want to work for free for uncooperative FPGA
companies. Reverse engineering seems to be a waste of time as
FPGA chips may quickly become obsolete.
Solution A
Found your own FPGA startup.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
You do not want to work for free for uncooperative FPGA
companies. Reverse engineering seems to be a waste of time as
FPGA chips may quickly become obsolete.
Solution A
Found your own FPGA startup.
Solution B
Bite the bullet and consider that a very large part of the toolchain
infrastructure can be
generic
and
portable
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
You are afraid of destroying FPGAs while developing your toolchain.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
You are afraid of destroying FPGAs while developing your toolchain.
Solution
Risks of damaging modern FPGAs are
overrated
. Did you
cheap
No risk, no fun!
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
Building a FPGA toolchain seems impossibly hard and you don't
know where to begin.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
Building a FPGA toolchain seems impossibly hard and you don't
know where to begin.
Solution
Study
compatibility
Perfection is unattainable
with them.
one by one
and consider
Start with a
very crude
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
You know very well how FPGA toolchains work, and it still seems
too large of a task for you.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Common issues
Problem
You know very well how FPGA toolchains work, and it still seems
too large of a task for you.
Solution
Projects like Linux and GNU have been in the same situation. Start
, and adopt an
development model.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream encoding
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Synthesis
IBUF[a]
LUT2[1000]
IBUF[b]
FD
OBUF[x]
IBUFG[clk]
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Why packing?
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Packing challenges
Sbastien Bourdeauducq
Synthesis
Packing
Placement
Routing
Bitstream format
Common issues
The big picture
FPGA tools cookbook
Conclusions
new slice
is not empty:
1
2
S.
Lx
Lx
and pack it in a
is not empty:
Pick the LUT/FF with the most common inputs and pack it
in
S.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Placement
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Simulated annealing
increase cost
, to be capable of
Paccepted
cost
= e T
if
Sbastien Bourdeauducq
otherwise.
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Routing overview
One output
pins.
Sbastien Bourdeauducq
Synthesis
Packing
Placement
Routing
Bitstream format
Common issues
The big picture
FPGA tools cookbook
Conclusions
regular
structures have equivalent
identify all types
architecture.
Many switching
PIP/wire graphs.
Need to
FPGA family:
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Ps
While P
d 6 R :
1
2
R = R {destination(p)}
H [destination(p)] = p
= {}
1
c = d;
1
2
with
while
c 6= Ps :
L = L {H [c ]}
c = source (H [c ])
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Bitstream format
xdl,
examine dierence in
output.
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Synthesis
Packing
Placement
Routing
Bitstream format
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Resources
Conclusion
Going further
http://www.eecg.toronto.edu/vtr/
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Resources
Conclusion
Going further
VPR
http://www.eecg.utoronto.ca/vpr/
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Resources
Conclusion
Going further
RapidSmith
http://rapidsmith.sourceforge.net/
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Resources
Conclusion
Going further
Debit
http://www.ulogic.org/
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Resources
Conclusion
Going further
ReCoBus tools
http://www.recobus.de/
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Resources
Conclusion
Going further
http://h30565.www3.hp.com/t5/Feature-Articles/
Linus-Torvalds-s-Lessons-on
-Software-Development-Management/ba-p/440
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Resources
Conclusion
Going further
Conclusion
http://www.milkymist.org/fpgatools
Thank you for your attention!
Sbastien Bourdeauducq
Common issues
The big picture
FPGA tools cookbook
Conclusions
Resources
Conclusion
Going further
Going further
Physical implementation
Synthesis
High performance LUT
mappers
Resource sharing
Retiming
FSM extraction
Memory extraction
Carry chains (arithmetic,
comparators, ...)
Multiplier blocks
Timing model
Timing-driven routing
Congestion management
Post-placement packing
Analytical global placers
Relative placement
constraints (e.g. carry
chains)
Floorplanning
Partial reconguration
Sbastien Bourdeauducq