Abstract
Abstract
In this article, a new current-mode, accurate, and fully programmable Interval Type-2 (IT2) membership function generator (MFG) in 0.18μm CMOS technology is presented. This IT2 fuzzifier is based on a Type-1(T1) fuzzifier that uses a new method for slope tuning. The proposed slope tuning method, leads to smaller active area and also significantly smaller total die area by reducing the number of required pins in comparison with previous methods. Small area, low power consumption, and especially suitable programming method, makes the proposed IT2 MFG suitable for fuzzifier block of general-purpose Fuzzy Logic Controllers (FLCs). The proposed IT2 MFG has an average power consumption of 570μW and has an area of 0.0183 mm2. Simulation results using HSPICE in a typical 0.18μm CMOS technology are presented to analyze the behavior of designed circuits.
Introduction
In recent years, the tremendous growth of the industry in producing consumer appliances using Fuzzy Logic Controllers (FLCs) has put Fuzzy Logic on the focus of the scientific community. Signals that fuzzy controllers deals with, are analog in nature. Hence, design of FLCs should be oriented towards the analog domain. The main advantages of analog FLCs in comparison with their digital counterparts include higher speed, lower power consumption, and smaller die size. Also, less interface circuitry such as Analog-to-Digital and Digital-to-Analog converters for interfacing sensors and actuators are required if we employ analog circuits for implementation of FLCs [1].
Sometimes a specific membership value (MV) cannot be defined for each element of the universe of discourse due to the random and linguistic uncertainties. In these cases, the usage of Type-1 FLCs (T1FLCs) is not suitable, because of their performance degradation. Type-2 fuzzy sets (T2 FSs) allow us to assign a certain interval of numbers for MVs of each element in the universe instead of crisp values [2–5]. Most of the papers in the literature claim that the performance of T2FLCs is better than T1FLCs under noisy conditions [6–8].
Figure 1 shows the modeling of the T2 membership function (MF) with two T1MFs. The upper T1MF is called UMF and the lower is called LMF. The region bounded with the two T1MFs is called the footprint of uncertainty (FOU). If the MVs of all elements in the bounded region are equal to 1, T2MF is called the IT2MF.
IT2FS is a simplified version of the generalized T2FS where the MVs are crisp intervals rather than functions. Figure 2 shows the difference of a general T2MF and IT2MF for a particular element, x = K. Real time applications usually use the IT2FSs due to simplification of the controller’s design process and their lower computational requirement [4, 9].
Figure 3 shows the block diagram of an IT2 FLC. IT2 fuzzifier converts its crisp inputs into an IT2 FS.
In [10], the membership function generator (MFG) provides the same shape for both UMFs and LMFs, and only the FOU can be controlled. Therefore it may have limited applications. In the proposed circuit in [11], slopes of rising and falling edges can not be adjusted independently, thus the same slope applies for both. In [11], resistor arrays are used for slope tuning of MFs, which increases the total die size. Because number of required pins is proportional to the number of available slopes. In the proposed structure, only one pin is needed for slope tuning, regardless of the number of different slope values. This leads to smaller total die size. Also, due to current-mode implementation, slopes of rising and falling edges, start and falling points of MFs, and then parameters of the MFGs can be defined more accurately.
Section 2 describes implementation of the IT2 fuzzifier and its building blocks in transistor level. Simulation results are presented in Section 3. Finally, conclusions and comparison with other works in the literature are presented in Section 4.
Circuit description
The proposed IT2 fuzzifier is based on T1 fuzzifier that generates Z-shape, S-shape, Triangular, and Trapezoidal MFs. For this reason, the operation of the proposed T1 fuzzifier will be explained.
T1 fuzzifier
Figure 4 shows the proposed structure for the T1 fuzzifier. It is based on modified Z-shape generator introduced in [13].
Figure 5 shows the effects of control parameters on Iout1, Iout2, and Iout.
The fuzzy-grade interval [0, 1] is represented by [0, IH]. IH represents maximum MV in both Z-Shape generators and T1 fuzzifier. IF1 and IF2 indicate the falling points and IS1 and IS2 indicate the slope values of falling edges (K1 and K2) in Z-Shape generators. It is clear that IF1, IF2, IS1, and IS2 determine the falling point, rising point, slope of falling edge (K1), and slope of rising edge (K2) in T1 fuzzifier, respectively.
Figure 6 shows the schematic of modified the Z-Shape generators used in Fig. 4.
The slope (Ki) is determined by Programmable Current Mirror (PCM) circuit. Programmability of the slope values of the PCM is obtained by varying IS in the predefined intervals.
The proposed PCM circuit is shown in Fig. 7. In Fig. 7(a) the lower NMOS devices provide different ratios of Iin, indicated by the fractions in front of each branch. Upper PMOS devices all have the same size.
Devices MA-MH are used to select the copy ratio. These devices are controlled by the control signals V1-V8 coming from the control circuit in Fig. 7(b).
The control circuit ensures that at any given moment, only one of the control signals may be high (VDD), therefore only one copy ratio may be selected. Programmability is achieved by varying a control current, IS, in an interval from 0.2uA to 1uA. The interval is divided to 0.1uA sections. At each section, one of the control signals V1-V8 is high and the rest are zero. Table 1 shows which control signal is active for each interval of IS.
Figure 8 is presented to elaborate operation principle of the circuit in Fig. 7(b). In Fig. 8(a), let IS = 0uA. This pushes the PMOS devices into deep triode region and VX will be close to VDD. By increasing IS NMOS devices begin sinking current and pulling VX lower. When K × I S increases sufficiently further 1uA, NMOS devices are pushed deep into triode region and VX will be close to zero. As depicted in Fig. 8(b), decreasing the copy ratio K, increases the value of IS in which VX goes from VDD to GND.
In Fig. 7(b), the copy ratio for each set of Mai and Mbi is greater than Ma,i +1 and Mb,i +1. This causes VX,i to switch from VDD to zero for a smaller IS than does VX,i +1. Upper PMOS devices all have the same size.
Figure 9 shows control signals V1-V8 and also VX1-VX8 versus IS which supports the data in Table 1.
The circuit in Fig. 7(a) can be modified as in Fig. 10, to reduce the power consumption. In circuit of Fig. 7(a), only one of the branches determines the output current at any given instance, and the power consumed in the rest of the branches is wasted. Transistors M R1 -M R8 , as shown in Fig. 10, switch off all branches but the active one, thus reduce the power consumption.
The main advantage of the proposed slope tuning method is that regardless of the number of different slope values, it needs only one bonding pad for PCM to apply IS. Whereas in [10–12], the number of bonding pads depends on the number of required slopes. Moreover, the method used in [11], employs on-chip resistors for slope value programming that increases the required chip area considerably. Therefore, the proposed PCM is more suitable for general-purpose FLC chips.
The output current of Z-shape MFGs for Iin > IFi can be expressed as follows:
To obtain a triangular shape in Fig. 5, the following equation must be satisfied
Substitution of Equation (2) in Equation (1) results:
Also, to obtain a trapezoidal shape, in Fig. 5, the following equation must be satisfied
Since UMF and LMF can have different shapes, application of the proposed current-mode IT2 fuzzifier in [10], will be limited to cases where UMF and LMF have the same shapes. Because in [10] I LMF = I UMF -I SHIFT , where I SHIFT is used to program width of the FOU. Also the proposed IT2 MFG in [11], is limited to cases where rising and falling slopes in UMF and LMF are the same for a particular IT2MF. To overcome these limitations, the presented structure in Fig. 11 is used. In this structure, shapes of UMF and LMF can be determined independently. Slopes of rising and falling edges, height and width of generated IT2MFs are also independently programmable.
Simulation results
All of the simulations presented in this article have been performed using HSPICE simulator in a 0.18μm CMOS process parameters with 1.8 V power supply voltage.
IT2 MFG circuit
Figure 12 shows simulation results of the T1 fuzzifier circuit. In Fig. 12(a) K1 = K2 = 2, IF2 = 1uA, and IF1 is varied from 6uA to 15uA in 1uA steps. In Fig. 12(b) K1 = K2 = 2, IF1 = 15uA, and IF2 is varied from 1uA to 10uA in 1uA steps. In Fig. 12(c) K2 = 2, IF1 = 6uA, IF2 = 1uA, and K1 varies from 0.5 to 2.25 in 0.25 steps. In Fig. 12(d) K1 = 2, IF1 = 20uA, IF2 = 1uA, and K2 varies from 0.5 to 2.25 in 0.25 steps.
Figure 13(a) shows several IT2MFs generated by the proposed IT2 fuzzifier that confirm its ability to generate different MFs. Control currents used for generation of these MFs are listed in Table 2. The waveforms in Figs. 19 and 20 are based on Equations (1), (3), and (4). For instance, the circuit operation can be checked by substituting the data corresponding to IUMF3 and ILMF4 from Table 2 in Equations (3 and 4), respectively.
Figure 13(b) shows sunk currents from VDD for IT2-MFs presented in Fig. 13(a). To estimate the power consumption, it is measured for the MFs shown in Fig. 13(a). The average power consumption is approximately 570μW.
Power supply noise analysis
Circuits are often supplied from noisy lines. For this reason, an 180 mVpp noise is applied to the power supply (VDD) to show its effect on circuit output. Building blocks of the proposed IT2 fuzzifier are current mirrors. So, the copied current will mostly depend on device ratios. Therefore, ideally the circuit is impervious to supply noise. Figure 14(a) shows the noisy power supply. Figure 14(b) and (c) show the ideal and noisy output currents for IT2 fuzzifier, respectively.
Mismatch analysis
The stochastic nature of the fabrication process causes mismatch in physical parameters (Na, μ, Tox) and layout dimensions of the MOS transistors which leads to mismatch in their electrical parameters. That is, technological parameters vary around their nominal values, therefore one should accept some degree of tolerance in performance of the circuits.
Devices fabricated in a CMOS process exhibit two components of mismatch: Systematic and Random (stochastic). Non-uniform thermal distribution during the fabrication process, dimensional errors, device orientation, etc, are some possible reasons for systematic mismatch. However, systematic mismatch is deterministic, predictable and can be extensively reduced with proper layout. Random mismatch represents the stochastic and unpredictable portion of mismatch. Statistical variations in the number of dopant atoms and dopant diffusion, edge roughness, polysilicon grain effects, etc, are some possible reasons for random mismatch. Larger device sizes and better process control reduce the random mismatch [1, 14].
In our design, systematic mismatch can be greatly reduced with proper layout and implementing the current mirrors close to each other. Therefore, there remains only the random mismatch [1]. Let the current in an MOS transistor to be:
Where . It can be shown that [1, 14]
Where δ (V t ) is the standard deviation of the threshold voltage, δ (β) is the standard deviation of the current factor and A V t and A β are technology dependent parameters. W and L are width and channel length of transistors, respectively. According to the Equations (6 and 7), we can conclude that the random mismatch can be reduced by selecting larger sizes for transistors.
In TSMC 0.18um process, A V t = 5mV . μm and A β = 1.04 % . μm for NMOS devices and A V t = 5.49mV . μm and A β = 0.99 % . μm for PMOS devices [15]. Monte Carlo analysis has been used to investigate effects of the random mismatch on the circuit performance. Since the statistical significance of 30 iterations is quite high, therefore a 30 points Monte Carlo analysis is done. If the circuit operates correctly for all 30 iterations, there will be a 99% probability that over 80% of all possible component values operate correctly [16]. Figure 15 shows mismatch simulation result of the IT2-fuzzifier.
The proposed PCM circuit has very low sensitivity to mismatch. This accounts for an advantage in comparison to other methods that employ resistive arrays for slope programmability in which resistors are prone to 20 to 30% tolerance. Also the proposed PCM circuit has very low sensitivity to mismatch. This is because the slope only depends on IS. The slope is constant when IS is within the intervals defined in Table 1. Therefore setting IS to be equal to the average value of each interval ensures a very low sensitivity to mismatch. There might be still a small sensitivity to mismatch present, which is due to the circuit in Fig. 10 which can be further reduced by selecting larger device sizes at the cost of larger chip area.
In this subsection the effect of temperature variation on performance of the circuits is discussed. Since the threshold voltage of transistors exhibit a temperature coefficient of approximately −1 mV/°K [14], it yields a −60 mv change across temperature range (270 to 330°K). Figure 16 shows the effect of temperature variation on performance of the IT2 fuzzifier.
Process corner analysis
Figure 17 shows output of the IT2 MFG in TT, FF, FS, SF, and SS process corners. T stands for ‘typical’, F for ‘fast’, and S for ‘slow’. The first letter refers to NMOS devices and the second to PMOS. In a ‘fast’ corner the threshold voltage drops below the normal value. The opposite happens in a ‘slow’ corner. The circuit operates in current-mode and by a first-order approximation, the current copied by a current-mirror depends only on transistor widths. Therefore, ideally, the output current is not affected by process corner variations. However, in reality, the copied current depends on VDS too which varies with process corners. This causes some slight changes in IOUT at different process corners which is shown in Fig. 17.
Device sizes
NMOS and PMOS device sizes in Figs. 4 and 6 are and , respectively. In Fig. 7(b), all of cascoded PMOS devices have the same size and are equal to . Also, size of cascade devices that sink current from IS, is . Sizes of the labeled NMOS devices in Fig. 7(b), are listed in Table 3.
In Fig. 10, devices MA-MH and MR1-MR8 all have the same size, which is . Also, all of cascoded PMOS devices have the same size and are equal to . Sizes of the labeled NMOS devices in Fig. 10, are listed in Table 4.
Layout and post layout simulation
Figure 18 shows layout of the IT2-fuzzifier which has an area of approximately 18300μm2. Also, Fig. 19 shows layout of the proposed PCM. The proposed PCM occupies 3880μm2. The IT2-fuzzifier has 4 PCM blocks which occupy approximately 85% of the total die area. The proposed IT2 fuzzifier can generate 8 different slopes for rising and falling edges of the UMF and LMF, while all slopes are totally independent of each other. However, it only needs 4 pins to inject the currents for controlling the slopes, and any number of slopes can be increased without any need to increase the number of pins.
Figure 20 shows post layout simulation of the proposed IT2 fuzzifier. Table 5 lists the parameters used for post layout simulation.
Conclusions and comparison
In this paper a fully programmable IT2 MFG based on T1 MFG is proposed. The proposed IT2 MFG uses a new method for slope tuning that makes the proposed IT2 MFG suitable for general-purpose FLCs. Moreover, due to current-mode realization, slopes, rise/fall points, and position of the MFs can be determined more precisely than voltage mode counterparts. Table 6 provides a comparison between the proposed IT2 fuzzifier and some of other IT2 fuzzifiers reported in the literature.
The main advantage of the proposed IT2 fuzzifier compared to previous works, as Table 6 suggests, is that the number of control pins is independent of the number of available slopes. The proposed IT2 fuzzifier requires only 4 control pins to control slopes of rising and falling edges of the UMF and LMF. Moreover, like [12] and unlike [10, 11], it can generate the UMF and LMF independently. Similar to previous works, the proposed IT2 fuzzifier can produce triangular, trapezoidal, Z-shape, and S-shape MFs for UMF and LMF.
The proposed IT2 fuzzifier requires a larger area than other works. However, as mentioned in section 3.7, 85% of the total area belongs to the PCM circuitry, which controls the slopes. In addition, the proposed circuit can generate 8 different slopes for rising and falling edges of the UMF and LMF, independently. In contrast, the proposed circuit in [10] can only generate 3 different slopes which are always similar for rising and falling edges of both UMF and LMF. Also in [12], no mechanism is proposed to control the slope, which means restriction in generating different MFs.
Also, as mentioned in Section 3.3, δ (Vt) and δ (β) depend on device dimensions. However, in [10–12], circuit performance has not been investigated in presence of mismatch. In addition, the number of different available slopes are not the same in the proposed work with other similar works [10–12]. Therefore, their comparison in terms of area is not fair. Finally, the most important advantage of this work to previous ones is that it only needs 4 pins for slope tuning.
