EDN logo


Design Feature: July 21, 1994

Fuzzy-logic design tools help build embedded systems

Gary Legg,
Senior Technical Editor

Fuzzy logic is slowly catching on, and fuzzy design tools are getting better: They don't just help design fuzzy logic, they let you create complete embedded systems.

Thanks largely to easy-to-use design tools, fuzzy logic is now gaining a foothold in embedded systems. Although large numbers of commercial fuzzy-logic applications have yet to materialize (especially in the US), numerous successful test projects indicate that many fuzzy products will soon follow. For the most part, product developers will implement these products in surprisingly compact code in conventional microcontrollers (µCs).

Real commercial applications, however, require that fuzzy tools do more than just aid the design process. Because fuzzy code almost always coexists with conventional code in embedded systems, fuzzy tools must help combine the two. Increasingly, the tools are doing just that.


Better system capabilities

The latest fuzzy-logic tools provide substantial improvements in system-development capabilities. Intel's Fuzzybuilder, for example, merges fuzzy tools with Apbuilder, a software tool that automatically generates peripheral-initialization code for MCU-96 µCs. Also included is Modelbuilder, a software package that lets you create a system-level application model without writing any code. The fuzzy part of Fuzzybuilder comes from Inform, which also supplies a remote real-time debugger for fuzzy applications. Similarly, Togai InfraLogic includes remote debugging in its tools' capabilities.

Fuzzy tools are also linking with other tools: some fuzzy, some not. For example, Fuzzy Systems Engineering's Fuzzy Knowledge Builder (previously Manifold Graphics Editor) now creates input to ByteCraft's Fuzz-C Preprocessor, thus linking a front-end fuzzy design tool to a C-like language that appeals to designers already versed in conventional system development. For Windows-based applications, HyperLogic's CubiCalc and some other fuzzy tools now link fuzzy programs to other programs via dynamic data exchange (DDE).

Because the adaptation of fuzzy logic has been slower than expected, some fuzzy-tool manufacturers are scrambling to survive. As a result, choosing the right fuzzy tools to use—difficult enough in itself—can be complicated by concerns over whether or not a tool provider will remain viable.

Companies suffering most from the sluggish pace of fuzzy logic's commercial proliferation are those that have concentrated solely on fuzzy-logic products. Togai InfraLogic, Aptronix, and NeuraLogix, for example, have all put a great deal of effort into fuzzy products that have been slow to take off. As a result, Togai has scaled back, Aptronix has branched into fuzzy-logic consulting, and NeuraLogix has relocated from Florida to California's Silicon Valley. Of all the companies concentrating exclusively on fuzzy-logic tools, only pioneer HyperLogic has remained healthy. Other companies with fuzzy tools either augment their income with consulting and training in fuzzy logic or have developed fuzzy tools as an outgrowth of regular business.


Semiconductor partnerships

Semiconductor companies with a stake in fuzzy logic—notably companies that manufacture µCs—have formed relationships with third-party tool vendors. Inform, a German company that has offices in the US, is the most prominent of the third parties, having established partnerships with Intel, SGS-Thomson, Siemens, Texas Instruments (for fuzzy DSP applications), and Microchip Technologies. Chip-maker Hitachi has a partnership with Togai, as does VLSI Technology. Motorola works with Togai, Aptronix, and Hiware and also has in-house tool development. Of all the major chip makers, only National Semiconductor has developed its fuzzy tools solo.

Europe and Japan are well ahead of the US in fuzzy applications, and Europe, not surprisingly, is a major source of fuzzy design tools. Inform is the best known of the fuzzy companies, but Switzerland's Hiware is now getting attention from its alliance with Motorola. Another Swiss company, Fuzzysoft, also develops fuzzy tools; it markets through GTS Trautzl GmbH of Germany. Together, European and American fuzzy-tool vendors add up to a sizable number (Table 1).

Even some enthusiastic developers of fuzzy applications have been slow to adopt fuzzy tools, however. You can get by without special tools, they report, because fuzzy-logic software isn't all that complicated (Ref 1). Typical fuzzy controllers often run in only a few hundred bytes of code.

