WO2003054691A1 - Programmable delay indexed data path register file for array processing - Google Patents
Programmable delay indexed data path register file for array processing Download PDFInfo
- Publication number
- WO2003054691A1 WO2003054691A1 PCT/IB2002/005126 IB0205126W WO03054691A1 WO 2003054691 A1 WO2003054691 A1 WO 2003054691A1 IB 0205126 W IB0205126 W IB 0205126W WO 03054691 A1 WO03054691 A1 WO 03054691A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- register
- registers
- data
- sample
- register bank
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 19
- 230000003111 delayed effect Effects 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 14
- 238000001914 filtration Methods 0.000 claims description 8
- 230000003044 adaptive effect Effects 0.000 abstract description 9
- 239000000872 buffer Substances 0.000 description 17
- 238000013461 design Methods 0.000 description 6
- 230000001934 delay Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 101000912503 Homo sapiens Tyrosine-protein kinase Fgr Proteins 0.000 description 2
- 102100026150 Tyrosine-protein kinase Fgr Human genes 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
Definitions
- This invention relates to digital signal processing, and more particularly, to optimizing data access in array processing and other multiprocessor systems.
- Circular buffers are commonly found in digital signal processors, such as, for example, the Analog Devices ADSP 2181 or the Philips REAL DSP, where a memory segment can be addressed after modifying the address by a modulo operation.
- the data is fetched in one cycle, stored in a register, and used as an operand in the next cycle.
- the circular buffer is maintained in memory and in order to process the data stored therein, or properly write new data thereto, memory read/write instructions must be used.
- Such instructions increase computing overhead, the complexity of the instruction set, as well the additional time taken by the memory handling.
- Modulo addressing allows the facilitation of a sequentially linked series of data elements, where when the end of the series is reached, the sequence wraps around to the beginning.
- a delay addressed data path register file is designed for use in a programmable processor making up a cell in a multi-processor or array signal processing system.
- the delay addressable register file is particularly useful in, inter alia, adaptive filters where the filter update latency is variable, interpolation filters where the interpolation factor needs to be programmable, and decimation filters where the decimation factor needs to be programmable.
- the programmability is achieved in an efficient manner, reducing the number of cycles required to perform this task.
- a single parameter, the "delay limit" value is programmed at start-up, setting up an internal delay-line within the register file of the processor.
- any of the delayed registers can be addressed by specifying the delay index during run-time.
- the delay line advances one location, modulo "delay-limit", when the processing loop starts a new iteration.
- Figures 1-2 illustrate pointer modified register addressing
- Figures 1 A and 2 A are Figures 1 and 2, respectively, with exemplary contents of the data registers
- Figure 3 depicts an example delay-indexed register set according the present invention
- Figure 4 depicts the register of Figure 3, shifted by one
- Figure 5 depicts a typical configuration of an adaptive filter as an equalizer
- Figure 6 depicts a polyphase implementation of an interpolation filter
- Figures 7 depicts a decimation filter
- Figure 8 depicts a dual register file for a decimation filter.
- Convolution is a basic signal processing operation found in many applications, especially in digital filters.
- Digital filters can be elegantly implemented using array processing techniques, such as the reconfigurable adaptive filter array processor used in the Multi-Standard Channel Decoder (MSCD) described in copending United States Patent Application Serial No. 09/968,119 (the "Parent Application"), discussed above.
- the reconfigurable processor array is composed of identical processor cells, each capable of communicating with its nearest neighbors and capable of being programmed individually to perform a single task. Because of the high data rates that need to be supported and the constraints on cost, the cells are constrained to be simple and efficient. The efficiency of the cell is determined in part by the design of an efficient instruction set and the supporting architecture that implements the instruction.
- the present invention describes the design of a delay addressed register file and the corresponding instructions. Such an instruction can be put to good use in a variety of filtering applications including, for example, adaptive filtering and multi-rate filtering in the context of array processing.
- the delay addressed data path register file design can be applied to any array based design of filters and is not limited to the two-dimensional array described in the Parent Application.
- RI x a register file set labeled RI x
- N the total number of datapath registers.
- the processor also have a typical RISC like instruction set and a sequential controller that executes a specified loop.
- an add instruction is of the form ADD SRC1 SRC2 DST, where SRC1 is source operandl, SRC2 is source operand 2 and DST is the destination register. All the three operands are drawn from the register file.
- Delay indexed addressing is a modification on pointer modified addressing. It is, essentially, a pointer modified addressing of the register file with certain initial conditions on the contents of the RD (pointer) register file, and a mechanism for automatic shift of the pointers every data cycle.
- Each register bank contains, for the purposes of this example, 4 registers, with addresses 0-3. These addresses of the registers 150, 250 are shown on the (outer) sides of each register. Next here is defined as subsequent, so at each shift the contents of a given RD_x register is shifted to the subsequent register, and the contents of the last register folds into the first.
- the contents of the RD_x registers are the addresses of the RI x registers.
- the contents of the RI x registers are the data being processed by the processor. In general the data will change with time, as data enters and exits the processor. It is easily seen that if each time the program counter resets a new datum enters the RI x register set 120, 220, then a delay line of depth equal to one less than the number of registers in the RD x set is set up. In the example of Figures 1-2, a delay line of depth 3 can be thus set up, the processor having access to the current datum (usually a sample of some analog value procured at a given sampling rate), and the previous three data, or samples. I.e., the processor has access to data samples Xn, Xn-i, Xn-2, and Xn-3.
- Figures 1 A and 2 A respectively correspond to Figures 1 and 2, to which they are identical, with the addition of example contents of the data register set RD_X.
- the new sample is always written over the oldest, or most delayed sample, stored in the register set.
- the new sample is always written - in this example - to the RI register one behind the register with the current sample, or to the RI X register pointed to by the RD_(0-1) register, RI[RD_3].
- Figure 3 illustrates such delay-indexed addressing for a delay buffer of depth 3.
- Figure 4 shows the advancement of the register pointers upon arrival of the new state.
- a delay limit called rlimit in Figures 3-4
- the pointer register shift is done modulo (rlimit+1); thus the contents of each RD_x register are changed by the subtraction of 1 (modulo (rlimit+1)).
- the modulus is (rlimit +1) because rlimit is the maximum delay stored in the RI x registers, but the actual number of registers in the delay line is (rlimit+1), to include the zero delay, or current, sample Xn.
- the value of rlimit is 3, thus there are four registers utilized in the delay line.
- a delay indexed pointer register allows a processor to implement any filter or other data processing operation whose inputs are a current datum and a number of data preceding the current datum in some sense. If the data vary relative to each other in time, then a temporal delay line can be maintained, allowing access to a current sample and a number of prior samples, such as is commonly required in FIR filters.
- the number of samples stored in the delay line will correspond in such a case to the number of delays in the filtering equation plus one, or in terms of the system depicted in Figures 3-4, (rlimit+1).
- the processor knows how many data samples are in the delay line by means of a preprogrammed variable rlimit, which gives the maximum delay stored in the data registers.
- index registers are automatically incremented using modular arithmetic so as to preserve the delay relationships between the ever-changing data.
- a "delay line” could be implemented where the samples vary not in time, but in space, such as in image processing operations, where "prior" corresponds to the prior in space, as defined by some direction within an image.
- RD_x The delay-indexed datapath register (RD_x) can be used to simplify programming of the tap delay line for adaptive FIR filters.
- LMS least mean squares
- x n are the filter states and c n are the filter coefficients.
- the filter coefficients are updated according to the formula:
- the filter update latency is the difference, measured in input data sampling periods, between the time the newly calculated error arrives at the cell and the time at which the filter tap output was calculated in the cell.
- the cell needs a delay buffer.
- the processor is programmed so as to automatically interpret operands in instructions of the type RI X as RI[RD_X].
- RI[RD_X] the type of operands in instructions of the type RI X as RI[RD_X].
- RI X operands it being understood that the processor is programmed to automatically convert those to RI[RD_X] operands.
- An inte ⁇ olation filter is a multi-rate filter where the output data rate is a multiple of the input data rate. A frequently used case is when this multiple is an integer.
- Such an inte ⁇ olation filter implements equation 1, but the input sequence is x is the actual input data with zeros stuffed in between. For example, if the inte ⁇ olation multiple is 3, then the input data stream 601 is modified by inserting 2 zeros between every pair of data samples before applying the filter 602. Since two in three data values are zeros, at any point in time only one third of the filter taps produce a non-zero output.
- a poly-phase filter utilizes this fact to avoid implementing the zero output taps.
- Figure 6 shows the working of a polyphase filter used as the inte ⁇ olation filter for an inte ⁇ olation multiple of 3. Equation 1 is then implemented as three filters that take a common input and whose outputs are multiplexed in time. The mapping of the filter taps to the cells is also shown in the figure.
- the delay limit register, rlimit is programmed to be 2, to be 2, for example by means of a dedicated instruction. Coefficients 0, 1, and 2 are stored in RI O, RI 1 and RI 2 respectively. The coefficients are thus stored in consecutive registers which are delay addressed.
- the controller program executes three loops, for every data sample period. Let the input data in a cell be stored in RI_3.
- RI_4 RI_3*RI_2
- RI_2 has coefficient CO
- RI_2 has Cl
- RI_2 has C2.
- the filter output in each program cycle corresponds to the inte ⁇ olation filter output, thereby inherently implementing the output multiplexer. Note that the state is shared between the filters; for a 9-tap filter and an inte ⁇ olation factor of 3 there are only 3 states needed.
- the decimation filter is just the dual of the inte ⁇ olation filter. Such a decimation filter is depicted in Figure 7. For a decimation factor of 3 710, two out of three output samples after filtering are discarded. This means that the discarded filter outputs need not be calculated in the first place.
- This structure can be derived by simply reversing the flow graph of the inte ⁇ olator depicted in Figure 6, which results in the structure shown in Figure 7. However, unlike the inte ⁇ olation structure of Figure 6, the states are not shared. The two output delays inherent in the system are shown at 720 and 730 in Figure 7.
- a second delay addressed register buffer is required, addressed by the same pointer register RD_X
- An example implementation of just such a system is shown in Fig. 8.
- the two delay addressed register buffers are addressed in lock- step, fetching the corresponding pairs of coefficients and states.
- RI0 X 810 and RI1 X 820 Let the coefficients be stored in RI0 X 810; specifically for the example of decimation by 3, let RI0_0 be CO, RI0_1 be Cl and RI 2 be C2, as above. Let the incoming data be stored in RI1 X 820. Specifically, let the new data sample be stored in RI1_0, so that RI1_0 is Xn, RI1_ 1 is Xn-1 and RI1 2 is Xn-2. Let the parameter rlimit be 2 (modulo 3) as in the case of the inte ⁇ olator example discussed above, setting up a delay line with three consecutive elements.
- (rlimit+1) is the number of FIR taps being computed in one cell.
- one or more data register banks RI X can be indexed by the same RD X pointer register bank, each data register bank being addressed in lock step.
- the data register bank and the pointer register bank can each be incremented at a rate different than the data sample rate.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2004-7009643A KR20040069335A (en) | 2001-12-21 | 2002-12-03 | Programmable delay indexed data path register file for array processing |
AU2002351109A AU2002351109A1 (en) | 2001-12-21 | 2002-12-03 | Programmable delay indexed data path register file for array processing |
JP2003555339A JP2005513643A (en) | 2001-12-21 | 2002-12-03 | Programmable delay index type data path register file for array processing |
EP02785822A EP1459168A1 (en) | 2001-12-21 | 2002-12-03 | Programmable delay indexed data path register file for array processing |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/026,258 US6970895B2 (en) | 2001-10-01 | 2001-12-21 | Programmable delay indexed data path register file for array processing |
US10/026,258 | 2001-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003054691A1 true WO2003054691A1 (en) | 2003-07-03 |
Family
ID=21830768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2002/005126 WO2003054691A1 (en) | 2001-12-21 | 2002-12-03 | Programmable delay indexed data path register file for array processing |
Country Status (7)
Country | Link |
---|---|
US (1) | US6970895B2 (en) |
EP (1) | EP1459168A1 (en) |
JP (1) | JP2005513643A (en) |
KR (1) | KR20040069335A (en) |
CN (1) | CN1286003C (en) |
AU (1) | AU2002351109A1 (en) |
WO (1) | WO2003054691A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310133C (en) * | 2004-08-04 | 2007-04-11 | 联合信源数字音视频技术(北京)有限公司 | Video image pixel interpolation device |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7107401B1 (en) * | 2003-12-19 | 2006-09-12 | Creative Technology Ltd | Method and circuit to combine cache and delay line memory |
US7937557B2 (en) | 2004-03-16 | 2011-05-03 | Vns Portfolio Llc | System and method for intercommunication between computers in an array |
US7480689B2 (en) * | 2004-11-19 | 2009-01-20 | Massachusetts Institute Of Technology | Systolic de-multiplexed finite impulse response filter array architecture for linear and non-linear implementations |
US7904695B2 (en) | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous power saving computer |
KR100781358B1 (en) * | 2005-10-21 | 2007-11-30 | 삼성전자주식회사 | System and method for data process |
US7966481B2 (en) | 2006-02-16 | 2011-06-21 | Vns Portfolio Llc | Computer system and method for executing port communications without interrupting the receiving computer |
US7904615B2 (en) | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous computer communication |
KR101241892B1 (en) * | 2006-06-22 | 2013-03-11 | 엘지전자 주식회사 | A receiving apparatus and a receiving method for broadcasting |
WO2008101045A1 (en) * | 2007-02-15 | 2008-08-21 | Massachusetts Institute Of Technology | Architecture for systolic nonlinear filter processors |
EP1978449A2 (en) * | 2007-04-06 | 2008-10-08 | Technology Properties Limited | Signal processing |
JP2011090592A (en) * | 2009-10-26 | 2011-05-06 | Sony Corp | Information processing apparatus and instruction decoder for the same |
US8954714B2 (en) * | 2010-02-01 | 2015-02-10 | Altera Corporation | Processor with cycle offsets and delay lines to allow scheduling of instructions through time |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5996063A (en) * | 1997-03-03 | 1999-11-30 | International Business Machines Corporation | Management of both renamed and architected registers in a superscalar computer system |
EP1150202A2 (en) * | 2000-04-27 | 2001-10-31 | Institute for the Development of Emerging Architectures, L.L.C. | Method and apparatus for optimizing execution of load and store instructions |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644677A (en) | 1993-09-13 | 1997-07-01 | Motorola, Inc. | Signal processing system for performing real-time pitch shifting and method therefor |
US5659700A (en) | 1995-02-14 | 1997-08-19 | Winbond Electronis Corporation | Apparatus and method for generating a modulo address |
KR100236536B1 (en) | 1997-01-10 | 1999-12-15 | 윤종용 | Modulo address generator |
US6000834A (en) * | 1997-08-06 | 1999-12-14 | Ati Technologies | Audio sampling rate conversion filter |
US6366938B1 (en) * | 1997-11-11 | 2002-04-02 | Ericsson, Inc. | Reduced power matched filter using precomputation |
US6665695B1 (en) * | 2000-01-14 | 2003-12-16 | Texas Instruments Incorporated | Delayed adaptive least-mean-square digital filter |
-
2001
- 2001-12-21 US US10/026,258 patent/US6970895B2/en not_active Expired - Lifetime
-
2002
- 2002-12-03 EP EP02785822A patent/EP1459168A1/en not_active Withdrawn
- 2002-12-03 WO PCT/IB2002/005126 patent/WO2003054691A1/en not_active Application Discontinuation
- 2002-12-03 JP JP2003555339A patent/JP2005513643A/en not_active Withdrawn
- 2002-12-03 AU AU2002351109A patent/AU2002351109A1/en not_active Abandoned
- 2002-12-03 KR KR10-2004-7009643A patent/KR20040069335A/en not_active Application Discontinuation
- 2002-12-03 CN CNB028253388A patent/CN1286003C/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5996063A (en) * | 1997-03-03 | 1999-11-30 | International Business Machines Corporation | Management of both renamed and architected registers in a superscalar computer system |
EP1150202A2 (en) * | 2000-04-27 | 2001-10-31 | Institute for the Development of Emerging Architectures, L.L.C. | Method and apparatus for optimizing execution of load and store instructions |
Non-Patent Citations (2)
Title |
---|
BENNOUR I E ET AL: "REGISTER ALLOCATION USING CIRCULAR FIFOS", 1996 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS). CIRCUITS AND SYSTEMS CONNECTING THE WORLD. ATLANTA, MAY 12 - 15, 1996, IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), NEW YORK, IEEE, US, vol. 4, 12 May 1996 (1996-05-12), pages 560 - 563, XP000704661, ISBN: 0-7803-3074-9 * |
WONG K-L ET AL: "Fast address generation for the computation of prime factor algorithms", INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH & SIGNAL PROCESSING, vol. 2, no. 14, 23 May 1989 (1989-05-23) - 26 May 1989 (1989-05-26), New York, US, pages 1091 - 1094, XP010083124 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310133C (en) * | 2004-08-04 | 2007-04-11 | 联合信源数字音视频技术(北京)有限公司 | Video image pixel interpolation device |
Also Published As
Publication number | Publication date |
---|---|
CN1605061A (en) | 2005-04-06 |
KR20040069335A (en) | 2004-08-05 |
US20030062927A1 (en) | 2003-04-03 |
JP2005513643A (en) | 2005-05-12 |
AU2002351109A1 (en) | 2003-07-09 |
CN1286003C (en) | 2006-11-22 |
EP1459168A1 (en) | 2004-09-22 |
US6970895B2 (en) | 2005-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6970895B2 (en) | Programmable delay indexed data path register file for array processing | |
US6665790B1 (en) | Vector register file with arbitrary vector addressing | |
JPH11296493A (en) | Reconstitutable coprocessor for data processing system | |
JPH11272631A (en) | Data processing system and method therefor | |
KR20080053327A (en) | Shared memory and shared multiplier programmable digital-filter implementation | |
JP2020109605A (en) | Register files in multi-threaded processor | |
US7308559B2 (en) | Digital signal processor with cascaded SIMD organization | |
US6088782A (en) | Method and apparatus for moving data in a parallel processor using source and destination vector registers | |
JPH11163680A (en) | Filter structure and method | |
US8166087B2 (en) | Microprocessor performing IIR filter operation with registers | |
US4809208A (en) | Programmable multistage digital filter | |
US4939684A (en) | Simplified processor for digital filter applications | |
JP4955149B2 (en) | Digital signal processor with bit FIFO | |
EP3559803B1 (en) | Vector generating instruction | |
US6658440B1 (en) | Multi channel filtering device and method | |
US7260709B2 (en) | Processing method and apparatus for implementing systolic arrays | |
KR100188013B1 (en) | Fir filter embodying method used for limited impulse response by element movement | |
JPH047910A (en) | Integrated circuit device for signal processing | |
JP3701033B2 (en) | Data-driven information processing device | |
Ferry | Implementation of FIR filters for fast multi-channel processing | |
JP2005353094A (en) | Product-sum computing unit | |
WO1994001827A1 (en) | Adaptive canceller filter module | |
JP2006352724A (en) | Digital filter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2002785822 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20028253388 Country of ref document: CN Ref document number: 1020047009643 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003555339 Country of ref document: JP |
|
WWP | Wipo information: published in national office |
Ref document number: 2002785822 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2002785822 Country of ref document: EP |