US7236051B2 - Programmable glitch filter - Google Patents
Programmable glitch filter Download PDFInfo
- Publication number
- US7236051B2 US7236051B2 US10/379,874 US37987403A US7236051B2 US 7236051 B2 US7236051 B2 US 7236051B2 US 37987403 A US37987403 A US 37987403A US 7236051 B2 US7236051 B2 US 7236051B2
- Authority
- US
- United States
- Prior art keywords
- glitch
- signal
- flip
- filter
- depth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/125—Discriminating pulses
- H03K5/1252—Suppression or limitation of noise or interference
Definitions
- the present invention is directed to an improved apparatus and method for increasing the reliability of data in microchips by providing an improved signal filter. More specifically, the present invention is directed to an improved and programmable glitch filter.
- the reliability of data signals in the microchips is an ever-increasing important issue.
- reliability what is meant is the amount of certainty that the data signals are not corrupted by noise imparted to the data signal.
- Noise may be imparted to a data signal from a number of different sources, one of which is crosstalk between signals lines.
- a number of solutions are available to assure data validity.
- One of these methods involves filtering glitches that can lead to corrupt data.
- glitch filters are used to filter out glitches in the data signals.
- the known glitch filters are of a fixed depth type. By fixed depth, what is meant is that the glitch filter can only examine the data signal for a fixed, non-adjustable, length of time to determine if a glitch occurs. Another way of saying this is that the glitch filter can filter the data signal for only a fixed, non-adjustable length of time.
- the present invention provides an apparatus and method for filtering glitches in data signals.
- the present invention provides a programmable glitch filter that may be programmed to filter glitches of different depths.
- the present invention further provides a glitch filter that is programmable and incorporates a synchronizer for synchronizing the filtered output from the glitch filter to a different clock domain than that of the clock input.
- FIG. 1A is an exemplary block diagram illustrating a high level operation of the present invention
- FIG. 1B is an exemplary block diagram illustrating the primary operational components of the programmable glitch filter of the present invention
- FIG. 2 is an exemplary circuit diagram illustrating one embodiment of the present invention.
- FIG. 3 is an exemplary diagram illustrating the filtering of clock signals using the present invention.
- FIG. 1A is an exemplary block diagram illustrating the operation of the present invention.
- a programmable glitch filter 110 receives, as input, an unfiltered data signal 120 , a clock signal 130 , a glitch depth signal 140 , and a reset signal 150 .
- the programmable glitch filter 110 of the present invention operates on the unfiltered data signal 120 to filter out glitches of various depths based on the glitch depth indicated by the glitch depth signal 140 . In this way, the depth of the glitches filtered out by the programmable glitch filter is programmed by the glitch depth signal.
- the resulting output 160 of the programmable glitch filter 110 is a filtered signal synched to the clock signal 130 .
- FIG. 1B is an exemplary block diagram illustrating the primary operational components of the present invention.
- the programmable glitch filter 110 includes a glitch check depth setting device 180 that sets a glitch check depth, e.g., the number of clock cycles within which a glitch may be filtered out of an input data signal.
- the glitch check depth setting device 180 may set the glitch check depth based on an input signal used to program the glitch check depth, for example.
- the glitch check depth setting device 180 sets the glitch check depth of the glitch determination device 184 in the glitch filtering device 190 .
- the glitch determination device 184 operates, when there is a difference between the input data signal and the data output signal, to determine if a glitch occurs within the programmed glitch check depth. If a glitch occurs during the programmed glitch check depth, the glitch determination device 184 notifies the filter 186 which filters out the glitch. When the input data signal and the output data signal are different, and a glitch does not occur during the programmed glitch check depth, the input data signal is passed out of the programmable glitch filter unchanged.
- the output from the glitch filtering device 190 is provided to a multiplexer 192 along with a glitch depth signal from glitch check depth setting device 180 . If the glitch depth signal indicates that no filtering is to be performed, the input data signal is output as the data output signal with no filtering performed. If the glitch depth signal indicates that filtering is to be performed, the multiplexer 192 outputs the filtered input data signal as the data output signal.
- FIG. 2 is an exemplary circuit diagram of a programmable glitch filter in accordance with one exemplary embodiment of the present invention.
- the programmability of the glitch filter 200 of the present invention stems from the input of a glitch check depth signal 260 , or glitch depth signal, to multiplexer 1 210 in conjunction with synchronizer 220 and flip-flops 230 - 238 .
- the glitch check depth signal 260 programs the multiplexer 1 210 to look at certain ones of the outputs from synchronizer 220 and flip-flops 230 - 238 thereby modifying the filtering time length.
- the glitch check depth signal 260 also serves as a selection signal for multiplexer 290 which selects the output from flip-flop 280 if the glitch check depth signal 260 is not 000 or 001, as described hereafter.
- the multiplexer 290 selects the output signal from synchronizer 242 as the output signal for the programmable glitch filter if the glitch check depth signal is 000 or 001.
- a data signal 240 is input to the programmable glitch filter 200 via a data signal line.
- the data signal 240 is input to synchronizer 242 which synchronizes the data signal to the clock signal 244 .
- the synchronized data signal is then output to buffer 246 and multiplexer 290 .
- the synchronized data signal in buffer 246 is output to XOR gate 250 .
- the XOR gate 250 compares the synchronized data signal from buffer 246 to the output from flip flop 280 . If the two signals have the same value, e.g., 0 or 1, then the output is left unchanged. If the two signals are different, then synchronizer 220 and flip-flops 230 - 238 are allowed to come out of reset. In such a case, the glitch filter 200 then operates on the synchronized data signal to filter out glitches having a time length designated by the glitch check depth signal 260 .
- the synchronizer 220 sends a single bit 1 signal to flip-flop 230 after two clock cycles (because the synchronizer 220 contains two flip-flops).
- the single bit 1 signal will then propagate from flip-flop to flip-flop with each subsequent clock cycle.
- the single bit 1 signal is sent from the flip-flop 230 to 232 , in two clock cycles the signal goes from flip-flop 232 to flip-flop 234 , and so on.
- synchronizer 220 keeps sending 1's on each clock cycle (it initially takes 2 clock cycles to get the “1” data signal out). Thus, in reset all outputs are 0. When the synchronizer 220 and flip-flops 230 - 238 are brought out of reset, all the 0 outputs become 1's in a shifting process from left to right.
- the outputs from the synchronizer 220 and the flip-flops 230 - 238 are sent to the multiplexer 210 .
- the multiplexer 210 receives a “1” signal from each of the synchronizer 220 and the flip-flops 230 - 238 within the programmed filter depth, the multiplexer 210 determines that the input data signal is valid, i.e. there is no glitch in the data signal.
- the glitch check depth signal in a preferred embodiment, is a three bit signal, although the glitch check depth signal may be any type of signal that can be used to program the multiplexer 210 to operate on a particular glitch depth.
- the multiplexer 210 based on the binary value of the three bit glitch check depth signal, changes the filter depth.
- the following is a table of the possible three bit binary values for the glitch check depth signal and the corresponding filter depth to which the multiplexer 210 is set.
- the three bit glitch check depth signal may be used to program the programmable glitch filter of the present invention.
- the designer would send a glitch check depth signal 260 having a value of “100” to the multiplexer 210 .
- the multiplexer 210 is programmed to look at the outputs from the synchronizer 220 and flip-flops 230 - 232 . If all outputs from the synchronizer 220 and flip-flops 230 - 232 are “1”, the multiplexer 210 passes the signal through to multiplexer 290 . If one of the outputs from synchronizer 220 and flip-flops 230 - 232 is “0”, the glitch filter is reset and held in reset until the comparison made by XOR gate 250 indicates a difference, at which time the operation repeats.
- the programmable glitch filter of the present invention may be provided with a second clock signal to which the filtered signal may be synched when output from the programmable glitch filter.
- the filtered signal may be synched to a different clock signal from that of the input data signal should the particular application require a different clock signal.
- FIG. 3 is an exemplary diagram illustrating the results of operation of the programmable glitch filter of the present invention on a data input signal.
- the unfiltered signal, or data input signal includes a glitch (the first rise) that must be filtered.
- this glitch is removed in the resultant output signal (FilteredSignalSyncClk 1 and/or FilteredSignalSyncClk 2 ).
- the present invention provides a programmable glitch filter in which the glitch check depth may be programmed into the filter.
- a single glitch filter may be used for a plurality of different uses. This allows for a “general purpose” glitch filter to be provided and used in a number of different applications without having to specially design each glitch filter for each application.
- FIG. 2 is only exemplary and is not intended to imply any limitations on the configuration of the programmable glitch filter of the present invention. Many modifications to the circuitry shown in FIG. 2 may be made without departing from the spirit and scope of the present invention. For example, in order to obtain a larger maximum glitch check depth, additional flip-flops may be provided whose outputs are sent to multiplexer 210 . Similarly, in order to provide a smaller maximum glitch check depth, fewer flip-flops may be provided.
Abstract
Description
TABLE 1 |
Glitch Check Depths |
Glitch Check Depth | |
Signal Value | Filter Depth |
000 | Pass signal through (no filtering) |
001 | Pass signal through (no filtering) |
010 | 3–4 Clock cycles |
011 | 4–5 |
100 | 5–6 Clock cycles |
101 | 6–7 |
110 | 7–8 Clock cycles |
111 | 8–9 Clock cycles |
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/379,874 US7236051B2 (en) | 2001-08-06 | 2003-03-05 | Programmable glitch filter |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/923,526 US6566939B1 (en) | 2001-08-06 | 2001-08-06 | Programmable glitch filter |
US10/379,874 US7236051B2 (en) | 2001-08-06 | 2003-03-05 | Programmable glitch filter |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/923,526 Division US6566939B1 (en) | 2001-08-06 | 2001-08-06 | Programmable glitch filter |
Publications (2)
Publication Number | Publication Date |
---|---|
US20030137343A1 US20030137343A1 (en) | 2003-07-24 |
US7236051B2 true US7236051B2 (en) | 2007-06-26 |
Family
ID=25448833
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/923,526 Expired - Fee Related US6566939B1 (en) | 2001-08-06 | 2001-08-06 | Programmable glitch filter |
US10/379,874 Expired - Fee Related US7236051B2 (en) | 2001-08-06 | 2003-03-05 | Programmable glitch filter |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/923,526 Expired - Fee Related US6566939B1 (en) | 2001-08-06 | 2001-08-06 | Programmable glitch filter |
Country Status (1)
Country | Link |
---|---|
US (2) | US6566939B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6894540B1 (en) | 2003-12-17 | 2005-05-17 | Freescale Semiconductor, Inc. | Glitch removal circuit |
GB2437121A (en) * | 2006-04-11 | 2007-10-17 | Wolfson Microelectronics Plc | A debounce circuit with low latency |
US8466723B2 (en) * | 2007-09-27 | 2013-06-18 | Synopsys, Inc. | Clock generator |
CN110912539A (en) | 2018-09-14 | 2020-03-24 | 恩智浦美国有限公司 | Clock generator and method for generating clock signal |
CN111769825B (en) * | 2020-06-28 | 2024-01-26 | 上海琪云工业科技有限公司 | Signal filtering method and signal filtering device |
US11323106B1 (en) * | 2020-11-23 | 2022-05-03 | Texas Instruments Incorporated | Glitch filter system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5289060A (en) * | 1992-09-16 | 1994-02-22 | Texas Instruments Incorporated | Programmable glitch filter |
US5563532A (en) * | 1994-01-24 | 1996-10-08 | Advanced Micro Devices, Inc. | Double filtering glitch eater for elimination of noise from signals on a SCSI bus |
US6246276B1 (en) * | 1995-11-02 | 2001-06-12 | Advanced Intelligence, Inc. | Clock signal cleaning circuit |
US6535057B2 (en) * | 2000-05-29 | 2003-03-18 | Stmicroelectronics Ltd. | Programmable glitch filter |
US6823017B1 (en) * | 1999-10-29 | 2004-11-23 | International Business Machines Corporation | Systems, methods and computer program products for filtering glitches from measured values in a sequence of code points |
-
2001
- 2001-08-06 US US09/923,526 patent/US6566939B1/en not_active Expired - Fee Related
-
2003
- 2003-03-05 US US10/379,874 patent/US7236051B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5289060A (en) * | 1992-09-16 | 1994-02-22 | Texas Instruments Incorporated | Programmable glitch filter |
US5563532A (en) * | 1994-01-24 | 1996-10-08 | Advanced Micro Devices, Inc. | Double filtering glitch eater for elimination of noise from signals on a SCSI bus |
US6246276B1 (en) * | 1995-11-02 | 2001-06-12 | Advanced Intelligence, Inc. | Clock signal cleaning circuit |
US6823017B1 (en) * | 1999-10-29 | 2004-11-23 | International Business Machines Corporation | Systems, methods and computer program products for filtering glitches from measured values in a sequence of code points |
US6535057B2 (en) * | 2000-05-29 | 2003-03-18 | Stmicroelectronics Ltd. | Programmable glitch filter |
Also Published As
Publication number | Publication date |
---|---|
US20030137343A1 (en) | 2003-07-24 |
US6566939B1 (en) | 2003-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5001374A (en) | Digital filter for removing short duration noise | |
US6763489B2 (en) | Method for scan testing of digital circuit, digital circuit for use therewith and program product for incorporating test methodology into circuit description | |
EP2132582B1 (en) | Method for determining asymmetrical signal lag of a signal path inside an integrated circuit | |
JP2007108172A (en) | Apparatus for measuring on-chip characteristics of semiconductor circuit, and method therefor | |
US6771099B2 (en) | Synchronizer with zero metastability | |
US7236051B2 (en) | Programmable glitch filter | |
US5534805A (en) | Synchronized clock generating apparatus | |
JP3433426B2 (en) | Method and apparatus for decoding Manchester encoded data | |
JPH08149120A (en) | Asynchronous serial data receiver | |
US5867695A (en) | Method and system for reduced metastability between devices which communicate and operate at different clock frequencies | |
US20030125921A1 (en) | Circuit simulation apparatus, circuit simulation method, circuit simulation program, and storage medium storing circuit simulation program | |
US5901189A (en) | Symmetrical correlator | |
US5274628A (en) | Multisignal synchronizer with shared last stage | |
JPH10239397A (en) | Ic testing device | |
US7206798B1 (en) | Apparatus and method for programmable dual stage digital filter | |
JPH10126228A (en) | Digital waveform shaping circuit | |
JP3044956B2 (en) | High-speed digital signal processing circuit | |
JP2924100B2 (en) | State transition circuit | |
US7047432B1 (en) | Method and system for synchronizing output from differently timed circuits | |
JP2973613B2 (en) | Programmable counter | |
JP3218294B2 (en) | Logic integrated circuit | |
CN116488617A (en) | Circuit and method for filtering digital signal burrs | |
JP2679607B2 (en) | Pointer processing circuit | |
JPH0715487A (en) | Interruption fault detection system | |
JPH0685629A (en) | Coincidence detecting circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:LSI CORPORATION;AGERE SYSTEMS LLC;REEL/FRAME:032856/0031 Effective date: 20140506 |
|
REMI | Maintenance fee reminder mailed | ||
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LSI CORPORATION;REEL/FRAME:035390/0388 Effective date: 20140814 |
|
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20150626 |
|
AS | Assignment |
Owner name: LSI CORPORATION, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 Owner name: AGERE SYSTEMS LLC, PENNSYLVANIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 |