smart logic
TRANSCRIPT
![Page 1: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/1.jpg)
Processor IP Cores in FPGA
Presented By
Mr.Nishant S. NerpagarSmart Logic Technologies, Pune
[email protected]@gmail.com
![Page 2: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/2.jpg)
Prerequisites
Digital logic Design VHDL Basic idea about FPGA
![Page 3: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/3.jpg)
What is FPGA Configurable Logic Blocks (CLBs) contain flexible Look-Up Tables (LUTs) that implement logic plus storage elements
used as flip-flops or latches. CLBs perform a wide variety of logical functions
as well as store data.
• Input/Output Blocks (IOBs) control the flow of data between the I/O pins and the internal logic of the device. Each IOB
supports directional data flow plus 3-state operation. Supports a variety of signal standards, including four high-performance differential standards. Double Data-Rate (DDR) registers are included.
• Block RAM provides data storage in the form of 18-Kbit dual-port blocks. Digital Clock Manager (DCM) Blocks provide
self-calibrating, fully digital solutions for distributing, delaying , multiplying, dividing, and phase-shifting clock
signals.
![Page 4: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/4.jpg)
![Page 5: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/5.jpg)
I/O Capabilities• 3.3V low-voltage TTL (LVTTL)• Low-voltage CMOS (LVCMOS) at 3.3V, 2.5V, 1.8V,1.5V, or 1.2V• 3V PCI at 33 MHz, and in some devices, 66 MHz• HSTL I and III at 1.8V, commonly used in memoryapplications• SSTL I at 1.8V and 2.5V, commonly used for memoryapplicationsSpartan-3E FPGAs support the following differential standards:• LVDS• Bus LVDS• mini-LVDS• RSDS• Differential HSTL (1.8V, Types I and III)• Differential SSTL (2.5V and 1.8V, Type I)• 2.5V LVPECL inputs
![Page 6: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/6.jpg)
![Page 7: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/7.jpg)
Spartan 3E
![Page 8: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/8.jpg)
![Page 9: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/9.jpg)
Microcontroller Vs FPGA
Sequential operations
not so flexible Low power Less development
time Easy to solder Less No of I/O
pin
• Parallel or Sequential operations
• Flexible • High power• More development
time • Complex to solder • More No of I/O pin
![Page 10: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/10.jpg)
Intellectual propertiesSoft IPHard IP
![Page 11: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/11.jpg)
Soft IP Counters , Flip-flop Ram
Picoblaze Microblaze
![Page 12: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/12.jpg)
Hard IP
Dcm Multipliers Blockram
Power -pc
![Page 13: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/13.jpg)
Have a fun with all Intellectual properties in
Xilinx ISE
![Page 14: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/14.jpg)
Can we use assembly language for FPGA ?
![Page 15: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/15.jpg)
![Page 16: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/16.jpg)
Key Feature Set• 16 byte-wide general-purpose data registers• 1K instructions of programmable on-chip program store, automaticallyloaded during FPGA configuration• Byte-wide Arithmetic Logic Unit (ALU) with CARRY and ZEROindicator flags• 64-byte internal scratchpad RAM• 256 input and 256 output ports for easy expansion and enhancement• Automatic 31-location CALL/RETURN stack• Predictable performance, always two clock cycles per instruction,up to 200 MHz or 100 MIPS in a Virtex-4™ FPGA and 88 MHzor 44 MIPS in a Spartan-3 FPGA• Fast interrupt response; worst-case 5 clock cycles• Assembler, instruction-set simulator support
![Page 17: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/17.jpg)
![Page 18: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/18.jpg)
Output from picoblaze
![Page 19: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/19.jpg)
Input to picoblaze
![Page 20: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/20.jpg)
![Page 21: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/21.jpg)
Have a fun with all picoblaze
![Page 22: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/22.jpg)
Can we use C language for FPGA ?
![Page 23: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/23.jpg)
![Page 24: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/24.jpg)
Microblaze Overview
Microblaze is a soft core embedded in the bit stream and is not available until the FPGA has been configured.
Software-only; updates for Microblaze are possible without regenerating the bit stream.
Is one of the Fastest soft processor Virtex- 5 (- 2), 400 MHz Virtex- II (- 5), 125 MHz
Is supported in the following Devices, Virtex, VirtexE, VirtexII, Spartan- II,
Spartan3
![Page 25: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/25.jpg)
![Page 26: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/26.jpg)
![Page 27: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/27.jpg)
![Page 28: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/28.jpg)
Microblaze - Architecture
Thirty-two 32-bit general purpose registers.
Separate 32-bit instruction and data buses OPB (On-chip Peripheral Bus).
Separate 32-bit instruction and data buses LMB (Local Memory Bus).
Hardware multipliers (in Virtex-II and subsequent devices).
Three stage pipeline architecture : Fetch, Decode and Execute.
![Page 29: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/29.jpg)
MicroBlaze - Architecure
The Microblaze core is organized as a Harvard architecture with separate bus interface units for data accesses and instruction accesses.
Each bus interface unit is further split into a Local Memory Bus (LMB) and IBM’s On-chip Peripheral Bus (OPB).
The LMB provides single-cycle access to on-chip dual port block RAM.
The OPB interface provides a connection to both on and off chip peripherals and memory.
![Page 30: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/30.jpg)
![Page 31: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/31.jpg)
Embedded DevelopmentTool Flow Overview
Data2MEM
Bitstream
Compiler/Linker
(Simulator)
C Code
Debugger
Standard Embedded SWDevelopment Flow
CPU code in on-chip memory
?CPU code in off-chip memory
Download to Board & FPGA
Object Code
Standard FPGA HWDevelopment Flow
Synthesizer
Place & Route
Simulator
VHDL/Verilog
?
Download to FPGA
![Page 32: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/32.jpg)
EDK The Embedded Development Kit (EDK) consists
of the following: Xilinx Platform Studio – XPS Base System Builder – BSB Creating/Importing IP Wizard Hardware generation tool – PlatGen Library generation tool – LibGen Simulation generation tool – SimGen GNU software development tools System verification tool – XMD Processor IP Drivers for IP Documentation
Use the GUI or the shell command tool to run the EDK tool
![Page 33: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/33.jpg)
Microblaze : Area Statistics
Area consumed by Microblaze. For a simple 8-bit counter written in “C” with the counter contents being displayed on LEDs,the details of the FPGA resources consumed are as follows: -
Device Used SPARTAN II (XC2S100 TQ144 -5) Number of BLOCKRAMs 4 out of 10
40% Number of SLICEs 769 out of 1200
64% 737 SLICES FOR MICROBLAZE 32 SLICES FOR One GPIO Total 769 SLICES of FPGA
![Page 34: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/34.jpg)
MicroBlaze - BenefitsThe Complete Solution Pre-verified and optimized
soft processor Core.
IBM CoreConnectTM bus Peripherals compatible with embedded PowerPCTM in Xilinx next generation Platform.
Microblaze applications
can range from software based simple state machines to complex controllers for internet appliances or other embedded applications.
![Page 35: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/35.jpg)
MicroBlaze32 Bit RISC
On Chip Peripheral Bus
BRAM
GPIO
LMB
UART TimerInterrupt Controller
OPB
EMAC
10/100Ethernet Phy
IIC/SPI
MicroBlaze :System Application
![Page 36: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/36.jpg)
MicroBlaze - System Diagram
Off-ChipMemory0-4GB
Off-ChipMemory0-4GB
Machine Status Reg
Program CounterData Bus Controller
Register File32 x 32bit
r0r1
r31Address
sideLMB
CoreConnectOPB I/F
CoreConnectOPB I/F
TM TM
Data Side LMB
UART
Timer /Counters
InterruptController
GeneralPurpose I/O
WatchdogTimer
Instruction Buffer
Instruction Bus Controller
Control Unit
MultiplyMultiply
Add /Subtract
Shift /Logical Multiply
PROCESSOR
PERIPHERALS
I-LMB
I-OPB D-OPB
D-LMB
![Page 37: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/37.jpg)
Soft Processors Soft processor is an implementation of a microprocessor
circuit using a standard FPGA.Features:
No dedicated silicon. Highly flexible.
Advantages Integration - Less IC’s on your board. Modifiable / Customizable Your system in silicon - nothing more, nothing less. Performance -
Some functions are easier to implement in software. Processor intensive functions can be Off- Loaded to
hardware integration.
![Page 38: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/38.jpg)
Advantages - continued
Soft processor cores can be ‘owned’ by the customer and used across many projects – never going obsolete! No IP / License issues
Peripherals can be added to make up the required functions No wastage of peripherals or logic gates!
Code and peripheral ‘banks’ can be built up and used across many projects over time.
![Page 39: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/39.jpg)
Have a fun with all Microblaze
![Page 40: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/40.jpg)
Our FPGA Kit
![Page 41: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/41.jpg)
Plug in module
![Page 42: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/42.jpg)
![Page 43: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/43.jpg)
Plug in module
![Page 44: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/44.jpg)
XC3S250E-4PQG208C
XC3S500E-4PQG208C
XC2C128_TQ144
XC6SLX9_TQFP144 XC6SLX25_-
3FTG256
![Page 45: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/45.jpg)
SPARTAN 6
![Page 46: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/46.jpg)
Input / Output kit
![Page 47: Smart logic](https://reader035.vdocuments.mx/reader035/viewer/2022062320/55cda7e4bb61eb17148b4655/html5/thumbnails/47.jpg)