LEON Tools

advertisement
Satellite Computer System
based on LEON Technology
Characterization Presentation
Spring 2007 – yearly project
By
Yossi Zadik & Ira Joffe
supervised by: Ina Rivkin
Goals
• Learning the LEON processor structure : IP cores,
IF protocols and usage
• Learning and using in GR tools – compiler,
monitor and Simulator
• Make System On Chip with the LEON platform
• The system will include AMBA bus and IP cores
from the GRLIB, and IP core of our own(part B)
• Create a simulation and produce a test for the
system
• Sensitize the system
• FPGA implementation
Introduction
 The LEON system is based on technology
developed by the Gaisler Research Inc.
 developed for:
critical space systems
cost-efficient consumer products.
 Requirements:
high guarantee for quality
cost-sensitive
efficiency and low-overhead implementations
Introduction
 GRLIB IP Library - a set of IP cores, designed for
system-on-chip (SOC) development
 AMBA bus - The IP cores are centered around the
on-chip bus (AMBA) and connected through it
 GRLIB support different CAD tools and target
technologies. A plug&play method is used to
configure and connect the IP cores
 Support products are available in the software
level: compiler, monitor and simulator.
LEON3 system designed with GRLIB
LEON3 – high performance SPARC
V8 32-bit processor
LEON 3 – features:
•
•
•
•
•
7 stage pipeline with Harvard architecture
Separate instruction and data caches
Hardware multiplier and divider
On chip debug support
Multi processor extensions
LEON 3 processor core block
diagram
LEON 3 processor core block
diagram
Integer unit:
• Implements full SPARC V8 standard
including hardware multiply and divide
instructions.
• Configurable number of register windows.
• Pipeline consists of 7 stages.
LEON 3 processor core block
diagram
Cache sub-system:
• Separate instruction and data cache.
Floating-point units and co-processor:
• Provides interfaces for a FPU and a custom coprocessor.
• FPU controller for high performance GRFPU –
available from GR.
• Execute in parallel with the integer unit
LEON 3 processor core block
diagram
Memory management unit:
• Can be optionally enabled
• Implements full SPARC V8 MMU
specification, and provides mapping
between multiple 32- bit virtual address
spaces and 36-bit physical memory.
• Can be configured up to 64 fully associative
TLB entries
LEON 3 processor core block
diagram
On-chip debug support:
• Allow non intrusive debugging on target
hardware.
• Up to 4 watch point registers can be enabled. Can
be used to enter debug mode when an optional
debug support unit is attached.
• Interface provides full access to all processor
registers and cache.
LEON 3 processor core block
diagram
Interrupt interface:
• Supports SPARC V8 interrupt model with
15 asynchronous interrupts.
AMBA interface:
• Interface is complaint with AMBA 2.0
standard.
• Cache system implements an AMBA AHB
master to load/store data from/to the caches.
LEON3FT
• The LEON3FT processor is a derivate of
the standard LEON3 processor, functionally
identical to it, enhanced with fault-tolerance
against SEU errors. It is focused on the
protection of on-chip RAM blocks, which
are used to implement IU/FPU register files
and the cache memory.
AMBA BUS
• AMABA BUS is a technology independent
on-chip protocol.
• Defines an on-chip communication standard
for designing high performance embedded
microcontrollers.
AMBA BUS
• 3 types of buses:
A typical AMBA-based
microcontroller
GRLIB Components
Processors and support functions:




LEON3 SPARC V8 32-bit processor
DSU3 Multi-processor Debug support unit
IRQMP Multi-processor Interrupt controller
GRFPU High-performance Floating-point
unit
 GRFPU-Lite Low-area Floating-point unit
 LEON3FT Fault-tolerant SPARC V8
