Configurable System-on-Chip: Xilinx EDK
description
Transcript of Configurable System-on-Chip: Xilinx EDK
![Page 1: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/1.jpg)
1
Configurable System-on-Chip: Xilinx EDK
Enno LübbersComputer Engineering GroupUniversity of Paderborn
![Page 2: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/2.jpg)
2
Field-Programmable Gate Arrays (FPGAs)
Fine-grained reconfigurable hardware Gate-Array: regular structure of “logic cells”, connected
through an interconnection network Configuration stored in SRAM, must be loaded on startup
EP
RO
M
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 3: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/3.jpg)
3
FPGA toolflow
HDL (VHDL /Verilog)
HDL (VHDL /Verilog)
SynthesizeSynthesize
NetlistNetlist
MapMap
PlacePlace
RouteRoute
BitstreamBitstream
Hardware design is traditionally done by modeling the system in a hardware description language
An FPGA “compiler” (synthesis tool) generates a netlist,
which is then mapped to the FPGA technology,
the inferred components are placed on the chip,
and the connecting signals are routed through the interconnection network.
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 4: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/4.jpg)
4
HDL Synthesis
RegisterRegister
aabb
outputoutput
clkclk
resetreset
clearclear
DD QQ
process(clk, reset)
begin
if reset = ‚1‘ thenoutput <= ‚0‘;
elsif rising_edge(clk) thenoutput <= a XOR b;
end if;
end process;
HDL (VHDL /Verilog)
HDL (VHDL /Verilog)
SynthesizeSynthesize
NetlistNetlist
MapMap
PlacePlace
RouteRoute
BitstreamBitstream
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 5: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/5.jpg)
5
Technology Mapping
HDL (VHDL /Verilog)
HDL (VHDL /Verilog)
SynthesizeSynthesize
NetlistNetlist
MapMap
PlacePlace
RouteRoute
BitstreamBitstream
RegisterRegister
aabb
outputoutput
clkclk
resetreset
clearclear
DD QQ
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 6: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/6.jpg)
6
Place & Route
HDL (VHDL /Verilog)
HDL (VHDL /Verilog)
SynthesizeSynthesize
NetlistNetlist
MapMap
PlacePlace
RouteRoute
BitstreamBitstream
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 7: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/7.jpg)
7
Xilinx ISE
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 8: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/8.jpg)
8
Traditional Embedded System
Power SupplyCLKCLK
CLKcustomIF-logic
SDRAM SDRAMSRAM SRAMSRAM
Memory Controller
UARTLC
DisplayController
InterruptController Timer
AudioCodec
CPU(uP / DSP) Co-
Proc.
GP I/O
AddressDecode
Unit
EthernetMAC
Images by H.Walder
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 9: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/9.jpg)
9
Traditional Embedded System
FPGACLKCLK
CLKcustomIF-logic
SDRAM SDRAMSRAM SRAMSRAM
Memory Controller
UART
DisplayController
Timer
Power Supply
LC
AudioCodec
CPU(uP / DSP) Co-
Proc.
GP I/O
AddressDecode
Unit
EthernetMAC
InterruptController
Images by H.Walder
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 10: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/10.jpg)
10
Configurable System on Chip (CSoC)
Power Supply
SDRAM SDRAMSRAM SRAMSRAM
LC
AudioCodec EPROM
Images by H.Walder
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 11: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/11.jpg)
11
Advantages
Fewer physical components
Shorter development cycles
Field-programmable (updates, new features...)
Possibly higher performance through on-chip integration Signals on a chip can typically be clocked higher than signals across
board traces Optimization between modules possible
Partial reconfigurability Exchange peripherals while the rest of the system keeps running
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 12: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/12.jpg)
12
Embedded CPUs
PowerPC 405 (hard core) 32 bit embedded PowerPC RISC architecture Up to 450 MHz 2x 16 kB instruction and data caches Memory management unit (MMU) Hardware multiply and divide Coprocessor interface (APU) Embedded in Virtex-II Pro and Virtex-4 PLB and OCM bus interfaces
MicroBlaze (soft core) 32 bit RISC architecture 2-64 kB instruction and data caches Barrel Shifter Hardware multiply and divide OPB and LMB bus interfaces
Others NIOS (Altera), ARM, PicoBlaze (Xilinx), ...
Images by Xilinx
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 13: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/13.jpg)
13
CoreConnect Bus Architecture
Flexible bus architecture for embedded Systems and SoCs Developed by IBM Used by Xilinx EDK
Processor Local Bus (PLB) On-Chip Peripheral Bus (OPB) Device Control Register Bus
(DCR)
Alternatives: AMBA (Altera) Wishbone (OpenCores) Proprietary bus architectures
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 14: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/14.jpg)
14
Bus Configurations
Images by H.Walder
LMB: Local Memory Bus (for on-chip memory)OPB: On-Chip Peripheral Bus
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 15: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/15.jpg)
15
CSoC Design Flow (Hardware)
HDL (VHDL /Verilog)
HDL (VHDL /Verilog)
SynthesizeSynthesize
NetlistNetlist
MapMap
PlacePlace
RouteRoute
BitstreamBitstream
Platform description is translated/assembled into netlist, which in turn is either
mapped, placed and routed onto FPGA, or
Platform Description
Platform Description
Netlist Generation
Netlist Generation
NetlistNetlist
BitstreamBitstream
Xilinx ISE(VHDL Edit, Map, Place & Route)
Xilinx ISE(VHDL Edit, Map, Place & Route)
XST(Map, Place & Route)
XST(Map, Place & Route)
VHDL
VHDL
imported into ISE and used in a larger FPGA design
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 16: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/16.jpg)
16 FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
Platform Description
Platform Description
Netlist Generation
Netlist Generation
NetlistNetlist
BitstreamBitstream
Xilinx ISE(VHDL Edit, Map, Place & Route)
Xilinx ISE(VHDL Edit, Map, Place & Route)
XST(Map, Place & Route)
XST(Map, Place & Route)
VHDL
VHDL
CSoC Design Flow (Hardware)
![Page 17: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/17.jpg)
17
CSoC Design Flow (Software)
Platform Description
Platform Description
Netlist Generation
Netlist Generation
NetlistNetlist
BitstreamBitstream
XST or ISE(Map, Place & Route)
XST or ISE(Map, Place & Route)
Compile & Link
Compile & Link
Update BitstreamUpdate
Bitstream
Bitstream with
executable Code
Bitstream with
executable Code
Program
*.elf
*.aLibrary
GenerationLibrary
Generation*.h *.h *.c
User sources
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 18: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/18.jpg)
18 FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
CSoC Design Flow (Software)
Platform Description
Platform Description
Netlist Generation
Netlist Generation
NetlistNetlist
BitstreamBitstream
XST or ISE(Map, Place & Route)
XST or ISE(Map, Place & Route)
Compile & Link
Compile & Link
Update BitstreamUpdate
Bitstream
Bitstream with
executable Code
Bitstream with
executable Code
Program
*.elf
*.aLibrary
GenerationLibrary
Generation*.h *.h *.c
User sources
![Page 19: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/19.jpg)
19
Demonstration
Simple System: LED Counter Bus Configuration:
MicroBlaze CPU Instruction- and data memories
attached to local memory buses General Purpose I/O (GPIO)
attached to data-side OPB
Target: Xilinx Spartan-III (XC3S200) 200’000 gates (4’320 logic cells) 480 CLBs (24 x 20) 216 Kbits Block RAM 173 User I/O pins 12 18x18 bit multipliers
MicroBlaze CPU Core
DOPB
DLMBILMB
GP I/O
BRAM
Image by H.Walder
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 20: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/20.jpg)
20
Demonstration
Spartan III FPGA
50 MHz clock(back side)
7-segment display
E14
G13F13N16
N15
P16P15
R16
Reset button
CLK
RST LED0
LED7
Image by H.Walder
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration
![Page 21: Configurable System-on-Chip: Xilinx EDK](https://reader036.fdocuments.in/reader036/viewer/2022081421/56815931550346895dc66583/html5/thumbnails/21.jpg)
21
Questions?
More information on Xilinx FPGAs and design tools http://www.xilinx.com http://www.xilinx.com/edk
Student projects / Thesises (DA/SA/BA/MA) Enno Lübbers
FPGAs FPGA Tool Flow System on Chip (SoC) SoC Tool Flow Demonstration