1 Introduction to Triple-mode Redundancy
Triple-mode redundancy (TMR) technology is a sequential circuit reinforcement technology. Its basic idea is to generate two identical modules for the module to be reinforced, and then output them through majority voting. In this way, even if one module fails, the circuit can still work normally. The structure of triple-mode redundancy is divided into space redundancy and time redundancy. Time redundancy means that there is a certain delay between the three clock signals, and the delay value should be greater than the maximum pulse width of the SEU flip-flop. The role of time redundancy is that for the input burrs of the timing circuit, at most only one clock will sample the wrong value, so it can effectively prevent the errors caused by combinational logic glitches. Figure 1 is a circuit diagram of a trigger reinforced with ordinary space-time triple-mode redundancy (hereinafter referred to as TMR trigger), where VOTER is the combinational circuit of the majority voter.
Although triple-module redundancy technology can greatly improve the reliability of the system, the cost is also huge. From the basic structure of TMR, it is not difficult to see the two disadvantages of using TMR technology: first, the chip area is increased to more than three times the original due to hardware redundancy; second, due to the delay between the three clock signals and the addition of a voting circuit at the output, additional delays are introduced on the critical path, resulting in a decrease in the operating speed of the circuit.
If the critical path delay between the two triggers in the design is too short (such as a shift register), the triple-module redundancy circuit structure in Figure 1 may have problems with circuit output instability and circuit state errors during operation. Figure 2 is a circuit diagram of a 4-bit shift register reinforced with triple-module redundancy, and the circuit of the TMR_DFF module in the figure is shown in Figure 1.
FIG3 is a simulation waveform diagram of the top module of the register reinforced with triple-module redundancy. The circuit state at the marked line in the figure is wrong (it can be seen from the input d that the correct state should be that the output becomes 7 after the third clock rising edge). The reason is that TMR_DFF is a combinational logic output. At the first rising edge, the input D of reg0 is sampled by clk and clk_skew[1], and out[0] becomes 1. The input out[0] of reg1 is sampled by clk_skew[0], and its q2 (the signal in the circuit of FIG1) becomes 1. The circuit state is still 1. When the second rising edge comes, since q2 of reg1 is already 1, the input out1 of reg2 becomes 1 after being sampled by clk. After the majority vote, out1 becomes 1, and the circuit state is 3. After the input out1 of reg2 is sampled by clk_skew[1] and clk_skew[0], its q1 and q2 become high, and the output out2 becomes high. The circuit state becomes 7, and an error state occurs.
If the delay between clocks is reduced, the circuit may appear in an indeterminate state. The reason is also due to the early output of the combinational logic, which will not be discussed here.
2 Implementation of Triple-mode Redundancy
2.1 Modify the Netlist Secondary Synthesis
The function of DC synthesis is to read the RTL code of the design and synthesize the RTL code to the structural level according to the timing constraints, thereby generating a mapped gate-level netlist. One of the important steps is to specify the synthesis library used for synthesis. The synthesis library is generally provided by the wafer manufacturer. The library contains information such as pin-to-pin timing, area, pin type and power consumption. The cells in the gate-level netlist after synthesis are the cells defined in the library.
The reinforcement process of triple-mode redundancy is actually to generate two redundant triggers for each trigger in the design and add voting logic, which cannot be reflected in the RTL code. Therefore, the gate-level netlist after the original design synthesis can be modified, the trigger is changed to a triple-mode redundant trigger, and the triple-mode redundant trigger module is written with the gate-level description. Then, it is synthesized again with the modified netlist to obtain the netlist file after triple-mode redundancy reinforcement. It is worth mentioning that there are many types of triggers in the DC synthesis library, such as SDFF, EDFF, SEDFF, JK, and DFF. Even if the synthesis script is limited to using only DFF triggers, there will be several types, so for different units, corresponding three-module redundant trigger modules must be written (its structure is shown in Figure 1). In addition, since there are three clock signals, a clock generation module must be written, whose function is to generate two clock signals with mutual delays from clk.
First, the RTL code of the original design is synthesized under Synopsys's synthesis tool DsignCompiler to obtain the gate-level netlist of the circuit. The circuit in the gate-level netlist actually describes the structure of the circuit by instantiating the units of the synthesis library. The formal verification tool Formality can be used to verify whether the RTL code and the synthesized gate-level netlist are functionally consistent.
Then modify the gate-level netlist, add the line type ck[2:0] to the netlist, and instantiate the clkgen module, then change the trigger in the netlist to a three-module redundant trigger, and modify its clock port to {clk, ck[1:0]}. Since the synthesis library does not contain these two modules, there are two modules in the netlist that are not processed by the synthesis tool, the clock generation module and the three-module redundant trigger module. The modified netlist is not a completely mapped gate-level netlist.
Finally, the modified netlist, clock generation module and three-module redundant trigger module are synthesized again. This synthesis is actually the synthesis of the clock generation module and the three-module redundant trigger, mapping them to units in the synthesis library. The gate-level netlist obtained is the gate-level netlist designed after the three-module redundant reinforcement.
2.2 Establishing a library unit of a triple-modular redundant trigger
Since the clock port of a triple-modular redundant trigger unit has 3 bits, even if a triple-modular redundant trigger unit is added to the library, the synthesizer cannot directly map the design to the unit. Therefore, the clock generation module can be placed inside TMR_DFF, so that the clock port of the triple-modular redundant trigger has only 1 bit. In the library file, the trigger unit is replaced with the corresponding triple-modular redundant trigger unit. DC can directly map the trigger in the circuit to TMR_DFF, and the design can be completed in one synthesis. However, this will increase the area of the entire chip a lot (the clock generation module is no longer shared). In addition, the above method can also be used to modify the netlist after the original design is synthesized. As mentioned earlier, there are many types of triggers in the library file, so corresponding library units should be established for different DFF triggers. The following is a method for establishing library units, which is mainly divided into two steps: layout design and simulation feature extraction.
The establishment of a cell library must first complete the layout design of the cell. After determining the types of cells and cell circuits contained in the cell library, the layout design of the cell is completed according to the process parameters and design rules of the processing manufacturer, and the circuit netlist is exported. At this time, the netlist not only contains the circuit structure, but also the resistance and capacitance parameters. Then the cell parameter extraction work can be carried out.
Parameter extraction requires the selection of a tool for parameter extraction. Here, Silicosmart is selected. Secondly, the simulation tool, such as HSpice, must be determined. The main steps include creating a working directory to configure the simulation environment, introducing a reference library, generating simulation files, running simulation feature extraction, and generating library files. Creating a working directory
means creating a directory for Silicosmart to run. At this time, a script file named config.tcl will be automatically generated. Some key configurations need to be performed manually, mainly including the selection of simulation tools (HSpice is selected here), the specification of simulation models, and the setting of variables such as ambient temperature. Introducing a reference library is to specify a reference library cell for the tool. The tool extracts the information of the reference cell and generates a control file for the cell. The file describes in detail the information of the cell to be extracted. Including unit netlist file, pin information, logic function, input signal rise/fall time, output pin load, etc. If there is no reference library file, you need to write the file manually. Generating simulation file tells the tool which aspects of the unit to extract characteristics, such as timing, power consumption, CCS model, etc. Running simulation extraction is to extract the characteristics of the unit. Generating library file will generate 2 library units, of which .v is the simulation library used by the simulation tool, and .lib is a readable comprehensive library. You can use the read_lib *.lib command to read the .lib file in DC, and then use the write_lib* *.db command to generate the .db comprehensive library (* represents the name of the library unit).
For radiation hardening, in addition to circuit hardening, you may need to choose a more reliable process. SOI process has good radiation hardness. It eliminates the latch effect and effectively reduces the single particle effect. At this time, you need to build your own unit library. The trigger unit in the library can be directly built into a library unit of a triple-mode redundant trigger.
3 Conclusion
The radiation resistance of chips in aerospace systems is an important indicator. For radiation-resistant processors and memories, irradiation experiments are an important part of the test. Triple-mode redundancy reinforcement technology is only one of many radiation-resistant reinforcement technologies. Other commonly used technologies include error detection and correction code EDAC and SOI process reinforcement. The cost of using SOI process for wafer production is more expensive than that of ordinary processes. The establishment of a standard cell library is a basic task for ASIC design. It is very important for chip design to establish a standard cell library that meets the design requirements. This article provides a general method for this.
Previous article:Application of surge absorber in product testing
Next article:Analysis of the circuit and principle of small current generation of UA level current
- Popular Resources
- Popular amplifiers
- MathWorks and NXP Collaborate to Launch Model-Based Design Toolbox for Battery Management Systems
- STMicroelectronics' advanced galvanically isolated gate driver STGAP3S provides flexible protection for IGBTs and SiC MOSFETs
- New diaphragm-free solid-state lithium battery technology is launched: the distance between the positive and negative electrodes is less than 0.000001 meters
- [“Source” Observe the Autumn Series] Application and testing of the next generation of semiconductor gallium oxide device photodetectors
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- Will GaN replace SiC? PI's disruptive 1700V InnoMux2 is here to demonstrate
- From Isolation to the Third and a Half Generation: Understanding Naxinwei's Gate Driver IC in One Article
- The appeal of 48 V technology: importance, benefits and key factors in system-level applications
- Important breakthrough in recycling of used lithium-ion batteries
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Share: CCS dual-core chip DSP end development
- How to use Wireshark to capture Zigbee packets
- Album of Common Functional Module Routines for the National Undergraduate Electronic Design Competition
- Will there be any problems with this power wiring?
- [CY8CKIT-149 PSoC 4100S Review] + PWM Analysis and Use (Part 2)
- FAQ_ Some boards do not work properly after waking up
- Application of TMC2310 DSP chip in underwater target detection and parameter estimation
- Get accurate, fast and stable analog voltage from digital PWM signal
- What affects the output distortion of an op amp?
- MCU Learning