fuzzy logic controller - rice university
TRANSCRIPT
![Page 1: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/1.jpg)
�
ARBITER:Fuzzy Logic Controller
ARBITER:Fuzzy Logic Controller
Elec 422 Group A: Kevin Duh, Vernon Evans, Chris Flesher, David Suksumrit
AMD-Rice VLSI Design Contest Dec 5, 2002
![Page 2: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/2.jpg)
�
Precision vs. SignificancePrecision vs. Significance
Conventional Logic Fuzzy Logic / Human Logic
![Page 3: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/3.jpg)
�
Basics: Membership Function Basics: Membership Function
Words are inherently imprecise. This imprecision is captured by MF
![Page 4: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/4.jpg)
�
Basics: IF-THEN RulesBasics: IF-THEN Rules
• Example• “If falling object looks BIG, then yell ‘Watch Out!’
LOUDLY”• “If falling object looks SMALL, then tell him ‘Watch
Out!’ CALMLY”
• BIG, LOUDLY, SMALL, CALMLY are defined by membership functions
• Enables fuzzy chip to make decision like humans!
![Page 5: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/5.jpg)
�
Why VLSI Implementation?Why VLSI Implementation?
• Speed• Needed for Real-time applications
• Scalability• Parallel processing of fuzzy rules
• Our Design Goal: • General-Purpose VLSI Fuzzy Controller • Flexible & Fast (best of both worlds)• Analagous to DSP Chip
![Page 6: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/6.jpg)
�
Functional DescriptionFunctional Description
• 2 Input, 1 Output, 3 Fuzzy Rule• Loadable Membership Functions (MF)• 2-Stage Pipeline
![Page 7: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/7.jpg)
�
Main PLAMain PLAControls loading, IF & THEN PLA’s, pipeline
![Page 8: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/8.jpg)
�
IF Unit: PurposeIF Unit: Purpose
• Evaluates height of intercept (“degree of truth”) for each IF statement
![Page 9: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/9.jpg)
�
Challenge: How to represent membership function?
Challenge: How to represent membership function?
• Problem: Space vs. Flexibility• Possible solution: Lookup Table
• Pros: • Flexible expression of function• Fast access
• Cons: • Takes too
much space• Zero values waste space• Not challenging
![Page 10: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/10.jpg)
�
Solution: Point-Slope MFSolution: Point-Slope MF
• Our solution: • Represent geometric shape with slopes & point• Cons:
• Math hardware required• Slower, variable-time
calculation• Pros:
• Much less space• Represent most
MF shapes
![Page 11: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/11.jpg)
�
Algorithm for Finding InterceptAlgorithm for Finding Intercept
• Begin at apex, iterate subtractions until xResult is y (height/degree of truth)
![Page 12: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/12.jpg)
�
THEN Unit: PurposeTHEN Unit: Purpose
• Find the areas under the “cut” value for each THEN statement and Aggregate into a big MF
• Find Center of Mass for big MF -> final answer!
![Page 13: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/13.jpg)
�
Challenge: Center of Mass Challenge: Center of Mass
• Problem: complicated Center of Mass equation -
COM = xiyii=1
16
∑ yii=1
16
∑
![Page 14: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/14.jpg)
�
Possible SolutionPossible Solution
• Possible Solution: Direct Implementation
• Too much hardware! • Too slow (multiplication)
COM = xiyii=1
16
∑ yii=1
16
∑
![Page 15: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/15.jpg)
�
Our solution: DoubleLoop AdderOur solution: DoubleLoop Adder
• Calculate Num & Den simultaneously• No multiplier needed
numden
= xiyii=1
16
∑ yii=1
16
∑
y16 +(y16+y15) +(y16+y15+y14)
…3
y16 +(y16+y15)y16+y15+y142
y16y16+y15 1
0y160numdent
![Page 16: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/16.jpg)
�
More on DoubleLoop AdderMore on DoubleLoop Adder
• Proof:
• Pros:• Fast: Only 17 cycles • Minimize hardware:
no multipliers needed• Division:
• Re-use hardware!
num = 16 y16 + 15 y15 + 14 y14 + ... + 1y1
= y16 + ( y16 + y15 ) + (y16 + y15 + y14 ) + ... + (y16 + y15 + y14 + ...y1)= y16 + ( y16 + y15 ) + (y16 + y15 + y14 ) + ... + den
![Page 17: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/17.jpg)
�
System FloorplanSystem Floorplan
![Page 18: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/18.jpg)
�
Standard Cell Layout: LATCHStandard Cell Layout: LATCH
• Compact • Scalable in any direction
![Page 19: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/19.jpg)
�
Full Layout & StatusFull Layout & Status
![Page 20: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/20.jpg)
�
Design for TestDesign for Test
• Decoder • 15 mutually control signals• Watch 105 signals total, 7 at a time• Asynchronous
• Matlab verification• Simulate test vector solutions
![Page 21: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/21.jpg)
�
Timing AnalysisTiming Analysis
• Main PLA: 15.72ns -> clock freq: 63MHz• 11 bit Carry-Select Adder: 14.74ns
![Page 22: Fuzzy Logic Controller - Rice University](https://reader030.vdocuments.us/reader030/viewer/2022012806/61bd437961276e740b110738/html5/thumbnails/22.jpg)
�
ConclusionConclusion
• We have:• Demonstrated a fuzzy controller that’s both FAST and
FLEXIBLE
• Applications:• Expert system:
• FuzzyMD• Data Mining
• Real-time: • robot control• image processing• environment control