But to ignore the benefits of fuzzy tools, say other developers, is to ignore the benefits of fuzzy logic itself. Fast prototyping is one of fuzzy logic's main strengths, according to fuzzy-design-consultant David Brubaker, and prototyping is where fuzzy tools work best. Tools that can simulate a fuzzy design's performance are especially useful, says Brubaker. The simulator in HyperLogic's CubiCalc often assists Brubaker in quick feasibility studies, which turn into actual design projects.


Multiple capabilities

Various fuzzy design tools provide one or more of several capabilities:

Using fuzzy tools to design a fuzzy controller requires knowing how fuzzy logic works (Refs 2 to 5). Essentially, says Brubaker, you have to learn how to work in a different domain. Fortunately, that domain offers advantages that make your effort to learn worthwhile.

Different tools support the various fuzzy design steps in a range of ways—and to varying degrees. At a minimum, however, all tools let you do three things: define fuzzy input and output variables; specify fuzzy sets (also called membership functions or adjectives) that correlate fuzzy variables with fuzzy values; and define linguistic rules that describe the desired system behavior.

Once you have a fuzzy design, most of the tools automatically generate code for implementing it. Usually, the code is in C or assembly language for one of a number of µCs. A few tools do provide other languages, however (see box, "Features to look for"), including Basic, Fortran, and Ada. Often, fuzzy-tool-generated source code contains clear explanatory comments about the fuzzy operations it implements.


Tuning with a simulator

A simulator helps you "tune" your fuzzy design. Tuning, an iterative process of refining a fuzzy design, is usually the most time-consuming part of creating a fuzzy system. Without simulation, you can get into a lengthy loop of design modifications, code generation, downloading, and debugging. With simulation, you see the results of design changes almost immediately.

Simulators provide displays that demonstrate system behavior. These displays include both 3D plots of control surfaces (also called decision surfaces) and 2D orthogonal slices through the control surfaces. The 3D plots usually show one output variable as a function of two input variables (Fig 1); alternatively, they may show an error term as a function of inputs. Many simulators let you alter plot perspective by changing your apparent vantage point. To help compare the results of changes on different output variables, some simulators also let you view multiple 3D windows simultaneously.

With some tools, you can make design changes on the fly in the tuning process and see their simulated effects immediately. Typical modifications include changing the shapes of fuzzy membership functions, changing the values of variables, and defining new plots. You can usually change rules, too, although some restrictions may apply. For example, with some tools, you may have to restart the simulator when you change rules. With Togai's simulator, you can always delete and disable rules on the fly, but you'll have to make provisions when you set up your system if you want the option to add rules.

Remote, real-time debuggers help wring out a fuzzy controller after it's running in a target system. Like simulators, real-time debuggers let you alter, add, or delete membership functions and rules. Unlike simulators, these debuggers provide feedback from the embedded system itself. A communications link exists, usually via an RS-232C port, between the host and target systems. Remote debuggers are available from Inform and Togai.


Features for fuzzy design

At the heart of most fuzzy tools is the capability for creating the design for a fuzzy control system. With features such as graphics-based function editors and linguistic fuzzy-rule editors, the tools let you work intuitively in the fuzzy domain, at a level of abstraction above that of ordinary programming.

You begin a fuzzy design by specifying input and output variables and by defining membership functions. Membership functions typically have names like "warm" (to describe, for example, a measured temperature) or "fast." They express the fuzzy designer's intuitive concept of which temperatures correspond to "warm" and which speeds are fast. Depending on the fuzzy tool, you can create membership functions with a graphics editor, a text editor, or both.

Membership functions can have many different shapes (Fig 2), although not all fuzzy tools support all shapes. The most common shapes are triangles (pyramids) and trapezoids (truncated pyramids), which are usually symmetrical, but don't have to be. Membership functions can have many other shapes and even can be nonlinear, although nonlinear functions usually get converted to piecewise linear approximations when implemented in µCs. Output membership functions (sometimes called consequence functions) can also include singletons, which denote fixed values.

