CN104850829A - Coarse-grain parallel-based fingerprint matching unit - Google Patents

Coarse-grain parallel-based fingerprint matching unit Download PDF

Info

Publication number
CN104850829A
CN104850829A CN201510222159.2A CN201510222159A CN104850829A CN 104850829 A CN104850829 A CN 104850829A CN 201510222159 A CN201510222159 A CN 201510222159A CN 104850829 A CN104850829 A CN 104850829A
Authority
CN
China
Prior art keywords
fingerprint
signal
data
register
matching unit
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.)
Granted
Application number
CN201510222159.2A
Other languages
Chinese (zh)
Other versions
CN104850829B (en
Inventor
窦勇
姜晶菲
许金伟
刘志强
申小龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201510222159.2A priority Critical patent/CN104850829B/en
Publication of CN104850829A publication Critical patent/CN104850829A/en
Application granted granted Critical
Publication of CN104850829B publication Critical patent/CN104850829B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • G06V40/1376Matching features related to ridge properties or fingerprint texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1382Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger
    • G06V40/1388Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger using image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images

Abstract

The present invention discloses a coarse-grain parallel-based fingerprint matching unit and aims to improve the throughput of fingerprint matching modules, which comprises T fingerprint matching unit groups, a multi-request controller, a result campaign part, a memory access input selector, a memory, an indicating lamp, and a start button. The multi-request controller is composed of a request processing unit and a physical interface layer. The data read-write requests of the T fingerprint matching unit groups are arbitrated by the multi-request controller, and then data received by the memory access input selector are distributed to the T fingerprint matching unit groups. Each fingerprint matching unit group is composed of a fingerprint matching unit array, two control state machines, and several processing or storing parts formed by simple logical-sum registers. According to the technical scheme of the invention, the degree of parallelism is improved, and the throughput of fingerprint matching modules is improved. Meanwhile, the matching operation can be independently completed without any host.

Description

Based on the fingerprint matching unit of coarse grain parallelism
Technical field
The present invention relates to a kind of fingerprint matching unit, especially a kind of fingerprint matching unit based on coarse grain parallelism.
Background technology
In the current information epoch, individual's qualification is a very important topic, and fast, accurate and convenient be that individual identification systems are necessary.Fingerprint is that fingerprint identification technology is widely used in field of biological recognition as a kind of stable, unique and biological characteristic that is that easily gather.Fingerprint matching is a critical process of fingerprint recognition, therefore has the algorithm of a lot of fingerprint matching to be suggested.Based on the fingerprint matching algorithm of minutiae point, because simply, and matching precision is high and be widely used.
Minutiae point (minutia) is the unique point characterizing fingerprint otherness in fingerprint picture, and specification, a high-quality fingerprint picture generally have 70-80 minutiae point, and in local or incomplete fingerprint picture, the number of minutiae point will lack a lot.A minutiae point comprises three attributes, i.e. X-coordinate, Y-coordinate and direction.So a fingerprint simply can describe with its minutiae feature.Fingerprint matching is then the similarity comparing two fingerprint minutiaes.
In practical application, fingerprint matching is an application needing real-time, in order to reach this object, someone proposes relevant hardware scheme before, accompanying drawing 1 is fingerprint matching hardware cell (the Richard M.Jiang that the people such as Richard M.Jiang adopts the fingerprint matching algorithm based on minutiae point and designs, DannyCrookes, FPGA-based minutia matching for biometric fingerprint image databaseretrieval, J Real-Time Image Proc (2008), 3:177-182.).
With reference to Fig. 1, this fingerprint matching unit is made up of EJO (Early-Jump_Out) control module and PE (arithmetic element, Process-Element) array two parts.In order to ensure that this unit can normally run, fingerprint matching unit is connected with main frame, and main frame is connected with template fingerprint storehouse.Template fingerprint storehouse is the internal memory of storing template fingerprint.Main frame sends request to storer, reads finger print data, finger print data is given EJO control module from storer.PE array is connected with EJO control module, be made up of N number of PE, N represents the number of minutiae point in fingerprint to be checked, N gets 64,64 are less than for minutiae point number to be checked, needing minutiae point to be supplemented with invalid data (by the X-coordinate value of fingerprint minutiae, Y-coordinate value and direction value are all set to-1) is 64.PE completes comparing of fingerprint to be checked minutiae point and an all minutiae point of template fingerprint, N number of PE completes comparing of all minutiae point of the N number of minutiae point of fingerprint to be checked and a template fingerprint, to obtain in N number of minutiae point with the comparative result of template fingerprint minutiae point and give EJO control module by comparative result, identical if (namely the difference of fingerprint minutiae to be checked 3 attributes attribute corresponding to template fingerprint minutiae point is less than threshold value), then result is 1, if different, then result is 0.EJO control module is connected with PE array by broadcast channel, OR logic bus, and is connected with main frame by cable, sends template fingerprint address to main frame, receives enabling signal and template fingerprint data from main frame.The minutiae point of template fingerprint is broadcast to arithmetic element array by broadcast channel by EJO control module, and matching result is transferred to EJO control module by OR logic bus by arithmetic element array.EJO control module according to the comparative result obtained from PE array judge number that current template fingerprint is not identical with fingerprint minutiae to be checked whether be greater than before template fingerprint, if be greater than, then EJO control module produces new template fingerprint address and receives new template fingerprint from main frame; If be less than, then EJO control module sends the next minutiae point of current template fingerprint to PE array.
The fingerprint matching hardware cell that the people such as Richard M.Jiang proposes can realize per second 1.22 hundred ten thousand template fingerprints and fingerprint matchings to be checked.Even so, in most of occasion, the fingerprint base of fingerprint matching is all very huge, and existing fingerprint matching unit throughput (the template fingerprint number of coupling per second) still can not meet the requirement of real-time.
Summary of the invention
The technical problem to be solved in the present invention is to provide a kind of fingerprint matching unit based on coarse grain parallelism, improves fingerprint matching module throughput.
Adopt W (W=64K, K≤8) bit representation one group of data in the present invention, memory-aided memory access bit wide is also W position.The data prestored in storer comprise 3 parts: parameter, fingerprint to be checked and template fingerprint storehouse.Parameter comprises 3, namely single details in fingerprint count out, template fingerprint sum and matching result address.Single fingerprint minutiae number represents and is set to M by the minutiae point number that a fingerprint comprises, if the minutiae point number of certain fingerprint is less than M, then, when data pre-storage, fills with invalid data: invalid data generally adopts 7FFFFFFFFFFFFFFF to represent.Template fingerprint sum represents the number of the template fingerprint comprised in template fingerprint storehouse, and this parameter is used for as coupling end condition.Matching result address represents the first address that the result exported from fingerprint matching unit group of the present invention stores.Consider the size of coordinate figure and direction value, with 64 bit representation fingerprint minutiae in the present invention, wherein 18 bit representation X-coordinate, 18 bit representation Y-coordinate, 28 bit representation directions (orien).
The present invention is made up of T (0<T≤16) individual fingerprint matching unit group FMEG (FingerprintMatchingElementGroup), many request controllers, result election contest parts, memory access input selector, storer, pilot lamp, beginning key, and T fingerprint matching unit group FMEG is designated as fingerprint matching unit group 0 ~ fingerprint matching unit group T-1.
Many request controllers are connected with T fingerprint matching unit group, memory access input selector, arbitrate the access request of T fingerprint matching unit group, by the Data dissemination that receives from memory access input selector to T fingerprint matching unit group.
Fingerprint matching unit group i (0≤i≤T-1) campaigns for parts with many request controllers, result and starts key and is connected, and completes mating of one group of fingerprint and fingerprint to be checked.
Memory access input selector is an alternative selector switch, campaign for parts with many request controllers, storer and result to be connected, when the first control signal that result election contest parts send is invalid, memory access input selector receives the access request that many request controllers send, and send to storer, when receiving the data that storer sends, memory access input selector sends the data to many request controllers; When the first control signal that result election contest parts send is effective, the access request that memory access input selector reception result election contest parts send, and send to storer, when receiving the data that storer sends, memory access input selector sends the data to result election contest parts.
Result election contest parts are connected with T fingerprint matching unit group, memory access input selector and pilot lamp, select fingerprint the highest with result matching degree to be checked in template fingerprint storehouse according to matching result.
Storer is connected with memory access input selector, storing template fingerprint base, fingerprint to be checked, matching result and correlation parameter.
Start key to be connected with T fingerprint matching unit group, start the fingerprint matching unit based on coarse grain parallelism.
Pilot lamp and result are campaigned for parts and are connected, and instruction matching process completes.
Many request controllers are made up of requesting processing and physical interface layer.
Requesting processing is connected with T fingerprint matching unit group and physical interface layer, be responsible for from T fingerprint matching unit group selection one group as the current fingerprint matching unit group taking many request controllers, be denoted as fingerprint matching unit group j (0≤j≤T-1), requesting processing only processes the request of fingerprint matching unit group j, and only sends signal to fingerprint matching unit group j.Requesting processing by moderator, input selection parts, request response generating unit, export alternative pack, read enable generating unit and numbering buffer unit, order buffer unit, write request data buffering parts, readback data buffer unit four buffer units form.
Physical interface layer is connected with requesting processing and memory access input selector, physical interface layer by memory access Signal Processing Element, read FIFO_CMD control signal generating unit and read FIFO_WDF control signal generating unit to form, physical interface layer sends to memory access input selector by after the signal transacting received from requesting processing; Requesting processing is sent to by after the signal transacting received from memory access input selector.
Fingerprint matching unit group i (0≤i≤T-1) campaigns for parts with beginning key, many request controllers and result and is connected.Each fingerprint matching unit group structure is identical.Fingerprint matching unit group i by main control state machine, sub-control state machine, read request generating unit, write request generating unit, data receiver parts, calculate mated fingerprint number parts, data initialization flag register, work enabler flags register, current finger print group mate complement mark register, matching result register, unit group stop flag register, K (1≤K≤8) individual fingerprint matching unit (FME) forms.
Result election contest parts stop count out register, existing matching result numbered register, the first comparer, the second comparer, numbering selector switch of mark collecting part, memory access processing element, existing the match is successful minutiae point number register, existing template details in fingerprint to form by unit group.
Storer is Double Data Rate synchronous DRAM (DDR3 SDRAM), the data of any address can be provided at any time, storage size suggestion more than 2GB, memory access bit wide is W position, there is coupling desired data in storer, comprises the number of template fingerprint, the memory address of matching result in fingerprint to be checked, template fingerprint storehouse, template fingerprint storehouse.Storer is connected with memory access input selector.
The course of work of the present invention is as accompanying drawing 11, and bottom is the course of work of T fingerprint matching unit group, and top is the course of work of K fingerprint matching unit in fingerprint matching unit group 0, T=8, K=8 in figure:
1st step starts fingerprint matching unit:
Fingerprint matching unit group i receives the commencing signal starting key and send, and fingerprint matching unit group i sends read request enable signal i to many request processors, the read request response signal i that the many request controllers of wait-receiving mode send.
2nd step, the fingerprint RAM to be checked in initialization T fingerprint matching unit group:
T fingerprint matching unit group obtains the right to occupation of many request controllers successively according to polling mechanism, carry out data access, obtain finger print data to be checked by many request controllers, and finger print data to be checked is initialised in K fingerprint matching unit of each fingerprint matching unit group.
3rd step, reads template fingerprint data, carries out matching primitives, and write back matching result:
3.1st step, T fingerprint matching unit group obtains the right to occupation of many request controllers successively according to polling mechanism, carry out data access, obtain template fingerprint data by many request controllers, and template fingerprint data are write in K fingerprint matching unit of each fingerprint matching unit group.Each fingerprint matching unit group is after acquisition template fingerprint data, carry out matching primitives, after completing matching primitives, write request is sent enable to many request controllers, wherein T fingerprint matching unit group reads data or writes the operation of result because will take same many request controllers, because of but serial execution; And matching primitives is executed in parallel in T fingerprint matching unit group.
3.2nd step, T fingerprint matching unit group obtains the right to occupation of many request controllers successively according to polling mechanism, the intermediate result of matching primitives write in storer by many request controllers.If fingerprint matching unit group complete distribute obtaining of task, then stop mark to result election contest parts generating unit group.
4th step, result election contest parts detect the process of T fingerprint matching unit group task performance:
Result election contest parts detect whether receive T unit group stopping mark, if receive, then turn the 5th step, if result election contest parts do not receive T unit group stop mark, then turn the 3.1st step.
The process of the 5th step result election contest subassembly selection and the highest template fingerprint of fingerprint matching degree to be checked:
Result election contest parts are after receiving T unit group stopping mark, the first marking signal is sent to memory access input selector, and send memory access enable signal to memory access input selector, access request command signal, access request address, connect from memory access input selector and read to receive request return data, after all matching results are compared, select the template fingerprint the highest with fingerprint matching degree to be checked, and using the template fingerprint that obtains as write request data, write request enable signal, access request address sends to memory access input selector, memory access input selector will receive to obtain write request data, write request enable signal, access request address sends to storer, the parts of result election contest simultaneously send coupling settling signal to pilot lamp.
Compared with prior art, the present invention is adopted can to reach following technique effect:
(1) improve degree of parallelism, therefore improve fingerprint matching module throughput: present invention employs two-stage parallel organization: the first order is inner K the FME executed in parallel of fingerprint matching unit group i, can reach K degree of parallelism doubly; The second level utilizes to calculate and data access time is covered, the shared request controller more than of T fingerprint matching unit group when data memory access, and alternately, thus alternately carries out storer memory access for T fingerprint matching unit group alternately and many request controllers; , when fingerprint matching unit group i carries out memory access, another T-1 fingerprint matching unit group performs matching primitives concurrently.Because when T is less, T fingerprint matching unit group data access time is less than the matching primitives time of a fingerprint matching unit group, then fingerprint matching unit group j is after completing once calculating, fingerprint matching unit group j-1 has completed current data access, then fingerprint matching unit group j does not need to wait for, just can carry out next data access, so T fingerprint matching unit group can perform by complete parallel, now two-stage degree of parallelism is K*T.When T is larger, the data access time of T fingerprint matching unit group is greater than the computing time of a fingerprint matching unit group, when then meaning that fingerprint matching unit group j completes calculating, fingerprint matching unit group j-1 does not also complete data access, then fingerprint matching unit group j just needs to wait for that fingerprint matching unit group j-1 carries out data access, so T fingerprint matching unit group just can not perform by complete parallel, thus make the degree of parallelism of the second level be tending towards saturated, if degree of parallelism is P time saturated, then two-stage degree of parallelism is K*P.
(2) the present invention does not need main frame, can mate by complete independently: when prestoring fingerprint to be checked and template fingerprint storehouse in memory, the present invention can complete independently and read data from storer, carry out matching primitives, after completing, matching result is deposited restoring reservoir, afterwards coupling settling signal is outputted to pilot lamp.Whole matching process does not need main frame to participate in, and drastically increases the independence of fingerprint matching unit.
Accompanying drawing explanation
Fig. 1 is the logical organization schematic diagram of the fingerprint matching hardware cell that the people such as background technology Richard M.Jiang announce.
Fig. 2 is overall logic structured flowchart of the present invention.
Fig. 3 is data memory format schematic diagram in storer of the present invention.
Fig. 4 is the requesting processing building-block of logic of many request controllers in the present invention.
Fig. 5 is the physical interface layer building-block of logic of many request controllers in the present invention.
Fig. 6 is fingerprint matching unit group i building-block of logic in the present invention.
Fig. 7 is main control state machine state transition diagram in fingerprint matching unit group i of the present invention.
Fig. 8 is sub-control state machine state transition diagram in fingerprint matching unit group i of the present invention.
Fig. 9 is a fingerprint matching unit FME building-block of logic in fingerprint matching unit group i of the present invention.
Figure 10 is result election contest component logic structural drawing in the present invention.
Figure 11 is the flowchart of fingerprint matching unit group in the present invention.
Embodiment
In the signal of following introduction, specify and represent that signal is effective when signal is 1; Signal represents invalidating signal when being 0, except distinctive signal, does not illustrate one by one.
Fig. 2 is overall logic structural drawing of the present invention.The present invention is made up of T (1≤T≤16) individual fingerprint matching unit group, many request controllers, result election contest parts, memory access input selector and storer, beginning key, pilot lamp.
Fingerprint matching unit group i (0≤i≤T-1) campaigns for parts with beginning key, many request controllers and result and is connected.(course of work of fingerprint matching unit group i can be divided into two links, first link is that digital independent or result store link, this link fingerprint matching unit group i needs to carry out signal with many request controllers alternately, and the serial of T fingerprint matching unit group completes; Second link is matching primitives link, and in this link, fingerprint matching unit group i independently carries out, T fingerprint matching unit group executed in parallel.
Fingerprint matching unit group i from keyed jointing receive commencing signal, according to commencing signal, fingerprint matching unit group i sends read request enable signal i to many request controllers, and wait for that many request controllers send read request response signal i, now T fingerprint matching unit group competes many request controllers.After many request controllers receive T read request enable signal, select fingerprint matching unit group j (j is in T) as the current fingerprint matching unit group taking many request controllers according to arbitration principle, and send read request response signal j to fingerprint matching unit group j.After fingerprint matching unit group j receives read request response signal j, send read request address j and read request enable signal j to many request controllers, wait for that many request controllers send read request return data.Fingerprint matching unit group i (0≤i≤T-1, i ≠ j) is in the state waiting for many request controllers, and continues to send read request enable signal i, until many request controllers receive and send it back read request response signal i to many request controllers.
Fingerprint matching unit group i (0≤i≤T-1), after acquisition fingerprint to be checked and template fingerprint, starts to carry out matching primitives, when carrying out matching primitives, and T fingerprint matching unit group executed in parallel.
Fingerprint matching unit group i completes matching primitives and after obtaining matching result, sends write request enable signal i to many request controllers.If now do not have fingerprint matching unit group to take many request controllers, many request controllers as the current fingerprint matching unit group taking many request controllers, and send write request response signal i to fingerprint matching unit group i using fingerprint matching unit group i.Fingerprint matching unit group i is after receiving write request response signal i, send write request data i (i.e. fingerprint matching unit group i obtain matching result) and read request enable signal i to many request controllers, take many request controllers and obtain the template fingerprint data needed for mating next time.
After completing all matching primitives, fingerprint matching unit group i stops mark i to result election contest parts transmitting element group, when each fingerprint matching unit group transmitting element group stops indicating, and not ordinal relation.
Many request controllers are connected with T fingerprint matching unit group, memory access input selector.Many request controllers obtains T from T fingerprint matching unit group simultaneously and reads (or writing) request enable signal (namely read (or writing) request enable signal 0 ~ read (or writing) to ask enable signal T-1), arbitrate according to rules of arbitration, select fingerprint matching unit group j as the current fingerprint matching unit group taking many request controllers, then many request controllers receive only the signal that fingerprint matching unit group j sends, and only send signal to fingerprint matching unit group j, other fingerprint matching unit groups are in waiting status.If that many request controllers receive is read request enable signal j, then many request controllers are after the enable j of reception read request, produce read request response signal j, and read request response signal j is sent to fingerprint matching unit group j.Many request controllers are after the read request address receiving the transmission of fingerprint matching unit group, and send memory access enable signal, access request command signal and memory access address to memory access input selector, memory access address equals read request address.Many request controllers receive read request return data and read request data valid signal from memory access input selector, first stored in buffer zone, buffer zone read enable effective time, read from buffer zone, obtain read request return data j and read request data valid signal j, and read request return data j and read request data valid signal j is sent to fingerprint matching unit group j.If that many request controllers receive is write request enable signal j, then many request controllers are after receiving write request enable signal j, produce write request response signal j, send to fingerprint matching unit group j; Then many request controllers receive write request address j and the write request data j of fingerprint matching unit group j transmission, by write request address j and write request data j first stored in buffer zone, read from buffer zone as buffer zone enable effective, send to memory access input selector as access request address and write request data together with write request enable signal and memory access command signal.
Memory access input selector is an alternative selector switch, campaign for parts with many request controllers, storer and result to be connected, when the first control signal that result election contest parts send is invalid, memory access input selector receives the access request that many request controllers send, and send to storer, when receiving the data that storer sends, memory access input selector sends the data to many request controllers; When the first control signal that result election contest parts send is effective, the access request that memory access input selector reception result election contest parts send, and send to storer, when receiving the data that storer sends, memory access input selector sends the data to result election contest parts.
Result election contest parts are connected with T fingerprint matching unit group, memory access input selector and pilot lamp, select fingerprint the highest with result matching degree to be checked in template fingerprint storehouse according to matching result.From fingerprint matching unit group i receiving element group stop signal i, after receiving unit group stopping mark 0 ~ unit group stopping mark T-1, result election contest parts send the first control signal to memory access input selector, send memory access enable signal to memory access input selector simultaneously, access request command signal, access request address, wait for from memory access input selector and receive read request return data and read request data valid signal, the read request return data now received is the initial address of matching result and the memory address of election contest result, the initial address of matching result is sent to memory access input selector as access request address, the read request return data now received is matching result, carry out afterwards adding 64 on the initial address of matching result, as new access request address, obtain next matching result.After receiving matching result, the matching result of result election contest parts to different templates fingerprint compares, and selects the template fingerprint the highest with fingerprint matching degree to be checked.And send access request command signal, access request address, write request enable signal and write request data to memory access input selector, send to pilot lamp simultaneously and effectively mate settling signal.
Storer is Double Data Rate synchronous DRAM (DDR3 SDRAM), the data of any address can be provided at any time, storage size suggestion more than 2GB, memory access bit wide is W position, there is coupling desired data in storer, comprises the number of template fingerprint, the memory address etc. of matching result in fingerprint to be checked, template fingerprint storehouse, template fingerprint storehouse.Finger print data at the storage mode of storer see Fig. 3.Storer is connected with memory access input selector.If what storer received from memory access input selector is memory access enable signal, then storer receives access request command signal, access request address, to the data that memory access input selector sends request from memory access input selector simultaneously.If what storer received from memory access input selector is write request enable signal, then storer receives access request command signal, access request address, write request data from memory access input selector simultaneously, write request data press access request address and writes.
Fig. 3 is the data memory format schematic diagram in storer of the present invention.The present invention adopts W (W=64K, 0<K≤8) position (bit) to represent one group of data, and the memory access bit wide of required storer is also W position (in Fig. 3 K=8, W=512).The data prestored in storer comprise 3 parts: parameter, fingerprint to be checked and template fingerprint storehouse.Parameter comprises 3, namely single details in fingerprint count out, template fingerprint sum and matching result address.Single fingerprint minutiae number represents the minutiae point number that a fingerprint comprises, be set to M, if the minutiae point number of certain fingerprint is m, m<M, then when data pre-storage, M-m after current finger print minutiae point invalid data is filled: represent an invalid minutiae point with 7FFFFFFFFFFFFFFF.Template fingerprint sum represents the number of the template fingerprint comprised in template fingerprint storehouse, and this parameter is used for as coupling end condition.Matching result address represents the first address that the write request data exported from fingerprint matching unit group i store.What store after parameter is fingerprint to be checked, the present invention's 64 bit representation fingerprint minutiae, wherein 18 bit representation X-coordinate, 18 bit representation Y-coordinate, 28 bit representation directions (orien).What store after fingerprint to be checked is template fingerprint storehouse, and the fingerprint storage mode in template fingerprint storehouse is identical with fingerprint to be checked.Space after template fingerprint storehouse is for storing intermediate match result and final matching results.The intermediate match result that each template fingerprint is corresponding is 64, and these 64 are divided into two parts, and high 32 bit representations the match is successful minutiae point number, low 32 bit representation current template details in fingerprint are counted out.The intermediate match result of every W=64K bit representation K template fingerprint and fingerprint to be checked.W position is had for storing final matching results after intermediate match result.Final matching results is fingerprint the highest with fingerprint matching degree to be checked in the template fingerprint storehouse that draws of result election contest parts, its most-significant byte represents the optimum minutiae point number of coupling, 8 bit representation existing template details in fingerprint are counted out afterwards, the numbering of 32 bit representation existing template fingerprint positions in storehouse afterwards, unnecessary bit wide is filled with 0 afterwards.
Fig. 4 is requesting processing structural representation in many request controllers.Many request controllers are made up of requesting processing and physical interface layer.Requesting processing is responsible for processing the request signal from T fingerprint matching unit group, and physical interface layer is responsible for carrying out alternately with storer.
Requesting processing is connected with T fingerprint matching unit group and physical interface layer, be responsible for from T fingerprint matching unit group selection one group as the current fingerprint matching unit group taking many request controllers taking many request controllers, be denoted as fingerprint matching unit group j, now requesting processing only processes the request of fingerprint matching unit group j, and only sends signal to fingerprint matching unit group j.Requesting processing by moderator, input selection parts, request response generating unit, export alternative pack, read enable generating unit and numbering buffer unit, order buffer unit, write request data buffering parts, readback data buffer unit four buffer units form, four buffer units are the First Input First Outputs (FIFO) be made up of Block RAM on sheet, four FIFO length are identical, for Q, Q>2048.
Requesting processing receives read request enable signal or write request enable signal from T fingerprint matching unit group, if what receive is read request enable signal, requesting processing according to arbitration principle select fingerprint matching unit group j as current take many request controllers fingerprint matching unit group, all the other fingerprint matching unit groups are in data access waiting status, and requesting processing sends effective read request response signal j to fingerprint matching unit group j.Then receive read request address j, new read request enable signal j from fingerprint matching unit group j, carry out arbitrating according to the read request enable signal j received and generate new read request response signal j, for next cycle; Be simultaneously read-write zone bit according to read request enable signal j and read request address j according to high 3, low 32 is that the principle of address bit generates memory access order, during read request, high 3 is 010, the memory access order of generation is buffered in the order buffer unit of requesting processing.When the FIFO_CMD receiving physical interface layer transmission reads enable signal, requesting processing sends memory access order, FIFO_CMD non-NULL marking signal, FIFO_CMD effective marker signal to physical interface layer.When requesting processing receives the read request return data of physical interface layer transmission, read request return data is buffered in read request data buffering parts.Read request useful signal j after the read request return data j read in read request Returning part and process is sent to fingerprint matching group j by requesting processing.
If what requesting processing received from T fingerprint matching unit group is write request enable signal, requesting processing is according to arbitration principle, select fingerprint matching unit group j as the current fingerprint matching unit group taking many request controllers, all the other fingerprint matching unit groups are in memory access waiting status, and requesting processing sends effective write request response signal j to fingerprint matching unit group j.Then write request enable signal j, write request address j and write request data j is received from fingerprint matching unit group j, carry out arbitrating and generate new write request response signal j according to write request enable signal j, generate memory access order according to write request enable signal and write request address j simultaneously, high 3 of now memory access order is 000, then by memory access order and write request data buffer storage in the order buffer unit of requesting processing.When the FIFO_CMD that requesting processing receives physical interface layer transmission reads enable signal, FIFO_WDF reads enable signal, requesting processing sends memory access order, FIFO_CMD non-NULL marking signal, FIFO_CMD effective marker signal, write request data, FIFO_WDF non-NULL marking signal and FIFO_WDF effective marker signal to physical interface layer.
Moderator and T fingerprint matching unit group, request response generating unit, input selection parts and numbering buffer unit are connected, receive reading request signal or the written request signal of T fingerprint matching unit group transmission, once arbitrate in each clock period according to arbitration principle, the next cycle is selected to take the fingerprint matching unit group of memory access path, selected fingerprint matching unit group # is sent to numbering buffer unit simultaneously, request response generating unit and input selection parts, receive reading of sending from selected fingerprint matching unit group at the same time, time the while of write request enable signal effectively, priority processing write request.Arbitration principle is: according to the read request enable signal received from T fingerprint matching unit group or write request enable signal, judge whether the current fingerprint matching unit group j taking many request controllers still holds over, if requesting processing still can receive read request enable signal j (or write request enable signal j), then fingerprint matching unit group j holds over many request controllers; If requesting processing does not receive read request enable signal j (or write request enable signal j), the mode of poll is then adopted to obtain new fingerprint matching unit group j ', j ' ≠ j, make j=j ', arbitration obtains the FMEG numbering j selected, and j is sent to request response generating unit, input selection parts and numbering buffer unit.The mode of poll refers to:
1st step, makes variable j '=0;
2nd step, judges whether many request controllers receive read request enable signal j ' or the write enable signal j ' of fingerprint matching unit group j ' transmission, if so, then perform the 3rd step, if not, then perform the 4th step;
3rd step, obtains the FMEG numbering j ' selected, and sends read request response signal j ' or write request response signal j ' to fingerprint matching unit group j ', performs the 2nd step;
4th step, j '=j '+1, if j ' <T, performs the 2nd step; If j '=T, perform the 1st step;
Arbitration obtains the FMEG numbering j selected, and j is sent to request response generating unit, input selection parts and numbering buffer unit.
Request response generating unit is connected with moderator, numbering buffer unit, order buffer unit, write request data buffering parts and T fingerprint matching unit group.If receive read request enable signal j (or write request enable signal j) from fingerprint matching unit group j, FMEG numbering j is received from moderator, from order buffer unit receive FIFO_CMD completely marking signal be 0, then send read request response signal j (or write request response signal j) to fingerprint matching unit group j, FIFO_CMD write enable signal is sent to order buffer unit, send FIFO_RR write enable signal to numbering buffer module, make the next cycle can write memory access order in FIFO_CMD, in FIFO_RR, write FMEG numbering j.
Input selection parts are MUX of a multiple input single output, input selection parts are connected with moderator, a T fingerprint matching unit group, order buffer unit, write request data buffering parts, if the FMEG numbering j input selection parts receiving the selection that moderator sends receive the read request enable signal j that fingerprint matching unit group j sends, then a high position for the read request address signal received afterwards is added 3 (namely 010) and generate memory access order, and memory access order is sent to order buffer unit.If input selection parts receive the write request enable signal j that fingerprint matching unit group j sends, then a high position for the write request address signal received afterwards is added 3 (namely 000) and generate memory access order, and memory access order is sent to order buffer unit; Write request data j is sent to write request data buffering parts simultaneously.
Export the MUX that alternative pack is a single input and multi-output, export alternative pack and numbering buffer unit, readback data buffer unit, read enable generating unit and T fingerprint matching unit group is connected, the FMEG numbering j selected is received from numbering buffer unit, data effective marker position is received from reading enable generating unit, if data effective marker position is 1, then read request data valid signal j corresponding for fingerprint matching unit group j is put 1, and read request data valid signal j and read request return data j is sent to fingerprint matching unit group j.
Order buffer unit (FIFO_CMD) is the FIFO be made up of Block RAM, and bit wide is 35, and for buffer memory memory access order, wherein high 3 is read-write zone bit, and low 32 is address bit.Order buffer unit with input selection parts, ask to respond generating unit, physical interface layer is connected.If receive FIFO_CMD write enable signal from request response generating unit, then receive memory access order from input selection parts, send FIFO completely marking signal to request response generating unit.If receive FIFO_CMD from physical interface layer to read enable signal, then send memory access order, FIFO_CMD non-NULL marking signal and FIFO_CMD effective marker signal to physical interface layer.
Write request data buffering parts (FIFO_WDF) are the FIFO be made up of Block RAM, and bit wide is W position, for buffer memory write request data.Write request data buffering parts with input selection parts, ask to respond generating unit, physical interface layer is connected, receive the FIFO_WDF write enable signal that request response generating unit sends, if FIFO_WDF write enable signal is 1, receive the write request address that input selection parts send.Receive FIFO_WDF from physical interface layer and read enable signal, if it is 1 that FIFO_WDF reads enable signal, send write request data, FIFO_WDF non-NULL marking signal and FIFO_WDF effective marker signal to physical interface layer.
Numbering buffer unit (FIFO_RR) is the FIFO be made up of Block RAM, and bit wide is 4, for the FMEG numbering j that cache arbitration device sends.Numbering buffer unit with moderator, ask to respond generating unit, export alternative pack, read enable generating unit and be connected, receive the FIFO_RR write enable signal that request response generating unit sends, if FIFO_RR write enable signal is 1, receive the FMEG numbering j selected from moderator.Receiving the FIFO_RR reading the transmission of enable generating unit and read enable signal, if it is 1 that FIFO_RR reads enable signal, sending to exporting alternative pack the FMEG numbering j selected.
Readback data buffer unit (FIFO_RDF) is the FIFO be made up of Block RAM, and bit wide is W, for the read request return data that buffer memory returns through physical interface layer.Readback data buffer unit and physical interface layer, export alternative pack and read enable generating unit and be connected, receive the FIFO_RDF write enable signal and read request return data j that are sent by physical interface layer.Sending FIFO_RDF non-NULL marking signal to reading enable generating unit, reading enable signal from reading enable generating unit reception FIFO_RDF, if it is 1 that FIFO_RDF reads enable signal, sending read request return data to output alternative pack.
Read enable generating unit to be made up of simple logic, with readback data buffer unit, numbering buffer unit and export alternative pack and be connected, generate the data effective marker position of reading enable signal and exporting needed for alternative pack needed for FIFO_RDF and FIFO_RR according to the FIFO_RDF not empty signal received.Read the FIFO_RDF non-NULL marking signal that enable generating unit receives the transmission of readback data buffer unit, if FIFO_RDF non-NULL marking signal is 1, send FIFO_RDF to readback data buffer unit and read enable signal, send FIFO_RR to numbering buffer unit and read enable signal, send data effective marker position to output alternative pack.
Fig. 5 is physical interface layer logical organization schematic diagram in the many request controllers of the present invention.Physical interface layer by memory access Signal Processing Element, read FIFO_CMD control signal generating unit and read FIFO_WDF control signal generating unit to form, the effect of physical interface layer carries out mutual information feed back to requesting processing by with storer.Physical interface layer is connected with requesting processing, memory access input selector, send FIFO_CMD to requesting processing and read enable signal, memory access order, FIFO_CMD non-NULL marking signal and FIFO_CMD effective marker signal is received from requesting processing, memory access enable signal, access request command signal, access request address is sent to memory access input selector, and receive readback data and readback data useful signal from storer, after receiving readback data from input memory access selector switch, send readback data and FIFO_RDF write enable signal to requesting processing; If memory access order is write request, then receive write request data, FIFO_WDF non-NULL marking signal and FIFO_WDF effective marker signal simultaneously, send access request address, access request command signal, write request enable signal, write request data to memory access input selector.
Read FIFO_CMD control signal generating unit to be made up of simple logic, be connected with requesting processing, memory access Signal Processing Element, receive the memory access enable signal of the FIFO_CMD non-NULL marking signal of requesting processing transmission, FIFO_CMD effective marker signal, the transmission of memory access Signal Processing Element, if FIFO_CMD non-NULL marking signal is 0, memory access enable signal is 1, sends FIFO_CMD to requesting processing and read enable signal.If memory access enable signal is 1, then by the first mark position 0, and the first zone bit is sent to memory access signal processing unit; If memory access enable signal is 0, FIFO_CMD effective marker signal is 1, by the first mark position 1, and the first zone bit is sent to memory access Signal Processing Element; If memory access enable signal is 0, FIFO_CMD effective marker signal is 0, by the first zone bit buffer memory one-period.
Read FIFO_WDF control signal generating unit to be made up of simple logic, be connected with requesting processing, memory access Signal Processing Element, the FIFO_WDF non-NULL marking signal that reception requesting processing sends and the write request enable signal that FIFO_WDF effective marker signal, memory access Signal Processing Element send, if FIFO_WDF non-NULL marking signal is 0, write request enable signal is 1, sends effective FIFO_WDF to requesting processing and read enable signal.If write request enable signal is 1, by the second mark position 0, and the second zone bit is sent to memory access signal processing unit; If memory access enable signal is 0, FIFO_WDF effective marker signal is 1, by the second mark position 1, and the second zone bit is sent to memory access signal processing unit; If write request enable signal is 0, FIFO_WDF effective marker signal is 0, by the second zone bit buffer memory one-period.
Memory access Signal Processing Element is simple combinational logic, with read FIFO_CMD control signal generating unit, read FIFO_WDF control signal generating unit, requesting processing and memory access input selector and be connected, receive FIFO_CMD effective marker signal from requesting processing, receive the first zone bit from reading FIFO_CMD control signal generating unit, if FIFO_CMD effective marker signal is 0 time different from the first zone bit, memory access enable signal is put 1, and memory access enable signal is sent to memory access input selector and read FIFO_CMD control signal generating unit.Receive memory access order from requesting processing, get memory access order high 3 as access request command signal, access request command signal is sent to memory access input selector; Get memory access order low 32 as memory access address, memory access address is sent to memory access input selector.Receive FIFO_WDF effective marker signal from many request controllers, receive the second zone bit from reading FIFO_WDF control signal generating unit, if FIFO_WDF effective marker signal is 0 time different from the second zone bit, write request enable signal is put 1, and write request enable signal is sent to memory access input selector and read FIFO_WDF control signal generating unit.Memory access Signal Processing Element receives write request data from requesting processing, sends to memory access input selector.
Fig. 6 is the logical organization schematic diagram of fingerprint matching unit group i of the present invention, fingerprint matching unit group i is connect by main control state machine, sub-control state machine, read request generating unit, write request generating unit, data receiver parts data, calculate mate fingerprint number parts, data initialization flag register, work enable register, current finger print group mate complement mark register, matching result register, coupling end mark bit register, K (in Fig. 6 K=8) individual fingerprint matching unit (FME) form.Order of work (i.e. memory access order) between different fingerprint matching unit group relies on many request controllers to dispatch, many request controllers dispatch the memory access order between different fingerprint matching unit group according to arbitration principle, thus dispatch the order of work between different fingerprint matching unit group.Fingerprint matching unit group and beginning key, many request controllers and result election contest parts are connected, if from keyed jointing receive commencing signal be 1, then start main control state machine, generate read request enable signal i, read request address i, read request enable signal i is sent to many request controllers, wait for the read request response signal i from many request controllers, after receiving read request response signal i, if read request response signal i is 1, then send read request enable signal i and read request address signal i to many request controllers, wait for the read request return data i from many request controllers and read request data valid signal i.After completing once coupling, send write request enable signal i to many request controllers, wait for the write request response signal i of many request controllers; After receiving write request response signal i, if write request response signal i is 1, then send write request enable signal i, write request address i and write request data i to many request controllers.After fingerprint matching unit group i completes distributed task (namely its main control state machine enters done state), fingerprint matching unit group i stops mark i to result election contest parts transmitting element group.
The read request generating unit of fingerprint matching unit group i, for generating read request enable signal i, read request address i, is made up of simple combinatorial logic and sequential logic.Read request generating unit is connected with many request controllers and main control state machine, read request competition zone bit and read request busy flag position is received from main control state machine, read request response signal i (being initially 0) is received from many request controllers, if read request competition zone bit is 1, read request response signal i is 0, then read request enable signal i is put 1, and read request enable signal i is sent to many request controllers; Read request address i puts initial value simultaneously, if memory access first, then read request address i is 0, and if not memory access first, then read request address i is the address at the end of read request last time.When read request competition zone bit is 1, read request response signal i is 1, sends the first control signal to main control state machine, send read request address i to many request controllers, read request enable signal i is put 1, for next cycle simultaneously, read request address i increases progressively 8*K, i.e. K finger print data size.When read request competition zone bit is 0, read request busy flag position is 1, when read request response signal i is 1, read request response signal i is sent to main control state machine, send read request enable signal i to many request controllers, read request enable signal i is put 1, read request address i increases progressively simultaneously.When read request competition zone bit is 0, when read request busy flag position is 0, read request enable signal i is set to 0, and address is added STEP (address size of STEP shared by T group finger print data, has ensured the coupling of all fingerprints in fingerprint base).
The write request generating unit of fingerprint matching unit group i, for generating write request enable signal i, write request address i, is made up of simple combinatorial logic and sequential logic.Write request generating unit is connected with many request controllers, sub-control state machine and matching result register, receive from sub-control state machine and write Data Labels, receive write request response signal i (being initially 0) from many request controllers, when writing that Data Labels is 1, write request response signal i is 0, write request enable signal i is put 1, state at the end of write request address i and last time write request is consistent (if write request first, then initial address is from storer), receive matching result as write request data i from matching result register; When writing Data Labels position 1, write request response signal is when being 1, write request address i, write request data i is sent to many request controllers, the second control signal is sent to sub-control state machine, write request enable signal i is set to 0 simultaneously, write request address i increases progressively 8K*T (it is W that a fingerprint matching result stores bit wide, and taking address is 8K), because executed in parallel T group data, so during write-back result, need to consider other groups).
The data receiver parts of fingerprint matching unit group i are made up of simple logic, and data receiver parts are by the read request return data that receives and read request data valid signal buffer memory one-period.Data receiver parts are connected with many request controllers, a K fingerprint matching unit and main control state machine.Read request data valid signal, read request return data is received from many request controllers, if read request data valid signal is 1 and current reception minutiae point number (initial value is 0) is less than a details in fingerprint counts out M, then add 1 by receiving minutiae point number.Read request return data after buffer memory is cut into K part (every 64 as a), send to K fingerprint matching unit, read request data valid signal after buffer memory and current reception minutiae point number are broadcast to K fingerprint matching unit simultaneously, send current reception minutiae point number to main control state machine simultaneously.If the data amount check read is greater than M, current reception minutiae point number is set to 0.If read request data valid signal is 0, current reception minutiae point number adds 0.
The data initialization flag register of fingerprint matching unit group i stores data initialization mark, under data initialization state, the data that fingerprint matching unit group i reads are finger print data to be checked and parameter, need to be initialised in K fingerprint matching unit, do not carry out matching primitives.Data initialization flag register is connected with main control state machine and K fingerprint matching unit, receives data initialization mark and store, to provide data initialization mark to main control state machine and K fingerprint matching unit from main control state machine.
The work enabler flags register of fingerprint matching unit group i stores matching primitives mark.Work enabler flags register is connected with main control state machine and K fingerprint matching unit, receive matching primitives mark from main control state machine, and broadcast, when matching primitives is masked as 1 to K fingerprint matching unit, represent that K fingerprint matching unit is in running order, carry out matching primitives.
The calculating of fingerprint matching unit group i has mated fingerprint number parts for calculating the fingerprint group number mated, and is made up of a totalizer and a register.Be connected with main control state machine and K fingerprint matching unit, receive coupling complement mark from main control state machine, if coupling complement mark position 1, mated fingerprint number and added 1, and will mate fingerprint number storage in a register for the reading of main control state machine, otherwise register remains unchanged.
The current finger print group coupling complement mark parts of fingerprint matching unit group i, for depositing the number of the completed fingerprint matching unit of fingerprint matching unit group i, are made up of a totalizer and a register.Current finger print group coupling complement mark register is connected with main control state machine and K fingerprint matching unit, end signal is received from K fingerprint matching unit, when the end signal that any one fingerprint matching unit sends is 1, by totalizer, register value is added 1, result is deposited in a register, when register result is K, mean that current finger print group has been mated, send current finger print group coupling complement mark to main control state machine.
The matching result register of fingerprint matching unit group i is used for depositing matching result, altogether W position, every 64 correspondences fingerprint matching unit, for receiving and depositing the matching result of each fingerprint matching unit.Matching result register is connected with K fingerprint matching unit and write request generating unit, receives the matching result that K fingerprint matching unit sends, and sends matching result to write request generating unit.
The unit group of fingerprint matching unit group i stops flag register being used for storage receipt tuple and stops mark.Campaign for parts with main control state machine, sub-control state machine and result to be connected, receive the unit group stopping mark that main control state machine sends, stop mark to sub-control state machine and result election contest parts transmitting element group.
K the fingerprint matching unit (FME) of fingerprint matching unit group i is for carrying out matching primitives according to the finger print data received, K fingerprint matching unit is all with data initialization flag register, the enabler flags that works register, data receiver parts, current finger print group mates complement mark parts and matching result register is connected, data initialization mark is received, as the mark of fingerprint to be checked and parameter initialization from data initialization flag register; From work enabler flags register reception work enabler flags, finger print data after read request data valid signal and buffer memory after simultaneously receiving current reception minutiae point number, buffer memory from data receiver parts, K fingerprint matching unit all walks abreast and carries out data initialization or fingerprint matching.After completing coupling, K fingerprint matching unit all sends end signal to current finger print group coupling complement mark parts, sends the matching result of 64 to matching result register.
The matching result register of fingerprint matching unit group i is W position, 0th ~ 63 matching results deposited K FME and obtain, 64th ~ 127 matching results deposited K-1 FME and obtain ... W-64 ~ W-1 deposits position the 0th matching result that FME obtains.
The effect of the main control state machine of fingerprint matching unit group i is the whole matching process of scheduling fingerprint matching unit group i.Main control state machine and outside start key, sub-control state machine, read request generation module, calculate mated fingerprint number parts, data receiver parts, data initialization zone bit register, current finger print group mates complement mark register, the enabler flags that works register is connected.As shown in Figure 7, main control state machine is made up of 9 states: " 0000 " represents original state, and fingerprint matching unit group i is idle, and when being in original state, all registers all set to 0; " 0001 " represents data initialization state, and data initialization mark is put 1; " 0010 " represents read request competition Memory access channel state, is the state sending read request enable signal i to many request controllers; " 0011 " represents that read request address sends state, is the state continuing to send read request address; " 0100 " data latency state waits for that many request controllers send the state of data; " 0101 " represents matching primitives state, is the state of fingerprint matching unit matching primitives; " 0110 " represents coupling completion status, is the state that coupling complement mark is set effective; The data modes to be written such as " 0111 " expression wait for that sub-control state machine writes the state of data; " 1111 " represent done state, refer to the state that all couplings all complete.Main control state machine keyed jointing from outside receives effective commencing signal, enters " 0001 " state by " 0000 " state; In " 0001 " state, main control state machine sends data initialization zone bit to data initialization zone bit register, data initialization zone bit register is put 1, enters " 0010 " state; In " 0010 " state, main control state machine sends effective read request competition zone bit to read request generating unit, receives read request response signal i from read request generating unit.If read request response signal i is 1, then main control state machine enters " 0011 " state; Otherwise main control state machine still keeps " 0010 " state, read request competition zone bit is 1.In " 0011 " state, main control state machine sends read request busy flag position to read request generating unit, receives read request response signal.If current finger print M (M is the number that a fingerprint comprises minutiae point) individual read request address does not send, then maintains " 0011 " state, send, until complete always; Otherwise enter " 0100 " state.In " 0100 " state, main control state machine receives current reception minutiae point number from data receiver parts, and judges whether data receiver completes accordingly; Meanwhile, main control state machine receives data initialization mark from data initialization flag register.If data receiver completes, and data initialization is masked as 1, then main control state machine enters " 0010 " state, is set to 0 by data initialization flag register simultaneously; If data receiver completes, and data initialization is masked as 0, then main control state machine enters " 0101 " state; If data receiver does not complete, then main control state machine keeps " 0100 " state.In " 0101 " state, main control state machine sends effective matching primitives mark to work enable register, receives current finger print group coupling complement mark from current finger print group coupling complement mark parts.If the number completing the FME of coupling that current finger print group coupling complement mark parts send is K, then main control state machine enters " 0110 " state, meanwhile, sends invalid matching primitives mark to work enabler flags register; If currency fingerprint group coupling complement mark is not K, represent and also have FME not complete coupling, then main control state machine keeps " 0101 " state.In " 0110 " state, mate the transmission of fingerprint number parts to sub-control state machine and calculating and effectively mated complement mark, then entered " 0111 " state, send invalid coupling complement mark to sub-control state machine simultaneously.In " 0111 " state, receive from sub-control state machine and write zone bit, mate the reception of fingerprint number parts from calculating simultaneously and mate fingerprint number, if it is effective to write zone bit, and having mated the number of tasks that fingerprint number is less than current finger print matching unit group, then main control state machine enters " 0010 " state; If it is effective to write zone bit, and has mated the number of tasks that fingerprint number equals current finger print matching unit group, then main control state machine enters " 1111 " state; If it is invalid to write zone bit, then main control state machine keeps " 0111 " state.In " 1111 " state, main control state machine sends out end mark effective to coupling end mark register.
Sub-control state machine and main control state machine, write request generating unit, mate end mark register and be connected.As shown in Figure 8, sub-control state machine is made up of 4 states: " 0000 " represents original state; " 1000 " represent write request competition Memory access channel state, are the states sending write request competition Memory access channel to many request controllers; " 1001 " wait for computing mode; " 1111 " represent done state.After electrification reset, sub-control state machine is in " 0000 " state, and related register all sets to 0, if receive coupling complement mark from main control state machine and mate complement mark effectively, sub-control state machine enters " 1000 " state.When sub-control state machine is in " 1000 " state, send to write request generating unit and effectively write Data Labels, and wait for from write request parts reception write request response signal, if write request response signal is effective, sub-control state machine enters " 1001 " state, if write request response signal is invalid, sub-control state machine is parked in " 1000 " state.When sub-control state machine is in " 1001 " state, receive coupling complement mark from main control state machine, stop flag register receiving element group to stop mark, if coupling complement mark is effective from unit group simultaneously, unit group stops mark invalid, and sub-control state machine enters " 1000 " state; If unit group stops mark effectively, sub-control state machine enters " 1111 " state; Otherwise sub-control state machine is parked in " 1001 " state.In " 1111 " state, represent that all results write, sub-control state machine quits work.
K fingerprint matching unit is all with data initialization flag register, the enabler flags that works register, data receiver parts, current finger print group mates complement mark parts and matching result register is connected, the template fingerprint received from data receiver parts and fingerprint to be checked mate by fingerprint matching unit, and matching result is sent back to matching result register.
Fig. 9 is a fingerprint matching unit logical organization schematic diagram in fingerprint matching unit group i.Fingerprint matching unit by MUX, fingerprint RAM to be checked, template fingerprint RAM, fingerprint address ram to be checked upgrades parts, template fingerprint address ram upgrades parts, template fingerprint data register, window edge search parts, upper limit register, lower bound register, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit, mate optimum minutiae point address and upgrade parts, the minutiae point number totalizer that the match is successful and matching result output block and form.
MUX is connected with the initialization flag register in fingerprint matching unit group i, data receiver parts, fingerprint RAM to be checked and template fingerprint RAM, read request data valid signal after the buffer memory that the initialization flag that reception initialization flag register sends, data receiver parts send, and select read request data valid signal after buffer memory to send to fingerprint RAM to be checked or template fingerprint RAM according to initialization flag.If initialization flag is 1, read request data valid signal after buffer memory is issued fingerprint RAM to be checked by MUX, as fingerprint RAM write enable signal to be checked, fingerprint RAM to be checked receives the read request return data (being now data to be checked) after buffer memory; If initialization flag is 0, read request data valid signal after buffer memory is issued template fingerprint RAM by MUX, as template fingerprint RAM write enable signal, template fingerprint RAM receives the read request return data (being now template data) after buffer memory.
Fingerprint RAM to be checked is a Block RAM, and what wherein store is fingerprint to be checked.Fingerprint RAM to be checked with data receiver parts, MUX in fingerprint matching unit group i, fingerprint address ram to be checked upgrades parts, window edge searches parts, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit are connected, receive the write enable signal that MUX sends, if write enable signal is 1, finger print data and current reception minutiae point number after the buffer memory that in reception fingerprint matching unit group, data receiver parts send; If write enable signal is 0, receive the details in fingerprint dot address to be checked that fingerprint address ram to be checked upgrades parts transmission, after sense data, upgrade parts to fingerprint address ram to be checked, window edge searches parts, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit send details in fingerprint point data to be checked.
Fingerprint address ram to be checked upgrades parts and is made up of simple logic, carrys out scheduler according to renewal address mark signal to be checked and the window upper bound, lower bound, judges that whether current address is the maximum address of current finger print according to the minutiae point data received.Fingerprint address ram to be checked upgrades parts and upgrades address tag register to be checked, upper limit register, lower bound register, the minutiae point number totalizer that the match is successful and mate optimum minutiae point address upgrade parts be connected, receive the upper dividing value that upper limit register sends, the floor value that lower bound register sends, upgrade the renewal address mark to be checked that address tag register to be checked sends, to fingerprint RAM to be checked and mate optimum minutiae point address upgrade parts send fingerprint address to be checked, simultaneously according to renewal address mark to be checked, upper dividing value and floor value carry out scheduler.Receive the details in fingerprint point data to be checked that fingerprint RAM to be checked sends, and judge that whether current address is the maximum address of fingerprint to be checked according to details in fingerprint point data to be checked.If current address reaches maximum address or the window upper bound, send the 5th enabling signal to the minutiae point number totalizer that the match is successful.
Template fingerprint RAM is a Block RAM, and what wherein store is template fingerprint from template fingerprint storehouse.Template fingerprint RAM upgrades parts with data receiver parts, MUX, template fingerprint data register and template fingerprint address ram in fingerprint matching unit group i and is connected, receive the write enable signal that MUX sends, if write enable signal is effective, finger print data and current reception minutiae point number after the buffer memory that in reception fingerprint matching unit group, data receiver parts send; If write enable signal is invalid, receive the template fingerprint minutiae point address that template fingerprint address ram upgrades parts transmission, after sense data, upgrade parts to template fingerprint data register and template fingerprint address ram and send template fingerprint minutiae point data.
Template fingerprint data register and template fingerprint RAM, window edge search parts, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit are connected, receive the template fingerprint minutiae point data that template fingerprint RAM sends also to store, so as to search parts to window edge, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit provide template fingerprint minutiae point data.
It is combinational logics that template fingerprint address ram upgrades parts, upgrade mark renewal template fingerprint address ram according to the template address that the minutiae point number totalizer that the match is successful sends, and judge whether current address is maximum address according to template fingerprint minutiae point data.Template fingerprint address ram upgrades parts and template fingerprint RAM, the minutiae point number totalizer that the match is successful and matching result output block and is connected, receive that the minutiae point number totalizer that the match is successful sends template fingerprint upgrade marking signal, if it is effective that template fingerprint upgrades marking signal, upgrade template fingerprint address ram, send template fingerprint address ram to template fingerprint RAM simultaneously; Receive the template fingerprint minutiae point data that template fingerprint RAM sends, determine whether the maximum address of template fingerprint, if so, send current template details in fingerprint point data (i.e. maximum address) and the 4th enabling signal to matching result output block.
It is combinational logics that window edge searches parts, its effect is for benchmark with template fingerprint detail present point, the Y-coordinate of template fingerprint minutiae point is searched the to be checked fingerprint minutiae of difference in threshold range, and the address of fingerprint minutiae to be checked minimum and maximum for wherein Y-coordinate is deposited with in upper limit register and lower bound register as the window upper bound and lower bound.Window edge searches in parts and fingerprint matching unit group the enable register that works, fingerprint RAM to be checked, upper limit register and lower bound register, X-coordinate comparing unit and upgrade address tag register to be checked be connected, receive in fingerprint matching unit group the work enable signal that the enable register that works sends, if work enable signal is 1, receive the template fingerprint minutiae point data of template fingerprint data register transmission and the details in fingerprint point data to be checked of fingerprint RAM to be checked transmission, and compare, if the Y-coordinate difference of the two is less than coordinate threshold value, (coordinate threshold value is a parameter, be greater than 0, its value means that more greatly the precision of coupling is lower, reference value is 14.), then send to renewal flag register to be checked and effectively upgrade mark, after receiving new details in fingerprint point data to be checked, again compare with template fingerprint minutiae point, if the Y-coordinate difference of the two is still less than coordinate threshold value, then again send to renewal flag register to be checked and effectively upgrade mark, repeat above operation, until find the fingerprint minutiae to be checked being greater than coordinate threshold value with the absolute value of the Y-coordinate difference of template fingerprint minutiae point, the absolute value of all Y-coordinate differences is less than the address of the fingerprint minutiae to be checked that Y-coordinate is minimum in the fingerprint minutiae to be checked of coordinate threshold value as lower window edge value, the absolute value of all Y-coordinate differences is less than the address of the fingerprint minutiae to be checked that Y-coordinate is maximum in the fingerprint minutiae to be checked of coordinate threshold value as dividing value on window.Upgrade parts to X-coordinate to send zero start signal, send upper dividing value to upper limit register, send floor value to lower bound register, send invalid renewal mark to renewal flag register to be checked.
X-coordinate comparing unit is a combinational logic, and its effect is the size of X-coordinate difference between more current fingerprint minutiae to be checked and template fingerprint minutiae point and threshold value.Search parts, fingerprint RAM to be checked, template fingerprint data register, Euclidean distance comparing unit with the enable register that works in fingerprint matching unit group, window edge and upgrade address register to be checked and be connected.The work enable signal that reception work enable register sends, when the enable signal that works is effective, X-coordinate comparing unit is in running order.The zero start signal that receive window border searching parts send, if zero start signal is effective, receive fingerprint RAM to be checked send details in fingerprint point data to be checked and template fingerprint data register send template fingerprint minutiae point data and the X-coordinate of minutiae point data is compared, if the difference of the two is greater than coordinate threshold value, then send to renewal address tag register to be checked and effectively upgrade mark, otherwise send invalid renewal mark.Complete relatively, send X-coordinate difference and the first enabling signal to Euclidean distance comparing unit.
Euclidean distance comparing unit is a combinational logic, and its effect is the size of Euclidean distance between more current fingerprint minutiae to be checked and template fingerprint minutiae point and coordinate threshold value.Euclidean distance comparing unit and the enable register that works in fingerprint matching unit group, fingerprint RAM to be checked, template fingerprint data register, X-coordinate comparing unit, field of direction comparing unit and mate optimum minutiae point address and upgrade parts and be connected.Receive in fingerprint matching unit group the work enable signal that the enable register that works sends, when work enable signal is effective, Euclidean distance comparing unit is in running order.Receive the first enabling signal that X-coordinate comparing unit sends, if the first enabling signal is effective, receive the details in fingerprint point data to be checked of fingerprint RAM to be checked transmission and the template fingerprint minutiae point data of template fingerprint data register transmission, and the Euclidean distance of minutiae point data and coordinate threshold value are compared, if be greater than coordinate threshold value, then send to renewal address tag register to be checked and effectively upgrade mark, otherwise send invalid renewal mark.Complete relatively, send the second enabling signal to field of direction comparing unit, upgrade parts to the optimum minutiae point address of coupling and send Euclidean distance.
Field of direction comparing unit is that combinational logic is formed, and its effect is the size of field of direction difference between more current fingerprint minutiae to be checked and template fingerprint minutiae point and threshold value.Field of direction comparing unit and the enable register that works in fingerprint matching unit group, fingerprint RAM to be checked, template fingerprint data register, Euclidean distance comparing unit, mate optimum minutiae point address and upgrade parts and be connected, receive in fingerprint matching unit group the work enable signal that the enable register that works sends, when work enable signal is effective, field of direction comparing unit is in running order.Receive the second enabling signal that Euclidean distance comparing unit sends, if the second enabling signal is effective, receive the details in fingerprint point data to be checked of fingerprint RAM to be checked transmission and the template fingerprint minutiae point data of template fingerprint data register transmission, and by the field of direction difference of minutiae point data and direction threshold value, (direction threshold value is a parameter, its scope is greater than 0, its value means that more greatly matching precision is lower, reference value is 200) compare, if be greater than direction threshold value, then send to renewal address tag register to be checked and effectively upgrade mark, otherwise send invalid renewal mark.Complete relatively, upgrade parts to the optimum minutiae point address of coupling and send the 3rd enabling signal.
Mating optimum minutiae point address renewal parts is combinational logics, be made up of a comparer and Euclidean distance register, its effect be compare current lookup to the minutiae point meeting coordinate threshold value and direction threshold value, Euclidean distance size between the minutiae point found before and template fingerprint minutiae point, select and minutiae point that between template fingerprint minutiae point, Euclidean distance is minimum, and record its address.Mate optimum minutiae point address to upgrade parts and upgrade parts with the enable register that works in fingerprint matching unit group i, Euclidean distance comparing unit, the minutiae point number totalizer that the match is successful, fingerprint address ram to be checked and upgrade address tag register to be checked and be connected.Receive in fingerprint matching unit group i the work enable signal that the enable register that works sends, work enable signal is effective, mates optimum minutiae point address renewal parts just in running order.The 3rd enabling signal that receive direction field comparing unit occurs, if the 3rd enabling signal is effective, then the Euclidean distance deposited in the Euclidean distance received from Euclidean distance comparing unit and Euclidean distance register (initial value is 10000) is compared, if be less than existing Euclidean distance, then Euclidean distance register is updated to the Euclidean distance value received, and receive fingerprint address ram to be checked from fingerprint address ram renewal parts to be checked, upgrade existing optimum point address, if be greater than existing Euclidean distance, then do not upgrade.Simultaneously to the minutiae point number totalizer that the match is successful the mark that sends that the match is successful, send to renewal address tag register to be checked and effectively upgrade mark.
The minutiae point number totalizer that the match is successful is a combinational logic, includes a totalizer, and its effect is the cumulative minutiae point number that the match is successful, will send template address and upgrade marking signal after completing.The minutiae point number totalizer that the match is successful upgrades parts with the enable register that works in fingerprint matching unit group i, fingerprint address ram to be checked, mate that optimum minutiae point address upgrades parts, template fingerprint address ram upgrades parts, matching result output block is connected.Receive in fingerprint matching unit group i the work enable signal that the enable register that works sends, work enable signal is effective, and the minutiae point number totalizer that the match is successful is just in running order.Receive fingerprint address ram to be checked and upgrade the 5th enabling signal that parts send, if the 5th enabling signal is effective, receives the optimum minutiae point address of coupling and upgrade parts, whether mark is effective to judge that the match is successful, if effectively, then totalizer adds 1, otherwise constant.Upgrade parts to template fingerprint address ram to send template address and effectively upgrade mark, send to matching result output identification the match is successful number.
Matching result output block is a combinational logic, be made up of the first output register and the second output register, the bit wide of 2 registers is 32, and matching result output block and the enable register that works in fingerprint matching unit group i, the minutiae point number totalizer that the match is successful, template fingerprint address ram to upgrade in parts, fingerprint matching unit group current finger print group in matching result register and fingerprint matching unit group and mate complement mark parts and be connected.Receive in fingerprint matching unit group i the work enable signal that the enable register that works sends, work effectively enable, matching result output block is just in running order.Matching result output block receives the minutiae point number totalizer that the match is successful the minutiae point number that sends that the match is successful, will the match is successful that minutiae point number is buffered in the first register; The 4th enabling signal and the current template details in fingerprint that receive the transmission of template fingerprint address ram renewal parts are counted out, and are buffered in the second output register by current template minutiae point number; If the 4th enabling signal is effective, then using after the splicing of the value of the first register and the second register as matching result, matching result high 32 from the first output register, low 32 from the second output register, then matching result is sent to matching result register in fingerprint matching unit group i, end signal is issued current finger print group coupling complement mark parts in fingerprint matching unit group i.
Figure 10 is result election contest component logic structural representation in the present invention.
Result election contest parts are connected with T fingerprint matching unit group, memory access input selector and pilot lamp, select fingerprint the highest with result matching degree to be checked in template fingerprint storehouse according to matching result.Mark i is stopped from fingerprint matching unit group i receiving element group, after receiving unit group stopping mark 0 ~ unit group stopping mark T-1, result election contest parts start to send memory access enable signal, access request command signal, access request address to memory access input selector, wait for from memory access input selector and receive read request return data and read request data valid signal, read request return data comprises two classes, a class is matching result initial address and Output rusults address, and a class is matching result.After receiving matching result, start to arbitrate, select the template fingerprint the highest with fingerprint matching degree to be checked.Send memory access enable signal, access request command signal, access request address, write request enable signal, write request data mask and write request data (and the address of the matching result selected) to memory access input selector, send to pilot lamp simultaneously and effectively mate settling signal.
Result election contest parts stop count out register, existing matching result numbered register, the first comparer, the second comparer, numbering selector switch of mark collecting part, memory access processing element, existing the match is successful minutiae point number register, existing template details in fingerprint to form by unit group.
Unit group stops mark collecting part to collect T unit group and stops mark, judge whether all fingerprint matching unit groups complete, if so, then send effective first control signal to memory access input selector, and send effective result arbitration mark to memory access processing element.Unit group stops mark collecting part to be connected with T fingerprint matching unit group, memory access input selector and memory access processing element, receive unit group stopping mark 0 ~ unit group stopping mark T-1 that T fingerprint matching unit group sends, if unit group stops mark 0 ~ unit group to stop mark T-1 to be 1, then sending effective first control signal to memory access input selector, sending effective result arbitration mark to leaving with processing element.
Memory access processing element produces memory access signal, and processes memory access data.Memory access processing element and unit group stop indicating collecting part, the first comparer, the second comparer, numbering selector switch, existing the match is successful that minutiae point number register, existing matching result numbered register, memory access input selector and result pilot lamp are connected.Mark collecting part reception result arbitration mark is stopped from unit group, if result arbitration mark effectively, then memory access enable signal is set effective, and send enable, the memory access read request command of memory access, access request address (being 0) to memory access input selector, wait for that memory access input selector sends read request return data.Receive read request return data from memory access input selector, these data comprise 3 parameters: single details in fingerprint is counted out, template fingerprint total, matching result address.Memory access enable signal is set effective, and to memory access input selector send memory access enable, leave with read request command, access request address (for matching result address), after obtaining read request return data, read request return data is split, by the match is successful, number sends to the first comparer, current template details in fingerprint is counted out and sends to the second comparer, the matching result number that a counter records has read is set simultaneously, and sends it to numbering selector switch.Then access request address is added 64, read next matching result.If the matching result number read equals template fingerprint sum, write request enable signal is set effective, simultaneously the match is successful that minutiae point number register receives the optimum minutiae point number of coupling, register of counting out from existing template details in fingerprint receives existing template details in fingerprint and counts out, reads its numbering from existing matching result numbered register, and three is spliced into 64 as write request data from existing.Then write request enable signal, write request address, access request address are sent to memory access input selector, externally pilot lamp transmission effectively mates settling signal simultaneously.
Existing the match is successful minutiae point number register functions is deposit this cycle before, with the number of the minutiae point of fingerprint matching optimum to be checked.Existing the match is successful that minutiae point number register is connected with the first comparer, memory access processing element, sends existing minutiae point number to the first comparer, receives the minutiae point number that the first comparer sends afterwards, and upgrade register; The optimum minutiae point number of coupling is sent to memory access processing element.
Existing template details in fingerprint count out register functions be deposit this cycle before, with the minutiae point number of the template fingerprint of fingerprint matching optimum to be checked.Existing template details in fingerprint register of counting out is connected with the second comparer, memory access processing element, sends existing minutiae point number to the second comparer, receives the minutiae point number that the second comparer sends afterwards, and upgrades register; Send existing template details in fingerprint to memory access processing element to count out.
Existing matching result numbered register function be deposit this cycle before, with the numbering of the matching result of fingerprint matching optimum to be checked.Existing matching result numbered register is connected with numbering selector switch and memory access processing element, sends existing matching result numbering to numbering selector switch, receives matching result numbering, and upgrade register from numbering selector switch; Existing matching result numbering is sent to memory access processing element.
First comparer is more existing the match is successful minutiae point number and memory access processing element send that the match is successful number, selects and maximum sends to existing the match is successful minutiae point number register.First comparer and memory access processing element, existing the match is successful that minutiae point number register, the second comparer and numbering selector switch are connected, the match is successful number is received from memory access processing element, existing the match is successful minutiae point number is received from existing the match is successful minutiae point number register, the two is compared, if the match is successful, number is large, then send invalid second control signal to the second comparer, send effective 4th control signal to numbering selector switch, and general's the match is successful number sends to existing the match is successful minutiae point number register; If existing, the match is successful, and minutiae point number is large, then send invalid second control signal to the second comparer, send invalid 4th control signal to numbering selector switch; If the two is equal, then sends effective second control signal to the second comparer, send invalid 4th control signal to numbering selector switch.
Second comparer compares the existing template details in fingerprint current template details in fingerprint sent with memory access processing element of counting out and counts out, and selects the minimum existing template details in fingerprint that sends to and to count out register.Second comparer and memory access processing element, existing template details in fingerprint is counted out register, first comparer and numbering selector switch are connected, receive current template details in fingerprint from memory access processing element to count out, receive existing template details in fingerprint count out from existing template details in fingerprint register of counting out, from the first comparer reception control signal, if the second control signal is effective, then the two is compared, if current template details in fingerprint is counted out little, then send effective 3rd control signal to numbering selector switch, and current template details in fingerprint is counted out send to existing template details in fingerprint to count out register, if existing template details in fingerprint is counted out little, send invalid 3rd control signal to numbering selector switch, if the two is equal, then send invalid 3rd control signal to numbering selector switch.If the 4th control signal that the first comparer sends is invalid, then do not take operation.
The numbering with the matching result of fingerprint matching optimum to be checked selected by numbering selector switch from matching result.Count out register, the first comparer and the second comparer of numbering selector switch and memory access processing element, existing template details in fingerprint is connected, from the first comparer reception control signal, from the second comparer reception control signal, if the two has one effectively, receive matching result numbering from memory access processing element, send it to existing matching result numbered register; If the two is all invalid, then receives existing matching result from existing matching result numbered register and number and send to existing matching result numbered register.

Claims (32)

1. the fingerprint matching unit based on coarse grain parallelism, it is characterized in that the fingerprint matching unit the present invention based on coarse grain parallelism is made up of T fingerprint matching unit group FMEG, many request controllers, result election contest parts, memory access input selector, storer, pilot lamp, beginning key, T fingerprint matching unit group FMEG is designated as fingerprint matching unit group 0 ~ fingerprint matching unit group T-1,0<T≤16;
Many request controllers are connected with T fingerprint matching unit group, memory access input selector, arbitrate the access request of T fingerprint matching unit group, by the Data dissemination that receives from memory access input selector to T fingerprint matching unit group;
Fingerprint matching unit group i campaigns for parts with many request controllers, result and starts key and is connected, and completes mating of one group of fingerprint and fingerprint to be checked, 0≤i≤T-1;
Memory access input selector is an alternative selector switch, campaign for parts with many request controllers, storer and result to be connected, when the first control signal that result election contest parts send is invalid, memory access input selector receives the access request that many request controllers send, and send to storer, when receiving the data that storer sends, memory access input selector sends the data to many request controllers; When the first control signal that result election contest parts send is effective, the access request that memory access input selector reception result election contest parts send, and send to storer, when receiving the data that storer sends, memory access input selector sends the data to result election contest parts;
Result election contest parts are connected with T fingerprint matching unit group, memory access input selector and pilot lamp, select fingerprint the highest with result matching degree to be checked in template fingerprint storehouse according to matching result; Mark i is stopped from fingerprint matching unit group i receiving element group, after receiving unit group stopping mark 0 ~ unit group stopping mark T-1, result election contest parts start to send memory access enable signal, access request command signal, access request address to memory access input selector, wait for from memory access input selector and receive read request return data and read request data valid signal, read request return data comprises two classes, a class is matching result initial address and Output rusults address, and a class is matching result; After receiving matching result, start to arbitrate, select the template fingerprint the highest with fingerprint matching degree to be checked; To the address of matching result that memory access input selector sends memory access enable signal, access request command signal, access request address, write request enable signal, write request data mask and write request data and selects, send to pilot lamp simultaneously and effectively mate settling signal;
Storer is connected with memory access input selector, storing template fingerprint base, fingerprint to be checked, matching result and correlation parameter;
Start key to be connected with T fingerprint matching unit group, start the fingerprint matching unit based on coarse grain parallelism;
Pilot lamp and result are campaigned for parts and are connected, and instruction matching process completes;
Many request controllers are made up of requesting processing and physical interface layer;
Requesting processing is connected with T fingerprint matching unit group and physical interface layer, be responsible for from T fingerprint matching unit group selection one group as the current fingerprint matching unit group taking many request controllers, be denoted as fingerprint matching unit group j, requesting processing only processes the request of fingerprint matching unit group j, and only sends signal to fingerprint matching unit group j; Requesting processing by moderator, input selection parts, request response generating unit, export alternative pack, read enable generating unit and numbering buffer unit, order buffer unit, write request data buffering parts, readback data buffer unit four buffer units form, 0≤j≤T-1; Four buffer units are the First Input First Output FIFO be made up of Block RAM on sheet, and four FIFO length are Q, Q>2048;
Requesting processing receives read request enable signal or write request enable signal from T fingerprint matching unit group, if what receive is read request enable signal, requesting processing according to arbitration principle select fingerprint matching unit group j as current take many request controllers fingerprint matching unit group, all the other fingerprint matching unit groups are in data access waiting status, and requesting processing sends effective read request response signal j to fingerprint matching unit group j; Then receive read request address j, new read request enable signal j from fingerprint matching unit group j, carry out arbitrating according to the read request enable signal j received and generate new read request response signal j, for next cycle; Generate memory access order according to read request enable signal j and read request address j simultaneously, and memory access order is buffered in the order buffer unit of read request processing unit; When the FIFO_CMD receiving physical interface layer transmission reads enable signal, requesting processing sends memory access order, FIFO_CMD non-NULL marking signal, FIFO_CMD effective marker signal to physical interface layer; When requesting processing receives the read request return data of physical interface layer transmission, read request return data is buffered in read request data buffering parts; Read request useful signal j after the read request return data j read in read request Returning part and process is sent to fingerprint matching group j by requesting processing;
If what requesting processing received from T fingerprint matching unit group is write request enable signal, requesting processing is according to arbitration principle, select fingerprint matching unit group j as the current fingerprint matching unit group taking many request controllers, all the other fingerprint matching unit groups are in memory access waiting status, and requesting processing sends effective write request response signal j to fingerprint matching unit group j; Then write request enable signal j, write request address j and write request data j is received from fingerprint matching unit group j, carry out arbitrating and generate new write request response signal j according to write request enable signal j, simultaneously generate memory access order according to write request enable signal j and write request address j, then by memory access order and write request data buffer storage in the order buffer unit of requesting processing; When the FIFO_CMD that requesting processing receives physical interface layer transmission reads enable signal, FIFO_WDF reads enable signal, requesting processing sends memory access order, FIFO_CMD non-NULL marking signal, FIFO_CMD effective marker signal, write request data, FIFO_WDF non-NULL marking signal and FIFO_WDF effective marker signal to physical interface layer;
Physical interface layer is connected with requesting processing and memory access input selector, physical interface layer by memory access Signal Processing Element, read FIFO_CMD control signal generating unit and read FIFO_WDF control signal generating unit to form, physical interface layer sends to memory access input selector by after the signal transacting received from requesting processing; Requesting processing is sent to by after the signal transacting received from memory access input selector; Physical interface layer is connected with requesting processing, memory access input selector, send FIFO_CMD to requesting processing and read enable signal, memory access order, FIFO_CMD non-NULL marking signal and FIFO_CMD effective marker signal is received from requesting processing, memory access enable signal, access request command signal, access request address is sent to memory access input selector, and receive readback data and readback data useful signal from storer, after receiving readback data from input memory access selector switch, send readback data and FIFO_RDF write enable signal to requesting processing; If memory access order is write request, then receive write request data, FIFO_WDF non-NULL marking signal and FIFO_WDF effective marker signal simultaneously, send access request address, access request command signal, write request enable signal, write request data to memory access input selector;
Fingerprint matching unit group i campaigns for parts with beginning key, many request controllers and result and is connected, each fingerprint matching unit group structure is identical, fingerprint matching unit group i by main control state machine, sub-control state machine, read request generating unit, write request generating unit, data receiver parts, calculate mated fingerprint number parts, data initialization flag register, work enabler flags register, current finger print group mate complement mark register, matching result register, unit group stop flag register, a K fingerprint matching unit FME forms, memory access order between different fingerprint matching unit group relies on many request controllers to dispatch, fingerprint matching unit group and beginning key, many request controllers and result election contest parts are connected, if from keyed jointing receive commencing signal be 1, then start main control state machine, generate read request enable signal i, read request address i, read request enable signal i is sent to many request controllers, wait for the read request response signal i from many request controllers, after receiving read request response signal i, if read request response signal i is 1, then send read request enable signal i and read request address signal i to many request controllers, wait for the read request return data i from many request controllers and read request data valid signal i, after completing once coupling, send write request enable signal i to many request controllers, wait for the write request response signal i of many request controllers, after receiving write request response signal i, if write request response signal i is 1, then send write request enable signal i, write request address i and write request data i to many request controllers, after fingerprint matching unit group i completes distributed task, fingerprint matching unit group i stops mark i to result election contest parts transmitting element group,
Result election contest parts stop count out register, existing matching result numbered register, the first comparer, the second comparer, numbering selector switch of mark collecting part, memory access processing element, existing the match is successful minutiae point number register, existing template details in fingerprint to form by unit group;
Storer is Double Data Rate synchronous DRAM, coupling desired data is had in storer, comprise the number of template fingerprint, the memory address of matching result in fingerprint to be checked, template fingerprint storehouse, template fingerprint storehouse, storer is connected with memory access input selector.
2. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that memory size is more than 2GB, memory access bit wide is W position, W=64K, 0<K≤8, the data prestored in storer comprise 3 parts: parameter, fingerprint to be checked and template fingerprint storehouse; Parameter comprises 3, namely single details in fingerprint count out, template fingerprint sum and matching result address; Single fingerprint minutiae number represents and is set to M by the minutiae point number that a fingerprint comprises, if the minutiae point number of certain fingerprint is m, m<M, when data pre-storage, fills M-m after current finger print minutiae point invalid data: use
7FFFFFFFFFFFFFFF represents an invalid minutiae point; Template fingerprint sum represents the number of the template fingerprint comprised in template fingerprint storehouse; Matching result address represents the first address that the write request data exported from fingerprint matching unit group i store; What store after parameter is fingerprint to be checked, fingerprint minutiae 64 bit representations, wherein 18 bit representation X-coordinate, 18 bit representation Y-coordinate, 28 bit representation directions; What store after fingerprint to be checked is template fingerprint storehouse, and the fingerprint storage mode in template fingerprint storehouse is identical with fingerprint to be checked; Space after template fingerprint storehouse is for storing intermediate match result and final matching results; The intermediate match result that each template fingerprint is corresponding is 64, and these 64 are divided into two parts, high 32 bit representations the match is successful minutiae point number, and low 32 bit representation current template details in fingerprint are counted out; The intermediate match result of every W bit representation K template fingerprint and fingerprint to be checked; W position is had for storing final matching results after intermediate match result; Final matching results is fingerprint the highest with fingerprint matching degree to be checked in the template fingerprint storehouse that draws of result election contest parts, its most-significant byte represents the optimum minutiae point number of coupling, 8 bit representation existing template details in fingerprint are counted out afterwards, the numbering of 32 bit representation existing template fingerprint positions in storehouse afterwards, unnecessary bit wide is filled with 0 afterwards.
3. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that moderator and T fingerprint matching unit group, request response generating unit, input selection parts and numbering buffer unit are connected, receive reading request signal or the written request signal of T fingerprint matching unit group transmission, once arbitrate in each clock period according to arbitration principle, the next cycle is selected to take the fingerprint matching unit group of memory access path, selected fingerprint matching unit group # is sent to numbering buffer unit simultaneously, request response generating unit and input selection parts, receive reading of sending from selected fingerprint matching unit group at the same time, time the while of write request enable signal effectively, priority processing write request, described arbitration principle is: according to the read request enable signal received from T fingerprint matching unit group or write request enable signal, judge whether the current fingerprint matching unit group j taking many request controllers still holds over, if requesting processing still can receive read request enable signal j or write request enable signal j, then fingerprint matching unit group j holds over many request controllers, if requesting processing does not receive read request enable signal j or write request enable signal j, then the mode of poll is adopted to obtain new fingerprint matching unit group j ', j '≠ j, takies requesting processing by fingerprint matching unit group and makes j=j ', arbitration obtains the FMEG numbering j selected, and j is sent to request response generating unit, input selection parts and numbering buffer unit.
4., as claimed in claim 3 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that the mode of poll refers to:
1st step, makes variable j '=0;
2nd step, judges whether many request controllers receive fingerprint matching unit group j 'the read request enable signal j sent 'or write enable signal j ', if so, then perform the 3rd step, if not, then perform the 4th step;
3rd step, obtains the FMEG numbering j selected ', to fingerprint matching unit group j 'send read request response signal j 'or write request response signal j ', perform the 2nd step;
4th step, j '=j '+ 1, if j '<T, performs the 2nd step; If j '=T, performs the 1st step.
5., as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that request response generating unit is connected with moderator, numbering buffer unit, order buffer unit, write request data buffering parts and T fingerprint matching unit group; If receive read request enable signal j or write request enable signal j from fingerprint matching unit group j, FMEG numbering j is received from moderator, from order buffer unit receive FIFO_CMD completely marking signal be 0, then send read request response signal j or write request response signal j to fingerprint matching unit group j), FIFO_CMD write enable signal is sent to order buffer unit, send FIFO_RR write enable signal to numbering buffer module, make the next cycle can write memory access order in FIFO_CMD, in FIFO_RR, write FMEG numbering j.
6. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that input selection parts are MUX of a multiple input single output, input selection parts and moderator, T fingerprint matching unit group, order buffer unit, write request data buffering parts are connected, receive the FMEG numbering j of the selection that moderator sends, if input selection parts receive the read request enable signal j that fingerprint matching unit group j sends, then generate memory access order according to the read request enable signal j received afterwards and read request address signal j, and memory access order is sent to order buffer unit, if input selection parts receive the write request enable signal j that fingerprint matching unit group j sends, then the write request enable signal j write request address signal j received afterwards is generated memory access order, and memory access order is sent to order buffer unit, write request data j is sent to write request data buffering parts simultaneously.
7. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that exporting the MUX that alternative pack is a single input and multi-output, export alternative pack and numbering buffer unit, readback data buffer unit, read enable generating unit and T fingerprint matching unit group is connected, the FMEG numbering j selected is received from numbering buffer unit, data effective marker position is received from reading enable generating unit, if data effective marker position is 1, then read request data valid signal j corresponding for fingerprint matching unit group j is put 1, and read request data valid signal j and read request return data j is sent to fingerprint matching unit group j.
8. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that order buffer unit FIFO_CMD is the FIFO be made up of Block RAM, bit wide is 35, for buffer memory memory access order, wherein 32 buffer address, 3 buffer memory read-write zone bits; Order buffer unit with input selection parts, ask to respond generating unit, physical interface layer is connected; If receive FIFO_CMD write enable signal from request response generating unit, then receive memory access order from input selection parts, send FIFO completely marking signal to request response generating unit; If receive FIFO_CMD from physical interface layer to read enable signal, then send memory access order, FIFO_CMD non-NULL marking signal and FIFO_CMD effective marker signal to physical interface layer; Described write request data buffering parts FIFO_WDF is the FIFO be made up of Block RAM, and bit wide is W position, for buffer memory write request data; Write request data buffering parts with input selection parts, ask to respond generating unit, physical interface layer is connected, receive the FIFO_WDF write enable signal that request response generating unit sends, if FIFO_WDF write enable signal is 1, receive the write request address that input selection parts send; Receive FIFO_WDF from physical interface layer and read enable signal, if it is 1 that FIFO_WDF reads enable signal, send write request data, FIFO_WDF non-NULL marking signal and FIFO_WDF effective marker signal to physical interface layer; Described numbering buffer unit FIFO_RR is the FIFO be made up of Block RAM, and bit wide is 4, for the FMEG numbering j that cache arbitration device sends; Numbering buffer unit with moderator, ask to respond generating unit, export alternative pack, read enable generating unit and be connected, receive the FIFO_RR write enable signal that request response generating unit sends, if FIFO_RR write enable signal is 1, receive the FMEG numbering j selected from moderator; Receiving the FIFO_RR reading the transmission of enable generating unit and read enable signal, if it is 1 that FIFO_RR reads enable signal, sending to exporting alternative pack the FMEG numbering j selected; Described readback data buffer unit FIFO_RDF is the FIFO be made up of Block RAM, and bit wide is W, for the read request return data that buffer memory returns through physical interface layer; Readback data buffer unit and physical interface layer, export alternative pack and read enable generating unit and be connected, receive the FIFO_RDF write enable signal and read request return data j that are sent by physical interface layer; Sending FIFO_RDF non-NULL marking signal to reading enable generating unit, reading enable signal from reading enable generating unit reception FIFO_RDF, if it is 1 that FIFO_RDF reads enable signal, sending read request return data to output alternative pack.
9. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that reading enable generating unit is made up of simple logic, with readback data buffer unit, numbering buffer unit and export alternative pack and be connected, generate the data effective marker position of reading enable signal and exporting needed for alternative pack needed for FIFO_RDF and FIFO_RR according to the FIFO_RDF not empty signal received; Read the FIFO_RDF non-NULL marking signal that enable generating unit receives the transmission of readback data buffer unit, if FIFO_RDF non-NULL marking signal is 1, send FIFO_RDF to readback data buffer unit and read enable signal, send FIFO_RR to numbering buffer unit and read enable signal, send data effective marker position to output alternative pack.
10. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, read FIFO_CMD control signal generating unit described in it is characterized in that to be made up of simple logic, be connected with requesting processing, memory access Signal Processing Element, receive the memory access enable signal of the FIFO_CMD non-NULL marking signal of requesting processing transmission, FIFO_CMD effective marker signal, the transmission of memory access Signal Processing Element, if FIFO_CMD non-NULL marking signal is 0, memory access enable signal is 1, sends FIFO_CMD to requesting processing and read enable signal; If memory access enable signal is 1, then by the first mark position 0, and the first zone bit is sent to memory access signal processing unit; If memory access enable signal is 0, FIFO_CMD effective marker signal is 1, by the first mark position 1, and the first zone bit is sent to memory access Signal Processing Element; If memory access enable signal is 0, FIFO_CMD effective marker signal is 0, by the first zone bit buffer memory one-period; The described FIFO_WDF of reading control signal generating unit is made up of simple logic, be connected with requesting processing, memory access Signal Processing Element, the FIFO_WDF non-NULL marking signal that reception requesting processing sends and the write request enable signal that FIFO_WDF effective marker signal, memory access Signal Processing Element send, if FIFO_WDF non-NULL marking signal is 0, write request enable signal is 1, sends effective FIFO_WDF to requesting processing and read enable signal; If write request enable signal is 1, by the second mark position 0, and the second zone bit is sent to memory access signal processing unit; If memory access enable signal is 0, FIFO_WDF effective marker signal is 1, by the second mark position 1, and the second zone bit is sent to memory access signal processing unit; If write request enable signal is 0, FIFO_WDF effective marker signal is 0, by the second zone bit buffer memory one-period.
11. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that memory access Signal Processing Element is simple combinational logic, with read FIFO_CMD control signal generating unit, read FIFO_WDF control signal generating unit, requesting processing and memory access input selector are connected, FIFO_CMD effective marker signal is received from requesting processing, the first zone bit is received from reading FIFO_CMD control signal generating unit, if FIFO_CMD effective marker signal is 0 time different from the first zone bit, memory access enable signal is put 1, and memory access enable signal sent to memory access input selector and read FIFO_CMD control signal generating unit, receive memory access order from requesting processing, get memory access order high 3 as access request command signal, access request command signal is sent to memory access input selector, get memory access order low 32 as memory access address, memory access address is sent to memory access input selector, receive FIFO_WDF effective marker signal from many request controllers, receive the second zone bit from reading FIFO_WDF control signal generating unit, if FIFO_WDF effective marker signal is 0 time different from the second zone bit, write request enable signal is put 1, and write request enable signal is sent to memory access input selector and read FIFO_WDF control signal generating unit, memory access Signal Processing Element receives write request data from requesting processing, sends to memory access input selector.
12., as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, is characterized in that memory access order is 35, and high 3 is read-write zone bit, and low 32 is address bit; Read-write zone bit generates according to read request enable signal and write request enable signal, if what many request controllers received is read request enable signal, then reading and writing zone bit is 010, if read request controller receives is write request enable signal, then reading and writing zone bit is 000; Address bit generates according to read request address signal and write request address signal, if what receive is read request enable signal, then address bit is read request address signal, if what receive is write request enable signal, then address bit is write request address signal; The memory access order generated is buffered in order buffer unit.
13., as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, is characterized in that the read request generating unit of fingerprint matching unit group i is for generating read request enable signal i, read request address i, is made up of simple combinatorial logic and sequential logic; Read request generating unit is connected with many request controllers and main control state machine, and receive read request competition zone bit and read request busy flag position from main control state machine, receive read request response signal i from many request controllers, request response signal i is initially 0; If read request competition zone bit is 1, read request response signal i is 0, then read request enable signal i is put 1, and read request enable signal i is sent to many request controllers; Read request address i puts initial value simultaneously, if memory access first, then read request address i is 0, and if not memory access first, then read request address i is the address at the end of read request last time; When read request competition zone bit is 1, read request response signal i is 1, sends the first control signal to main control state machine, send read request address i to many request controllers, read request enable signal i is put 1, for next cycle simultaneously, read request address i increases progressively 8K, i.e. K finger print data size; When read request competition zone bit is 0, read request busy flag position is 1, when read request response signal i is 1, read request response signal i is sent to main control state machine, send read request enable signal i to many request controllers, read request enable signal i is put 1, read request address i increases progressively simultaneously; When read request competition zone bit is 0, when read request busy flag position is 0, read request enable signal i is set to 0, and address is added STEP, the address size of STEP shared by T group finger print data.
14., as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, is characterized in that the write request generating unit of fingerprint matching unit group i is for generating write request enable signal i, write request address i, is made up of simple combinatorial logic and sequential logic; Write request generating unit is connected with many request controllers, sub-control state machine and matching result register, receive from sub-control state machine and write Data Labels, receive write request response signal i from many request controllers, write request response signal i is initially 0, when writing that Data Labels is 1, write request response signal i is 0, write request enable signal i is put 1, state at the end of write request address i and last time write request is consistent, and receives matching result as write request data i from matching result register; If write request first, initial address is from storer; When writing Data Labels position 1, write request response signal is when being 1, and send write request address i, write request data i to many request controllers, send the second control signal to sub-control state machine, set to 0 by write request enable signal i simultaneously, write request address i increases progressively 8K*T.
15. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that the data receiver parts of fingerprint matching unit group i are made up of simple logic, data receiver parts are by the read request return data that receives and read request data valid signal buffer memory one-period; Data receiver parts are connected with many request controllers, a K fingerprint matching unit and main control state machine; Receiving read request data valid signal, read request return data from many request controllers, if read request data valid signal is 1 and current reception minutiae point number is less than a details in fingerprint counts out M, then adding 1 by receiving minutiae point number; Read request return data after buffer memory is cut into K part, every 64 conducts are a, send to K fingerprint matching unit, read request data valid signal after buffer memory and current reception minutiae point number are broadcast to K fingerprint matching unit simultaneously, send current reception minutiae point number to main control state machine simultaneously; If the data amount check read is greater than M, current reception minutiae point number is set to 0; If read request data valid signal is 0, current reception minutiae point number adds 0; Current reception minutiae point number initial value is 0.
16. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that the data initialization flag register of fingerprint matching unit group i stores data initialization mark, data initialization flag register is connected with main control state machine and K fingerprint matching unit, receive data initialization mark from main control state machine and store, to provide data initialization mark to main control state machine and K fingerprint matching unit; The work enabler flags register of described fingerprint matching unit group i stores matching primitives mark, work enabler flags register is connected with main control state machine and K fingerprint matching unit, matching primitives mark is received from main control state machine, and broadcast to K fingerprint matching unit, when matching primitives is masked as 1, represent that K fingerprint matching unit is in running order, carry out matching primitives; The matching result register of fingerprint matching unit group i is used for depositing matching result, altogether W position, every 64 correspondences fingerprint matching unit, for receiving and depositing the matching result of each fingerprint matching unit; Matching result register is connected with K fingerprint matching unit and write request generating unit, receives the matching result that K fingerprint matching unit sends, and sends matching result to write request generating unit; The unit group of fingerprint matching unit group i stops flag register being used for storage receipt tuple and stops mark; Unit group stopping flag register being campaigned for parts with main control state machine, sub-control state machine and result and is connected, and receives the unit group stopping mark that main control state machine sends, campaigns for parts transmitting element group stop mark to sub-control state machine and result; The matching result register of fingerprint matching unit group i is W position, 0th ~ 63 matching results deposited K FME and obtain, 64th ~ 127 matching results deposited K-1 FME and obtain ... W-64 ~ W-1 deposits position the 0th matching result that FME obtains.
17., as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, is characterized in that the calculating of fingerprint matching unit group i has mated fingerprint number parts for calculating the fingerprint group number mated, being made up of a totalizer and a register; Be connected with main control state machine and K fingerprint matching unit, receive coupling complement mark from main control state machine, if coupling complement mark position 1, mated fingerprint number and added 1, and will mate fingerprint number storage in a register for the reading of main control state machine, otherwise register remains unchanged.
18. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that the current finger print group coupling complement mark parts of fingerprint matching unit group i are for depositing the number of the completed fingerprint matching unit of fingerprint matching unit group i, are made up of a totalizer and a register; Current finger print group coupling complement mark register is connected with main control state machine and K fingerprint matching unit, end signal is received from K fingerprint matching unit, when the end signal that any one fingerprint matching unit sends is 1, by totalizer, register value is added 1, result is deposited in a register, when register result is K, send current finger print group coupling complement mark to main control state machine.
19. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that the main control state machine of fingerprint matching unit group i and outside start key, sub-control state machine, read request generation module, calculate mated fingerprint number parts, data receiver parts, data initialization zone bit register, current finger print group mates complement mark register, the enabler flags that works register is connected; Main control state machine is made up of 9 states: " 0000 " represents original state, and fingerprint matching unit group i is idle, and when being in original state, all registers all set to 0; " 0001 " represents data initialization state, and data initialization mark is put 1; " 0010 " represents read request competition Memory access channel state, is the state sending read request enable signal i to many request controllers; " 0011 " represents that read request address sends state, is the state continuing to send read request address; " 0100 " data latency state waits for that many request controllers send the state of data; " 0101 " represents matching primitives state, is the state of fingerprint matching unit matching primitives; " 0110 " represents coupling completion status, is the state that coupling complement mark is set effective; The data modes to be written such as " 0111 " expression wait for that sub-control state machine writes the state of data; " 1111 " represent done state, refer to the state that all couplings all complete; Main control state machine keyed jointing from outside receives effective commencing signal, enters " 0001 " state by " 0000 " state; In " 0001 " state, main control state machine sends data initialization zone bit to data initialization zone bit register, data initialization zone bit register is put 1, enters " 0010 " state; In " 0010 " state, main control state machine sends effective read request competition zone bit to read request generating unit, receives read request response signal i from read request generating unit; If read request response signal i is 1, then main control state machine enters " 0011 " state; Otherwise main control state machine still keeps " 0010 " state, read request competition zone bit is 1; In " 0011 " state, main control state machine sends read request busy flag position to read request generating unit, receives read request response signal; If a current finger print M read request address does not send, then maintain " 0011 " state, send always, until complete; Otherwise enter " 0100 " state; In " 0100 " state, main control state machine receives current reception minutiae point number from data receiver parts, and judges whether data receiver completes accordingly; Meanwhile, main control state machine receives data initialization mark from data initialization flag register; If data receiver completes, and data initialization is masked as 1, then main control state machine enters " 0010 " state, is set to 0 by data initialization flag register simultaneously; If data receiver completes, and data initialization is masked as 0, then main control state machine enters " 0101 " state; If data receiver does not complete, then main control state machine keeps " 0100 " state; In " 0101 " state, main control state machine sends effective matching primitives mark to work enable register, receives current finger print group coupling complement mark from current finger print group coupling complement mark parts; If the number completing the FME of coupling that current finger print group coupling complement mark parts send is K, then main control state machine enters " 0110 " state, meanwhile, sends invalid matching primitives mark to work enabler flags register; If currency fingerprint group coupling complement mark is not K, represent and also have FME not complete coupling, then main control state machine keeps " 0101 " state; In " 0110 " state, mate the transmission of fingerprint number parts to sub-control state machine and calculating and effectively mated complement mark, then entered " 0111 " state, send invalid coupling complement mark to sub-control state machine simultaneously; In " 0111 " state, receive from sub-control state machine and write zone bit, mate the reception of fingerprint number parts from calculating simultaneously and mate fingerprint number, if it is effective to write zone bit, and having mated the number of tasks that fingerprint number is less than current finger print matching unit group, then main control state machine enters " 0010 " state; If it is effective to write zone bit, and has mated the number of tasks that fingerprint number equals current finger print matching unit group, then main control state machine enters " 1111 " state; If it is invalid to write zone bit, then main control state machine keeps " 0111 " state; In " 1111 " state, main control state machine sends out end mark effective to coupling end mark register.
20. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that sub-control state machine and main control state machine, write request generating unit, mate end mark register and be connected; Sub-control state machine is made up of 4 states: " 0000 " represents original state; " 1000 " represent write request competition Memory access channel state, are the states sending write request competition Memory access channel to many request controllers; " 1001 " wait for computing mode; " 1111 " represent done state; After electrification reset, sub-control state machine is in " 0000 " state, and related register all sets to 0, if receive coupling complement mark from main control state machine and mate complement mark effectively, sub-control state machine enters " 1000 " state; When sub-control state machine is in " 1000 " state, send to write request generating unit and effectively write Data Labels, and wait for from write request parts reception write request response signal, if write request response signal is effective, sub-control state machine enters " 1001 " state, if write request response signal is invalid, sub-control state machine is parked in " 1000 " state; When sub-control state machine is in " 1001 " state, receive coupling complement mark from main control state machine, stop flag register receiving element group to stop mark, if coupling complement mark is effective from unit group simultaneously, unit group stops mark invalid, and sub-control state machine enters " 1000 " state; If unit group stops mark effectively, sub-control state machine enters " 1111 " state; Otherwise sub-control state machine is parked in " 1001 " state; In " 1111 " state, represent that all results write, sub-control state machine quits work.
21. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that K the fingerprint matching unit FME of fingerprint matching unit group i is for carrying out matching primitives according to the finger print data received, K fingerprint matching unit is all with data initialization flag register, the enabler flags that works register, data receiver parts, current finger print group mates complement mark parts and matching result register is connected, data initialization mark is received, as the mark of fingerprint to be checked and parameter initialization from data initialization flag register; From work enabler flags register reception work enabler flags, finger print data after read request data valid signal and buffer memory after simultaneously receiving current reception minutiae point number, buffer memory from data receiver parts, K fingerprint matching unit all walks abreast and carries out data initialization or fingerprint matching; After completing coupling, K fingerprint matching unit all sends end signal to current finger print group coupling complement mark parts, sends the matching result of 64 to matching result register; Fingerprint matching unit by MUX, fingerprint RAM to be checked, template fingerprint RAM, fingerprint address ram to be checked upgrades parts, template fingerprint address ram upgrades parts, template fingerprint data register, window edge search parts, upper limit register, lower bound register, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit, mate optimum minutiae point address and upgrade parts, the minutiae point number totalizer that the match is successful and matching result output block and form.
22. as claimed in claim 21 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that MUX is connected with the initialization flag register in fingerprint matching unit group i, data receiver parts, fingerprint RAM to be checked and template fingerprint RAM, read request data valid signal after the buffer memory that the initialization flag that reception initialization flag register sends, data receiver parts send, and select read request data valid signal after buffer memory to send to fingerprint RAM to be checked or template fingerprint RAM according to initialization flag; If initialization flag is 1, read request data valid signal i after buffer memory is issued fingerprint RAM to be checked by MUX, as fingerprint RAM write enable signal to be checked, and read request return data after fingerprint RAM reception buffer memory to be checked; If initialization flag is 0, read request data valid signal after buffer memory is issued template fingerprint RAM by MUX, as template fingerprint RAM write enable signal, and read request return data after template fingerprint RAM reception buffer memory.
23. as claimed in claim 21 based on the fingerprint matching unit of coarse grain parallelism, and it is characterized in that fingerprint RAM to be checked is a Block RAM, what wherein store is fingerprint to be checked, fingerprint RAM to be checked with data receiver parts, MUX in fingerprint matching unit group i, fingerprint address ram to be checked upgrades parts, window edge searches parts, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit are connected, receive the write enable signal that MUX sends, if write enable signal is 1, finger print data and current reception minutiae point number after the buffer memory that in reception fingerprint matching unit group, data receiver parts send, if write enable signal is 0, receive the details in fingerprint dot address to be checked that fingerprint address ram to be checked upgrades parts transmission, after sense data, upgrade parts to fingerprint address ram to be checked, window edge searches parts, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit send details in fingerprint point data to be checked, fingerprint address ram to be checked upgrades parts and is made up of simple logic, carrys out scheduler according to renewal address mark signal to be checked and the window upper bound, lower bound, judges that whether current address is the maximum address of current finger print according to the minutiae point data received, fingerprint address ram to be checked upgrades parts and upgrades address tag register to be checked, upper limit register, lower bound register, the minutiae point number totalizer that the match is successful and mate optimum minutiae point address upgrade parts be connected, receive the upper dividing value that upper limit register sends, the floor value that lower bound register sends, upgrade the renewal address mark to be checked that address tag register to be checked sends, to fingerprint RAM to be checked and mate optimum minutiae point address upgrade parts send fingerprint address to be checked, simultaneously according to renewal address mark to be checked, upper dividing value and floor value carry out scheduler, receive the details in fingerprint point data to be checked that fingerprint RAM to be checked sends, and judge that whether current address is the maximum address of fingerprint to be checked according to details in fingerprint point data to be checked, if current address reaches maximum address or the window upper bound, send the 5th enabling signal to the minutiae point number totalizer that the match is successful.
24., as claimed in claim 21 based on the fingerprint matching unit of coarse grain parallelism, is characterized in that template fingerprint RAM is a Block RAM, store the template fingerprint from template fingerprint storehouse; Template fingerprint RAM upgrades parts with data receiver parts, MUX, template fingerprint data register and template fingerprint address ram in fingerprint matching unit group i and is connected, receive the write enable signal that MUX sends, if write enable signal is effective, finger print data and current reception minutiae point number after the buffer memory that in reception fingerprint matching unit group, data receiver parts send; If write enable signal is invalid, receive the template fingerprint minutiae point address that template fingerprint address ram upgrades parts transmission, after sense data, upgrade parts to template fingerprint data register and template fingerprint address ram and send template fingerprint minutiae point data; It is combinational logics that template fingerprint address ram upgrades parts, upgrade mark renewal template fingerprint address ram according to the template address that the minutiae point number totalizer that the match is successful sends, and judge whether current address is maximum address according to template fingerprint minutiae point data; Template fingerprint address ram upgrades parts and template fingerprint RAM, the minutiae point number totalizer that the match is successful and matching result output block and is connected, receive that the minutiae point number totalizer that the match is successful sends template fingerprint upgrade marking signal, if it is effective that template fingerprint upgrades marking signal, upgrade template fingerprint address ram, send template fingerprint address ram to template fingerprint RAM simultaneously; Receive the template fingerprint minutiae point data that template fingerprint RAM sends, determine whether the maximum address of template fingerprint, if so, send maximum address and the 4th enabling signal of current template details in fingerprint point data and template fingerprint to matching result output block.
25. as claimed in claim 21 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that template fingerprint data register and template fingerprint RAM, window edge search parts, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit are connected, receive the template fingerprint minutiae point data that template fingerprint RAM sends also to store, so as to search parts to window edge, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit provide template fingerprint minutiae point data.
26. as claimed in claim 21 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that window edge searches parts is combinational logics, its effect is for benchmark with template fingerprint detail present point, the Y-coordinate of template fingerprint minutiae point is searched the to be checked fingerprint minutiae of difference in threshold range, and the address of fingerprint minutiae to be checked minimum and maximum for wherein Y-coordinate is deposited with in upper limit register and lower bound register as the window upper bound and lower bound, window edge searches in parts and fingerprint matching unit group the enable register that works, fingerprint RAM to be checked, upper limit register and lower bound register, X-coordinate comparing unit and upgrade address tag register to be checked be connected, receive in fingerprint matching unit group the work enable signal that the enable register that works sends, if work enable signal is 1, receive the template fingerprint minutiae point data of template fingerprint data register transmission and the details in fingerprint point data to be checked of fingerprint RAM to be checked transmission, and compare, if the Y-coordinate difference of the two is less than coordinate threshold value, coordinate threshold value is greater than 0, then send to renewal flag register to be checked and effectively upgrade mark, after receiving new details in fingerprint point data to be checked, again compare with template fingerprint minutiae point, if the Y-coordinate difference of the two is still less than coordinate threshold value, then again send to renewal flag register to be checked and effectively upgrade mark, repeat above operation, until find the fingerprint minutiae to be checked being greater than coordinate threshold value with the absolute value of the Y-coordinate difference of template fingerprint minutiae point, the absolute value of all Y-coordinate differences is less than the address of the fingerprint minutiae to be checked that Y-coordinate is minimum in the fingerprint minutiae to be checked of coordinate threshold value as lower window edge value, the absolute value of all Y-coordinate differences is less than the address of the fingerprint minutiae to be checked that Y-coordinate is maximum in the fingerprint minutiae to be checked of coordinate threshold value as dividing value on window, upgrade parts to X-coordinate to send zero start signal, send upper dividing value to upper limit register, send floor value to lower bound register, send invalid renewal mark to renewal flag register to be checked.
27. as claimed in claim 21 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that X-coordinate comparing unit is a combinational logic, its effect is the size of X-coordinate difference between more current fingerprint minutiae to be checked and template fingerprint minutiae point and threshold value; Search parts, fingerprint RAM to be checked, template fingerprint data register, Euclidean distance comparing unit with the enable register that works in fingerprint matching unit group, window edge and upgrade address register to be checked and be connected; The work enable signal that reception work enable register sends, when the enable signal that works is effective, X-coordinate comparing unit is in running order; The zero start signal that receive window border searching parts send, if zero start signal is effective, receive fingerprint RAM to be checked send details in fingerprint point data to be checked and template fingerprint data register send template fingerprint minutiae point data and the X-coordinate of minutiae point data is compared, if the difference of the two is greater than coordinate threshold value, then send to renewal address tag register to be checked and effectively upgrade mark, otherwise send invalid renewal mark; Complete relatively, send X-coordinate difference and the first enabling signal to Euclidean distance comparing unit; Euclidean distance comparing unit is a combinational logic, and its effect is the size of Euclidean distance between more current fingerprint minutiae to be checked and template fingerprint minutiae point and coordinate threshold value; Euclidean distance comparing unit and the enable register that works in fingerprint matching unit group, fingerprint RAM to be checked, template fingerprint data register, X-coordinate comparing unit, field of direction comparing unit and mate optimum minutiae point address and upgrade parts and be connected; Receive in fingerprint matching unit group the work enable signal that the enable register that works sends, when work enable signal is effective, Euclidean distance comparing unit is in running order; Receive the first enabling signal that X-coordinate comparing unit sends, if the first enabling signal is effective, receive the details in fingerprint point data to be checked of fingerprint RAM to be checked transmission and the template fingerprint minutiae point data of template fingerprint data register transmission, and the Euclidean distance of minutiae point data and coordinate threshold value are compared, if be greater than coordinate threshold value, then send to renewal address tag register to be checked and effectively upgrade mark, otherwise send invalid renewal mark; Complete relatively, send the second enabling signal to field of direction comparing unit, upgrade parts to the optimum minutiae point address of coupling and send Euclidean distance; Field of direction comparing unit is that combinational logic is formed, and its effect is the size of field of direction difference between more current fingerprint minutiae to be checked and template fingerprint minutiae point and threshold value; Field of direction comparing unit and the enable register that works in fingerprint matching unit group, fingerprint RAM to be checked, template fingerprint data register, Euclidean distance comparing unit, mate optimum minutiae point address and upgrade parts and be connected, receive in fingerprint matching unit group the work enable signal that the enable register that works sends, when work enable signal is effective, field of direction comparing unit is in running order; Receive the second enabling signal that Euclidean distance comparing unit sends, if the second enabling signal is effective, receive the details in fingerprint point data to be checked of fingerprint RAM to be checked transmission and the template fingerprint minutiae point data of template fingerprint data register transmission, and by the field of direction difference of minutiae point data and direction threshold value, direction threshold value is greater than 0, compares, if be greater than direction threshold value, then send to renewal address tag register to be checked and effectively upgrade mark, otherwise send invalid renewal mark; Complete relatively, upgrade parts to the optimum minutiae point address of coupling and send the 3rd enabling signal.
28. fingerprint matching unit based on coarse grain parallelism as described in claim 26 or 27, it is characterized in that coordinate threshold value is 14, direction threshold value is 200.
29. as claimed in claim 21 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that mating optimum minutiae point address renewal parts is combinational logics, is made up of a comparer and Euclidean distance register; Its effect be compare current lookup to the minutiae point meeting coordinate threshold value and direction threshold value, Euclidean distance size between the minutiae point found before and template fingerprint minutiae point, select and minutiae point that between template fingerprint minutiae point, Euclidean distance is minimum, and record its address; Mate optimum minutiae point address to upgrade parts and upgrade parts with the enable register that works in fingerprint matching unit group i, Euclidean distance comparing unit, the minutiae point number totalizer that the match is successful, fingerprint address ram to be checked and upgrade address tag register to be checked and be connected; Receive in fingerprint matching unit group i the work enable signal that the enable register that works sends, work enable signal is effective, mates optimum minutiae point address renewal parts in running order; The 3rd enabling signal that receive direction field comparing unit occurs, if the 3rd enabling signal is effective, then the Euclidean distance that the Euclidean distance received from Euclidean distance comparing unit and Euclidean distance register are deposited is compared, initial value in Euclidean distance register is 10000, if be less than existing Euclidean distance, then Euclidean distance register is updated to the Euclidean distance received, and receive fingerprint address ram to be checked from fingerprint address ram renewal parts to be checked, upgrade existing optimum point address, if be greater than existing Euclidean distance, then do not upgrade; Simultaneously to the minutiae point number totalizer that the match is successful the mark that sends that the match is successful, send to renewal address tag register to be checked and effectively upgrade mark.
30. as claimed in claim 21 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that the minutiae point number totalizer that the match is successful is a combinational logic, include a totalizer, its effect is the cumulative minutiae point number that the match is successful, will send template address and upgrade marking signal after completing; The minutiae point number totalizer that the match is successful upgrades parts with the enable register that works in fingerprint matching unit group i, fingerprint address ram to be checked, mate that optimum minutiae point address upgrades parts, template fingerprint address ram upgrades parts, matching result output block is connected; Receive in fingerprint matching unit group i the work enable signal that the enable register that works sends, work enable signal is effective, and the minutiae point number totalizer that the match is successful is just in running order; Receive fingerprint address ram to be checked and upgrade the 5th enabling signal that parts send, if the 5th enabling signal is effective, receives the optimum minutiae point address of coupling and upgrade parts, whether mark is effective to judge that the match is successful, if effectively, then totalizer adds 1, otherwise constant; Upgrade parts to template fingerprint address ram to send template address and effectively upgrade mark, send to matching result output identification the match is successful number.
31. as claimed in claim 21 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that matching result output block is a combinational logic, be made up of the first output register and the second output register, the bit wide of 2 registers is 32, and matching result output block and the enable register that works in fingerprint matching unit group i, the minutiae point number totalizer that the match is successful, template fingerprint address ram to upgrade in parts, fingerprint matching unit group current finger print group in matching result register and fingerprint matching unit group and mate complement mark parts and be connected; Receive in fingerprint matching unit group i the work enable signal that the enable register that works sends, work enable signal is effective, and matching result output block is in running order; Matching result output block receives the minutiae point number totalizer that the match is successful the minutiae point number that sends that the match is successful, will the match is successful that minutiae point number is buffered in the first register; The 4th enabling signal and the current template details in fingerprint that receive the transmission of template fingerprint address ram renewal parts are counted out, and are buffered in the second output register by current template minutiae point number; If the 4th enabling signal is effective, then using after the splicing of the value of the first output register and the second output register as matching result, matching result high 32 from the first output register, low 32 from the second output register, then matching result is sent to matching result register in fingerprint matching unit group i, end signal is issued current finger print group coupling complement mark parts in fingerprint matching unit group i.
32. as claimed in claim 1 based on the fingerprint matching unit of coarse grain parallelism, it is characterized in that result election contest parts stop mark collecting part, memory access processing element by unit group, existing the match is successful minutiae point number register, existing template details in fingerprint count out register, existing matching result numbered register, the first comparer, the second comparer, numbering selector switch form:
Unit group stops mark collecting part to collect T unit group and stops mark, judge whether all fingerprint matching unit groups complete, if so, then send effective first control signal to memory access input selector, and send effective result arbitration mark to memory access processing element; Unit group stops mark collecting part to be connected with T fingerprint matching unit group, memory access input selector and memory access processing element, receive unit group stopping mark 0 ~ unit group stopping mark T-1 that T fingerprint matching unit group sends, if unit group stops mark 0 ~ unit group to stop mark T-1 to be 1, then sending effective first control signal to memory access input selector, sending effective result arbitration mark to leaving with processing element;
Memory access processing element produces memory access signal, and processes memory access data; Memory access processing element and unit group stop indicating collecting part, the first comparer, the second comparer, numbering selector switch, existing the match is successful that minutiae point number register, existing matching result numbered register, memory access input selector and result pilot lamp are connected; Mark collecting part reception result arbitration mark is stopped from unit group, if result arbitration mark effectively, then memory access enable signal is set effective, and send enable, the memory access read request command of memory access, access request address to memory access input selector, wait for that memory access input selector sends read request return data; Receive read request return data from memory access input selector, these data comprise 3 parameters: single details in fingerprint is counted out, template fingerprint total, matching result address; Memory access enable signal is set effective, and to memory access input selector send memory access enable, leave with read request command, access request address and matching result address, after obtaining read request return data, read request return data is split, by the match is successful, number sends to the first comparer, current template details in fingerprint is counted out and sends to the second comparer, the matching result number that one counter records has read is set simultaneously, and sends it to numbering selector switch; Then access request address is added 64, read next matching result; If the matching result number read equals template fingerprint sum, write request enable signal is set effective, simultaneously the match is successful that minutiae point number register receives the optimum minutiae point number of coupling, register of counting out from existing template details in fingerprint receives existing template details in fingerprint and counts out, reads its numbering from existing matching result numbered register, and three is spliced into 64 as write request data from existing; Then write request enable signal, write request address, access request address are sent to memory access input selector, externally pilot lamp transmission effectively mates settling signal simultaneously;
It is existing that the match is successful before minutiae point number register deposits this cycle and the number of the minutiae point of fingerprint matching optimum to be checked; Existing the match is successful that minutiae point number register is connected with the first comparer, memory access processing element, sends existing minutiae point number to the first comparer, receives the minutiae point number that the first comparer sends afterwards, and upgrade register; The optimum minutiae point number of coupling is sent to memory access processing element;
Existing template details in fingerprint count out register deposit this cycle before with the minutiae point number of the template fingerprint of fingerprint matching optimum to be checked; Existing template details in fingerprint register of counting out is connected with the second comparer, memory access processing element, sends existing minutiae point number to the second comparer, receives the minutiae point number that the second comparer sends afterwards, and upgrades register; Send existing template details in fingerprint to memory access processing element to count out;
Existing matching result numbered register deposit this cycle before with the numbering of the matching result of fingerprint matching optimum to be checked; Existing matching result numbered register is connected with numbering selector switch and memory access processing element, sends existing matching result numbering to numbering selector switch, receives matching result numbering, and upgrade register from numbering selector switch; Existing matching result numbering is sent to memory access processing element;
First comparer is more existing the match is successful minutiae point number and memory access processing element send that the match is successful number, selects and maximum sends to existing the match is successful minutiae point number register; First comparer and memory access processing element, existing the match is successful that minutiae point number register, the second comparer and numbering selector switch are connected, the match is successful number is received from memory access processing element, existing the match is successful minutiae point number is received from existing the match is successful minutiae point number register, the two is compared, if the match is successful, number is large, then send invalid second control signal to the second comparer, send effective 4th control signal to numbering selector switch, and general's the match is successful number sends to existing the match is successful minutiae point number register; If existing, the match is successful, and minutiae point number is large, then send invalid second control signal to the second comparer, send invalid 4th control signal to numbering selector switch; If the two is equal, then sends effective second control signal to the second comparer, send invalid 4th control signal to numbering selector switch;
Second comparer compares the existing template details in fingerprint current template details in fingerprint sent with memory access processing element of counting out and counts out, and selects the minimum existing template details in fingerprint that sends to and to count out register, second comparer and memory access processing element, existing template details in fingerprint is counted out register, first comparer and numbering selector switch are connected, receive current template details in fingerprint from memory access processing element to count out, receive existing template details in fingerprint count out from existing template details in fingerprint register of counting out, from the first comparer reception control signal, if the second control signal is effective, then the two is compared, if current template details in fingerprint is counted out little, then send effective 3rd control signal to numbering selector switch, and current template details in fingerprint is counted out send to existing template details in fingerprint to count out register, if existing template details in fingerprint is counted out little, send invalid 3rd control signal to numbering selector switch, if the two is equal, then send invalid 3rd control signal to numbering selector switch, if the 4th control signal that the first comparer sends is invalid, then do not take operation,
The numbering with the matching result of fingerprint matching optimum to be checked selected by numbering selector switch from matching result; Count out register, the first comparer and the second comparer of numbering selector switch and memory access processing element, existing template details in fingerprint is connected, from the first comparer reception control signal, from the second comparer reception control signal, if the two has one effectively, receive matching result numbering from memory access processing element, send it to existing matching result numbered register; If the two is all invalid, then receives existing matching result from existing matching result numbered register and number and send to existing matching result numbered register.
CN201510222159.2A 2015-05-05 2015-05-05 Fingerprint matching unit based on coarse grain parallelism Active CN104850829B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510222159.2A CN104850829B (en) 2015-05-05 2015-05-05 Fingerprint matching unit based on coarse grain parallelism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510222159.2A CN104850829B (en) 2015-05-05 2015-05-05 Fingerprint matching unit based on coarse grain parallelism

