Top Banner
The Memory/Logic Interface The Memory/Logic Interface in FPGA’s with Large Embedd in FPGA’s with Large Embedd ed Memory Arrays ed Memory Arrays Steven J. E. Wilton, Member, IEEE, Jonathan Rose, Me mber, IEEE, and Zvonko G. Vranesic, Senior Member, IEEE Laboratory of Reliable Computing Department of Electrical Engineerin g National Tsing Hua University Hsinchu, Taiwan
35

The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

The Memory/Logic Interface in FPThe Memory/Logic Interface in FPGA’s with Large Embedded MemGA’s with Large Embedded Mem

ory Arraysory Arrays

Steven J. E. Wilton, Member, IEEE, Jonathan Rose, Member, IEEE,

and Zvonko G. Vranesic, Senior Member, IEEE

Laboratory of Reliable ComputingDepartment of Electrical EngineeringNational Tsing Hua UniversityHsinchu, Taiwan

Page 2: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

ReferenceReference S. J. E. Wilton, “Architectures and algorithms f

or field-programmable gate arrays with embedded memory,” Ph.D. dissertation, Dept. Elect. Comput. Eng., Univ. Toronto, Toronto, Ont., Canada, 1997.

Page 3: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

OutlineOutline Introduction

Baseline architecture

Experiment methodology and result

Enhanced architecture and its improvement

Page 4: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

IntroductionIntroduction In the past, FPGA’s have been primarily used t

o implement small logic subcircuits As the capacities of FPGA’s grow, they will be

use to implement much larger circuits than ever before

In order to address the storage requirement of large system, FPGA with large embedded memory arrays are now developed by many vendors

Page 5: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

IntroductionIntroduction One of the challenges when embedding memory

arrays into FPGA is to provide enough interconnect between memory arrays and logic resources

Page 6: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Baseline ArchitectureBaseline Architecture

Page 7: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Memory/Logic Interconnect BlockMemory/Logic Interconnect Block

Page 8: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Benchmark Circuit GenerationBenchmark Circuit Generation Need to generate benchmark circuit for the arc

hitecture because Typical circuits have only a few memories each To gather hundreds of those is not feasible

The solution is to study the types of memory configuration found in systems, and develop a stochastic memory configuration generator Make sure they are realistic by some circuit analysis

Page 9: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Circuit Analysis Circuit Analysis Memory configuration

Logic memory clustering

Interconnect patterns Point to point patterns Shared-connection patterns Point to point with no shuffling patterns

Page 10: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Memory ConfigurationsMemory Configurations 171 circuits with total of 268 user memories, th

ey are from Recent conference proceeding Recent journal articles Local designer Customer study conducted by Atera

Page 11: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Memory ConfigurationsMemory Configurations

Page 12: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Logic Memory ClusteringLogic Memory Clustering

Page 13: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Interconnect PatternsInterconnect Patterns

Page 14: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Stochastic Circuit GenerationStochastic Circuit Generation A stochastic circuit generator is developed using the st

atistics gathered during circuit analysis The steps of generating a benchmark circuit

Choosing logical memory configuration Division logical memories into cluster Choosing interconnect pattern for each cluster Choosing number of data-in data-out subcircuits for the c

lusters Generate logic subcircuits and connect them to memory a

rrays

Page 15: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Implementation ToolImplementation Tool Each benchmark circuit generated is

“implemented” in each FPGA Logical to physical mapping Placement

Place memory and logic blocks simultaneously Routing

Initially nets to memory have higher priority Between each iteration the nets are reordered Repeat 10 times Increase W Determine the minimum value of W

Page 16: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Memory/Logic Flexibility ResultMemory/Logic Flexibility Result

Page 17: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Memory/Logic Flexibility ResultMemory/Logic Flexibility Result

Page 18: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Area ResultArea Result The area of the FPGA is the sum of

Logic blocks Memory blocks Routing resources

Programmable switch Programming bits Metal routing segments

Page 19: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Area ResultArea Result

Page 20: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Delay ResultDelay Result A delayed model is used to measure the memory

read time of all memories in the circuit CACTI: to estimate array access time Elmore: address in and data out

Page 21: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Delay ResultDelay Result

Page 22: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

IssuesIssues Nets connect more than one memory block to

one or more than one logic block When combining the small memory arrays to

implement a large one When data in pins of several user memories are

driven by a common data bus

Such nets often appear but unfortunately they are hard to route, especially for larger architecture

We can use higher value of Fm for larger architecture or?

Page 23: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Further InvestigationFurther Investigation

Page 24: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Enhanced ArchitectureEnhanced Architecture The above motivates them to study memory to

memory connection more closely An enhanced architecture

Adding extra switches between memory arrays to support these nets

Result Extra switches take up negligible area Improvement in both speed and routability

Page 25: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Enhanced ArchitectureEnhanced Architecture

Page 26: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Baseline ArchitectureBaseline Architecture

Page 27: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Enhanced ArchitectureEnhanced Architecture

Page 28: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Evaluation of Enhanced ArchitectureEvaluation of Enhanced Architecture Maze routing algorithm must be restricted such

that it uses memory-to-memory switches only to implement memory-to-memory connection

If the maze router is not modified…

Page 29: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Routing Result Using Standard MazeRouting Result Using Standard Maze

Page 30: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Routing Result Using Standard MazeRouting Result Using Standard Maze

Page 31: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Modified MazeModified Maze Even though some tracks will be wasted if a

circuit contains no or few memory-to-memory connections, it alleviates the problem above

Page 32: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Area ResultArea Result

Page 33: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Area ResultArea Result

Page 34: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

Delay ResultDelay Result

Page 35: The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.

ConclusionConclusion Even with this relatively unaggressive use of the

memory-to-memory switches, area is improved somewhat and speed is improved significantly

The development of algorithms that use these tracks more aggressively is left as future work

The enhanced architecture reduces the channel width by 0.5~1 tracks, and improved the speed by 25%