Simple membership functions, such as those with triangular and trapezoidal shapes, are adequate for most applications. In most cases, the smoothness of system response depends more on function overlap and defuzzification technique than on function shape. Really complex applications may require more complex shapes and, most likely, additional computing power—a 16-bit controller instead of an 8-bit device, for example. Nonlinear membership functions are usually confined to workstations, says Brubaker. For µC implementations, storage and computational costs are prohibitive.


Functions on functions

Some fuzzy design tools let you modify membership functions with "hedges" to accentuate or diminish the functions' effects. For example, the hedge "very" intensifies a function's effect; the hedge "somewhat" diminishes it (Fig 3). Different tools implement hedges in different ways. Typically, an intensifier such as "very" results from a pointwise squaring of the modified adjective; a diminisher such as "somewhat" results from a pointwise square root.

The utility of hedges is akin to the utility of subroutines. For example, instead of implementing several separate membership functions, you can save code by applying different hedges to a single function. Also, like subroutines, hedges aid conceptual understanding. Essentially, they apply a function to a function.

To help you define the rules for controlling a fuzzy system, fuzzy tools provide rule editors. These editors let you express rules linguistically with "if-then" statements. Some tools also provide matrix rule entry, which simplifies rule input (you don't actually need to write "if" and "then") and promotes thoroughness.

Fuzzy rules may have single or multiple antecedents ("if" parts) and consequents ("then" parts). Rule operators separate multiple antecedents. Virtually all tools provide an AND operator (for statements such as "if temperature is warm AND humidity is high"); other tools may have additional operators such as OR and NOT. Some tools also allow parentheses to control the order of term evaluation. The more flexibility a tool offers in writing rules, the more you can express rules in the way you naturally think. (Do not assume, however, that having fewer rules with more terms is better. Sometimes, reducing the number of rules is more trouble than it's worth.)

Looking Ahead
One advantage fuzzy logic has over conventional control systems is its flexibility in accommodating fairly broad variations in system parameters. In the future, however, fuzzy logic will be even more flexible. The components of a fuzzy system will be variable—rather than fixed—so the system itself can change as conditions change.

In adaptive fuzzy-logic systems, rules and fuzzy sets (membership functions) can change on the fly. Some fuzzy design tools may add support for adaptive systems as early as this year, although many fuzzy designers may not be ready yet for that next level of abstraction.

Although many designers still are learning how to use fuzzy logic's most basic capabilities, the long-range trend will be toward creating more sophisticated systems. For example, fuzzy-logic consultant David Brubaker reports already having designed a system with two fuzzy controllers—one that actually provides system control and another that adapts the first one to changing conditions. The combination of fuzzy control and conventional proportional-integral-differential (PID) control will also be more prevalent. An adaptive system could even use a fuzzy controller to adapt a PID controller to changing conditions. Eventually, genetic algorithms will help fuzzy systems adapt.

In the meantime, the use of neural networks with fuzzy systems will grow. And that growth will be assisted by more and better fuzzy design tools with neural-net modules.


What the fuzzy code does

The code a fuzzy tool generates must perform all the steps required of a fuzzy-logic controller. These steps include fuzzification (to convert input "crisp" values to fuzzy values), inferencing (application of fuzzy rules), and defuzzification (to determine crisp output values). Different tools perform the steps in different ways, and some individual tools provide choices of methods for some steps.

Fuzzification determines membership degrees (from 0 to 1) of input variables in fuzzy sets, which are denoted by input membership functions (partial membership is permissible in fuzzy set theory). For a simple single-antecedent rule, the degree of membership determines the degree to which the rule is active or the degree to which the rule's specified output actions occur. The methods the fuzzy tools provide for determining degree of membership range from simple table look-up to interpolation to computation of nonlinear functions. Obviously, the different methods make different demands on a fuzzy system for memory and computational power.

For multiple-antecedent rules, fuzzy inferencing combines the effects of all antecedents to determine a rule's overall effect. For two antecedents separated by an AND operator, the result most fuzzy tools supply is the minimum of the antecedents' degrees of membership in their respective fuzzy sets. For antecedents separated by an OR operator, the result is usually the maximum of the two numbers. Some tools (FS-Fuzzysoft, for example) provide more than simple minimum and maximum choices, but using this type of tool is probably beyond a novice designer's capabilities.

A rule's activation level, determined by combining antecedents' effects, applies to the rule's output membership function(s) to determine how much the rule contributes to system behavior. (In simple terms, the degree of truth of a rule's "if" part determines the degree of application of the rule's specified output actions.)

Application of the rule activation level to the output membership function most often occurs in one of two ways (Fig 4): clipping (sometimes called scaling via minimum) or scaling (also called scaling via multiplication). If your fuzzy tool provides a choice, determining which scheme to use can depend on your having a good working knowledge of fuzzy logic. However, some tools that offer both schemes help you make a choice according to the type of application you're designing. HyperLogic's CubiCalc, for example, defaults to the multiplicative scaling option if you've specified that the system you're designing should have a smooth response. Alternatively, the purpose of some fuzzy systems is to make distinct choices, in which case the response should not necessarily be smooth.

Features to look for
Unless you're ahead of most others on the learning curve, you probably won't need fuzzy-logic design tools with the most exotic features. Your primary concern, in fact, might simply be what processors the generated fuzzy code will run on.

Most fuzzy tools are available in versions for generating assembly-language code for numerous µCs. Other tools produce code for Texas Instruments TMS320 DSPs and for fuzzy processors and coprocessors from VLSI Technology and NeuraLogix. Most tools also generate C code.

In addition to C, some tools produce code in other high-level languages. Fuzzle, from Modico, generates Fortran; Fuzzy Knowledge Builder, from Fuzzy Systems Engineering, generates both Fortran and Basic. RT/Fuzzy Module, part of a larger system-development package from Integrated Systems, produces C and Ada code. The Fuzz-C Preprocessor from ByteCraft lets you write in a C-like language created just for fuzzy systems.

A simulator is an especially good feature to have in a fuzzy tool. Simulators are available in many tools; some others can link to separate simulators, such as MatLab.

A matrix rule editor is also nice. Implemented first by Fuzzy Systems Engineering, this feature is now in several other tools. A matrix editor simplifies rule entry and promotes thoroughness by displaying your entire rule base in tabular form.

A graphical membership-function editor can be helpful, although sometimes a text editor is more convenient. Try to select a tool with both—and then take your pick.

Membership functions more complex than triangles and trapezoids may go unused until you're a fuzzy expert, but they do reflect a tool's sophistication. Similarly, hedges are for the well initiated.

A remote real-time debugger will appeal to engineers with embedded-system experience. Unlike simulators, real-time debuggers let you know what's happening in the processor that runs your fuzzy code.

The control-systems specialist may benefit from FS-Fuzzysoft (GTS Trautzl), which allows mixing of classical and fuzzy techniques.


Schemes for combining rules

To determine the combined effects of all rules, fuzzy inferencing combines output fuzzy sets (consequents) to create a resultant fuzzy set. Again, various combination schemes exist; CubiCalc's options (Fig 5) illustrate the general idea. In Fig 5, the combination of two sets may result in the maximum point-by-point values of the two sets, the added pointwise values, or simply the "best" of the two sets. In general, "max" and "sum" tend to be better for continuous response, and "best" is better for distinct choices. The CubiCalc user's manual offers more detail.

Ultimately, the process of defuzzification computes a "crisp," numerical output value from scaled and combined membership functions. This process, like others, can occur in a variety of ways (Fig 6). One method, usually called the centroid method, computes the center of gravity of combined, scaled-output membership functions. Other methods include variations that involve the maximum height of the resultant consequent. As with other stages of the fuzzy process, the preferred method sometimes depends on whether you need smooth results or whether you are selecting from discrete choices. The centroid is good for smooth results but somewhat compute intensive.

Knowing which fuzzy options to use, or even which ones to require in a fuzzy design tool that you buy, depends on a level of knowledge too great for an article of this length to convey. However, it's often true that fuzzy logic's robustness enables you to create a very good controller even if you haven't made all the best possible choices. Most important, according to many fuzzy designers, is simply to get started in fuzzy logic. Experience is the best teacher.

You can learn fuzzy logic in different ways. Most fuzzy-tool vendors have inexpensive, limited-capability versions of their products, which you can learn to use hands-on. Some of the tools' user's manuals also contain good tutorial information, and many fuzzy tool companies offer training in fuzzy-logic design.


Automation via neural nets

You may be able to bypass some learning by using a tool with neural-network capabilities. The neural nets in these products can "learn" how a system should work by processing large numbers of input and output data sets. With that knowledge, the tools then generate the code for a fuzzy system with much less user involvement than would otherwise be required. Neural-net tools for fuzzy applications are available from Inform, Motorola, National Semiconductor, and Togai. National recently updated its offering to produce C code; the earlier version generated only assembly code for COP8 controllers.

If neural nets spare you the effort of learning fuzzy logic, however, they may exact a price in demanding at least a rudimentary knowledge of neural networks. They can also require large amounts of computing time to do their learning.

As with every new discipline, fuzzy logic has a learning curve. It's not a terribly steep curve, though, according to many fuzzy designers; it just requires putting in the time and effort to shift into a new mindset. Most designers who have made the effort say it's worth it.


Contact Senior Technical Editor Gary Legg at (617) 558-4404; fax (617) 558-4470.


Table 1—Fuzzy-Logic Tools
SourceProductDescriptionPrice
Aptronix Inc
San Jose, CA
(408) 428-1881
Fide high-level kit Windows-based graphical tool has matrix
rule entry and simulator. Develops C code,
MatLab M file code,and assembly code for
Motorola 6805, 68HC05,68HC08, 68HC16, and 6833x.
$3495
Fide midlevel kit Same as high-level kit, but generates
only C code and assembly code for 6805,
68HC05, 68HC08, and 68HC11.
$1995
Fide starter kit Limited-capability version. Generates C
code and 68HC11 assembly code.
$350
ByteCraft Ltd
Waterloo, ON, Canada
(519) 888-6911
Fuzz-C Preprocessor DOS-based tool translates C-like fuzzy-logic
descriptive text to fast, compact C source code.
Shows simple plots of membership functions as
comments within the code.
$149
Byte Dynamics
Spokane, WA
(509) 926-6011
Fuzzy Logic Designer Windows-based graphical tool develops
ANSI C source code. Simulator provides
3D and 2D plots.
$395
Fuzzy Systems Engineering
Poway, CA
(619) 748-7384
Fuzzy Knowledge Builder Windows-based tool provides matrix rule
entry and graphical input of membership
functions. Simulator provides 3D and 2D plots. Creates code in C, Basic,
Fortran, and assembly languages
for processors from Motorola, National, TI,
Intel, and Analog Devices. Also creates
ByteCraft Fuzz-C Preprocessor code.
$295
Fuzzy Thought Amplifier Windows-based tool provides
interface for modeling, capturing, and
exercising thought models. Provides graphical
input in format of directed graph with feedback.
$129
Fuzzy Decision Maker Windows-based tool helps break apart
and capture subjective judgments needed
to make complex decisions.
$195
GTS Trautzl GmbH
Kaltenkirchen, Germany
Fax (49) 4191-88665
FS-Fuzzysoft Windows-based tool that adds fuzzy logic
to system- design and conventional control
(P, PI, PID) capabilities. Has matrix rule
editor and simulator. Optional modules generate
C code and assembly code for 68xxx, 8051,
6811, and 80C166. FS-Fuzzy-expert
NFS option adds neural-net capability.
$499
Hitachi America Ltd
Brisbane, CA
(415) 589-8300
Fuzzy Logic Embedded
Controller Development
Packages
Windows-based tools developed with
Togai generates assembly-language code for
H8/300, H8/500, HMCS400, and SH
(32-bit RISC) controllers.
$1530 to $4500
Hiware AG
Basel, Switzerland
(41) 61-3317151
Hi-Flex Windows-based graphical tool generates C code
and assembly code for 68HC11 now, more
Motorola microcontrollers later. Includes
simulator and debugger.
Allows use of nonfuzzy functions.
N/A
HyperLogic Corp
Escondido, CA
(619) 746-2765
CubiCalc Windows-based graphical tool for
developing PC-based fuzzy logic.
Has extensive simulation, tracing,
and plotting capabilities.
$495
CubiCalc-RTC CubiCalc superset converts fuzzy systems
into C structures for use with included DLL
or in stand-alone 80x86 programs.
Optional fuzzy-engine source code allows
embedded-system development.
Optional CubiCard ($700) gives
PC analog and digital I/O.
$795
CubiQuick Limited version of CubiCalc allows
experimenting with fuzzy logic.
$179
Inform GmbH
Aachen, Germany
(49) 2408 6090

Evanston, IL
(708) 866-1838

Fuzzytech
Standard Edition
Windows-based tool generates
8- and 16-bit C code. Has graphics
editor and simulator. Works with
optional remote real-time debugger
and optional neural-net module.
$999
Fuzzytech
Explorer Edition
Limited version of Standard Edition.
Generates 16-bit C code.
$199
Fuzzytech
MCU Editions
Generates C code and assembly
code for µCs. Versions available
for Motorola 8051, Intel 80C196,
Siemens 80166 and 81C99, Microchip
Technology PIC, SGS-Thomson ST6,
TI TMS320.
Remote real-time debugger runs on
PC and allows debugging of fuzzy
applications running in embedded 80C196.
$1690 to $2090


$2840

Intel Corp
Santa Clara, CA
(800) 468-8118
Fuzzytech
MCU-96 Edition
Inform's Fuzzytech MCU Edition
for MCU-96 family.
$2056
Fuzzybuilder
(FUZZYBLDRMCU96)
Hardware/sofware kit that includes
Fuzzytech MCU-96 Edition and Intel's
ProjectBuilder 196. Options include
NeuroFuzzy module and real-time
remote cross debugger.
$2096
to $4896
Fuzzytech
Explorer-96 Edition
Inform's Fuzzytech Explorer Edition
for MCU-96 family.
$215
Fuzzybuilder
(FUZZYBLDREXP96)
Hardware/sofware kit that includes
Fuzzytech Explorer-96 Edition
and Intel's ProjectBuilder 196.
$396
Fuzzytech
MCU-51 Edition
Inform's Fuzzytech MCU Edition
for 8051 family.
$1932
Integrated Systems Inc
Santa Clara, CA
(408) 980-1500
RT/Fuzzy Module Tool for X Window systems is
part of SystemBuild product for
modeling and simulating complex
control systems. Generates real-time
fuzzy-logic code in C or Ada.
$5000
Microchip Technology
Chandler, AZ
(602) 963-7373
Fuzzytech Tools from Inform for PIC µCs. N/A
Modico Inc
Knoxville, TN
(615) 531-7008
Fuzzle DOS-based tool with graphical interface
generates C and Fortran code. Compiler
required to generate executable code,
but not to develop inference engines.
Windows version due this fall.
$275
Motorola Inc
Austin, TX
Contact local office
M68HXBFIDS Version of Fide from Aptronix
generates assembly code for
68HC05 and 68HC11.
$995
FLEDKT01 Education kit includes demo version
of Fide. Generates C and assembler code
for 68HC05, 68HC11, 68HC16, and 68300.
Includes neural-net capabilities.
$195
National Semiconductor Corp
Santa Clara, CA
(800) 272-9959
NewFuz4-C
Development Kit
Windows-based development system uses
neural networks for automatic creation
of fuzzy rules and membership functions
from input data sets. Generates C code and COP8 assembly code. Includes simulator.
$15,000
NeuFuz4-C
Learning Kit
Limited-capability version of NewFuz4-C. $399
NeuFuz4
Development Kit
Windows-based development system uses
neural networks for automatic creation
of fuzzy rules and membership functions
from input data sets. Generates COP8
assembly code; includes some COP8 software tools.
$3975
NeuFuz4
Learning Kit
Limited-capability version. $199
NeuraLogix Inc
San Jose, CA
(408) 383-7200
Insight Windows-based development system
for NeuraLogix NLX22X family of
stand-alone fuzzy-logic controllers.
Includes simulator. Has features
unique to NLX22X hardware.
$995
NeuralWare Inc
Pittsburgh, PA
(412) 787-8222
FuzzySP Windows-based fuzzy-logic tool for
business applications such as market
analysis and risk assessment.
$2995
FuzzyEmbed Software module that enables embedding
fuzzy logic developed with FuzzySP
into application software.
$495
SGS-Thomson
Microelectronics
Milan, Italy: (39) (2) 575 461

Phoenix, AZ: (602) 867-6259

Fuzzytech Tools from Inform for ST6 µCs N/A
Siemens
Semiconductor Group
Munich, Germany
(49) 89 4144 8223

Siemens Corp
Santa Clara, CA:
(408) 777-4500

Fuzzytech Tools from Inform for 80C166 family,
8051, 81C99 fuzzy coprocessor.
N/A
Texas Instruments Inc
Dallas, TX
(800) 477-8924, ext 4500
Fuzzytech MCU-320
Edition
Windows-based tool developed with
Inform generates C and assembly code
for TMS320 DSP family.
$1890
Fuzzytech MCU-320
Explorer Edition
Reduced-capability version of MCU-320
Edition. Generates DSP assembly code.
$199
Togai Infralogic Inc
Irvine, CA
(714) 588-3800
TILShell
Professional Edition
Windows-based graphical tool generates
C code. Extensive features include simulator,
matrix rule editor, on-line debugger, and
TILGen neural-net module.
$3495
TILShell
Standard Edition
Same as Professional Edition, but without
on-line debugger and TILGen.
$1795
TILShell+ Like TILShell Standard Edition, but
without matrix rule editor and some
other capabilities.
$795
MicroFPL
development system
Optional software modules generate
assembly code for specific mCs and
assemblers (included). Versions available
for 8051; 6811; Hitachi H8/300, H8/500,
and HMCS400; and Oki 65000 and 66000.
$595
FuzzyCLIPS Windows-based tool adds fuzzy-logic
capability to C Language Integrated
Production System (CLIPS), which NASA developed.
$199
to $899
VLSI Technology Inc
San Jose, CA
(408) 434-3000
TILShell TILShell family of tools from Togai
supports VY86C500 fuzzy-logic FSB
coprocessor accelerator core and
VY86C570 fuzzy-logic coprocessor.
N/A


References

1. Legg, Gary, "Transmission's fuzzy logic keeps you on track," EDN, December 23, 1993, pg 60.

2. Brubaker, David, "Fuzzy-logic basics: intuitive rules replace complex math," EDN, June 18, 1992, pg 111.

3. Brubaker, David, "Fuzzy-logic system solves control problem," EDN, June 18, 1992, pg 121.

4. Legg, Gary, "Special tools and chips make fuzzy logic simple," EDN, July 6, 1992, pg 68.

5. Conner, Doug, "Designing a fuzzy-logic control system," EDN, March 31, 1993, pg 76.


Acknowledgments

Dr David Brubaker of Huntington Advanced Technology (Menlo Park, CA, (415) 325-7554) provided useful comments, suggestions, and information for this article. David's fuzzy-logic column premieres in this issue of EDN and will appear every other issue.

Special thanks to HyperLogic (Escondido, CA, (619) 746-2765) for illustrations and concept explanations from the CubiCalc user's manual. The CubiCalc manual is a good source of information about fuzzy-logic design.


| EDN Access | feedback | subscribe to EDN! |
| design features | design ideas | Columnist |


Copyright © 1995 EDN Magazine. EDN is a registered trademark of Reed Properties Inc, used under license.