Publications (2)

Publication Number Publication Date
CN104850829A true CN104850829A (en) 2015-08-19
CN104850829B CN104850829B (en) 2018-01-30

Family

ID=53850464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510222159.2A Active CN104850829B (en) 2015-05-05 2015-05-05 Fingerprint matching unit based on coarse grain parallelism

Country Status (1)

Country Link
CN (1) CN104850829B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982318A (en) * 2012-11-14 2013-03-20 江苏乐买到网络科技有限公司 Fingerprint acquisition system and network identity authentication system using the same
US20140270421A1 (en) * 2013-03-15 2014-09-18 Allweb Technologies Inc Multi-layer biometric matching system
CN104077561A (en) * 2014-03-17 2014-10-01 北京市公安局刑事侦查总队 Fingerprint automatic comparison method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982318A (en) * 2012-11-14 2013-03-20 江苏乐买到网络科技有限公司 Fingerprint acquisition system and network identity authentication system using the same
US20140270421A1 (en) * 2013-03-15 2014-09-18 Allweb Technologies Inc Multi-layer biometric matching system
CN104077561A (en) * 2014-03-17 2014-10-01 北京市公安局刑事侦查总队 Fingerprint automatic comparison method

Also Published As

Publication number Publication date
CN104850829B (en) 2018-01-30