Processor
Floating-point units
• GRFPU High-performance IEEE-754 Floating-point unit
• GRFPU-Lite Low-area IEEE-754 Floating-point unit
MIL-STD-1553 Bus interface
• B1553BC 1553 Bus controller with AHB interface
• B1553RT 1553 Remote terminal with AHB interface
• B1553BRM 1553 BC/RT/Monitor with AHB interface
Encryption
• GRAES 128-bit AES Encryption/Decryption Core
• GRECC Elliptic Curve Cryptography Core
Memory controllers
•
•
•
•
•
•
•
•
•
•
•
SRCTRL - PROM/SRAM controller
SDCTRL - SDRAM controller
FTSDCTRL - PC133 SDRAM Controller with EDAC
FTSRCTRL - Fault Tolerant PROM/SRAM/IO Controller
MCTRL - PROM/SRAM/SDRAM controller
FTMCTRL - PROM/SRAM/SDRAM controller with EDAC
AHBSTAT - AHB failing address register
DDRCTRL - DDR controller with two AHB ports (Xilinx only)
DDRSPA - Single-port DDR266 controller (Xilinx and Altera)
SSRCTRL - synchronous SRAM (SSRAM) controller
FTSRCTRL8 - IO Memory Controller with EDAC
AMBA Bus control
•
•
•
•
AHB2AHB - Uni-directional AHB/AHB Bridge
AHBBRIDGE - Bi-directional AHB/AHB Bridge
AHBCTRL - AMBA AHB bus controller with plug&play
AHBCTRL_MB - AMBA AHB bus controller for multiple
buses with
plug&play
• APBCTRL - AMBA APB Bridge with plug&play
• AHBTRACE - AMBA AHB Trace buffer
PCI interface
•
•
•
•
•
PCITARGET - target-only PCI interface
PCIMTF/GRPCI - PCI master/target interface with FIFO
PCITRACE - PCI trace buffer
PCIDMA - DMA controller for PCIMTF
PCIARB - PCI Bus arbiter
CCSDS Telecommand and telemetry functions
•
•
•
•
GRTM CCSDS Telemetry encoder
GRTC CCSDS Telecommand decoder
GRPW Packetwire receiver with AHB interface
GRCTM CCSDS Time manager
On-chip memory functions
•
•
•
•
•
•
•
AHBRAM - Single-port RAM with AHB interface
AHBROM - ROM generator with AHB interface
SYNCRAM - Parametrizable 1-port RAM
SYNCRAM_2P - Parametrizable 2-port RAM
SYNCRAM_DP - Parametrizable dual-port RAM
REGFILE_3P - Parametrizable 3-port register file
FTAHBRAM - RAM with AHB interface and EDAC
protection
Serial communication
•
•
•
•
•
•
•
•
•
•
AHBUART - Serial/AHB debug interface
AHBJTAG - JTAG/AHB debug interface
APBPS2 - PS2 Keyboard interface with APB interface
APBUART - Programmable UART with APB interface
CAN_OC - Opencores CAN 2.0 MAC with AHB interface
GRETH - Gaisler Research 10/100 Ethernet MAC with
AHB I/F
GRETH_GIGA - Gaisler Research 10/100/1000 Ethernet
MAC with AHB
GRSPW - SpaceWire link with RMAP and AHB interface
USBDCL - USB-2.0 / AHB debug communication link
GRCAN - CAN 2.0 Controller with DMA
Misc. peripherals
•
•
•
•
•
•
•
•
•
•
ATACTRL - IDE/ATA controller with AHB interface
GPTIMER - Modular timer unit
GPIO - General purpose I/O port
LOGAN - On-chip logic analyzer
TAP - Generic TAP controller
NUHOSP3 - PROM & I/O interface for Nuhorizons
Spartan3 board
APBVGA - Text-only VGA controller
CLKGEN - Clock generator and frequency divider for
Altera/Xilinx
RSTGEN - Generic reset generator
SVGACTRL - SVGA video frame buffer
Simulation and debugging
• SRAM - SRAM simulation model with srecord pre-load
• MT48LC16M16 - Micron SDRAM model with srecord
pre-load
• MT46V16M16 - Micron DDR model
• CY7C1354B - Cypress ZBT SSRAM model with srecord
pre-load
• AHBMSTEM - AHB master simulation model with
scripting
• AHBSLVEM - AHB slave simulation model with scripting
• AMBAMON - AHB and APB protocol monitor
LEON Tools
*GRMON and TSIM have evaluation versions
(grmon for 21 days), the full versions and
GrmonRCP requires payment
GRMON - monitor
GRMON is a general debug monitor for the LEON
processor,and for SOC designs based on the
GRLIB IP
library.GRMON includes the following functions:
•Read/write access to all system registers and
memory
•Built-in disassembler and trace buffer management
•Downloading and execution of LEON applications
•Breakpoint and watchpoint management
•Remote connection to GNU debugger (gdb)
•Support for USB,JTAG,RS232,PCI,ethernet and
spacewire debug links
Platforms supported:Linux-x86,Solaris2.x,Windows (2K/XP)and Windows with
cygwin.
After 21 days GRMON needs a license
The following features are not available in the
evaluation version:
•Support for LEON-FT
•Loadable modules
•Custom LEON2 configuration files
•Error injection
GrmonRCP
GrmonRCP is a GUI for grmon,based on the
Eclipse Rich-Client Protocol. It provides a
graphical interface to all Grmon functions.
GrmonRCP is available as a separate package
TSIM2 Simulator
TSIM is a generic SPARC architecture
simulator capable of emulating ERC32and LEON-based computer systems.
TSIM supports the following platforms:
solaris-2.8, linux, linux-x64, Windows
2K/XP, and Windows 2K/XP with
Cygwin unix emulation.
TSIM provides several unique features(1\2):
•Accurate and cycle-true emulation of ERC32
and LEON2/3 processors
•Superior performance: +30 MIPS on high-end
PC (AMD64@2.4 GHz)
•Accelerated simulation during processor
standby mode
•Standalone operation or remote connection to
GNU debugger (gdb)
•64-bit time for unlimited simulation periods
•Instruction trace buffer
•EDAC emulation (ERC32)
•MMU emulation (LEON2/3)
More TSIM features(2\2):
SDRAM emulation (LEON2/3)
•Local scratch-pad RAM (LEON3)
•Loadable modules to include user-defined I/O
devices
•Non-intrusive execution time profiling
•Code coverage monitoring
•Dual-processor synchronisation
•Stack backtrace with symbolic information
•Check-pointing capability to save and restore
complete simulator state
•Also provided as library to be included in larger
simulator frameworks
BCC –Bare C Cross Compiler
BCC is a cross-compiler for LEON2 and LEON3
processors.It is based one the GNU compiler
tools and the Newlib standalone C-library.
The cross-compiler system allows compilation of
both tasking and non-tasking C and C++
applications.
It supports hard and soft floating point operations,
as well as SPARC V8 multiply and divide
instructions.
BCC can also be used to compile the eCos kernel.
BCC consists of the following packages:
•GNU GCC C/C++compiler v3.4.4
•Newlib C-library v 1.13.1
•Low-level I/O routines for LEON2 and
LEON3,including interrupt support
•uIP light-weight TCP/IP stack
•GDB debugger v6.4 with DDD and Insight
Graphical front-end
•Mkprom prom-builder for LEON2/3
•Linux and Windows/Cygwin hosts
First semester block diagram system
The Project Roadmap
First semester:
• Building the system as illustrated
• System simulation
• Synthesis
Second semester:
• User core
• Spacewire core
• FPGA implementation
Time table to mid semester
presentation
• WW19: characterization presentation
• WW20: get to know GRLIB and all IP cores
• WW21: decide which IP cores we will use for our
first semester system, and check availability.
• WW22: tools selection based on experimenting
• WW23: make mid semester presentation.
Download