Similar Documents

Publication Publication Date Title
US20210200448A1 (en) Method and device for determining strategy for data placement within ssd
Gustavson The scalable coherent interface and related standards projects
US8583896B2 (en) Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain
CN101105772B (en) Method for controlling computer readable memory and manager data unit device
US20210096777A1 (en) Method for predicting lba information, and ssd
KR20200066953A (en) Semiconductor memory device employing processing in memory (PIM) and operating method for the same
CN110147335A (en) For associated system and method between NVME order in SSD reservoir
CN104915322A (en) Method for accelerating convolution neutral network hardware and AXI bus IP core thereof
CN102629258A (en) Repeating data deleting method and device
CN107113341A (en) The system of the high-throughput processing of affairs in the Distributed Relation Database Management System divided for data
CN104599227A (en) DDR3 arbitration controller and method applied to high-speed CCD data storage
CN115080455B (en) Computer chip, computer board card, and storage space distribution method and device
KR20200123260A (en) Interface for cache and memory with multiple independent arrays
CN109598250A (en) Feature extracting method, device, electronic equipment and computer-readable medium
CN106202224B (en) Search processing method and device
CN103761291A (en) Geographical raster data parallel reading-writing method based on request aggregation
CN114330638A (en) Reconfigurable hardware buffers in neural network accelerator frameworks
CN105260332A (en) Method and system for orderly storing CPLD data packets
US20200082241A1 (en) Cognitive storage device
EP0632401A2 (en) Method and apparatus for on-line, real time recognition of stroked hand-drawn characters
Cui et al. Skeleton‐based attention‐aware spatial–temporal model for action detection and recognition
Man et al. Accelerating computation of Euclidean distance map using the GPU with efficient memory access
CN110008030A (en) A kind of method of metadata access, system and equipment
CN104850829A (en) Coarse-grain parallel-based fingerprint matching unit
CN115269454A (en) Data access method, electronic device and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant