CN104850829B - Fingerprint matching unit based on coarse grain parallelism - Google Patents

Fingerprint matching unit based on coarse grain parallelism Download PDF

Info

Publication number
CN104850829B
CN104850829B CN201510222159.2A CN201510222159A CN104850829B CN 104850829 B CN104850829 B CN 104850829B CN 201510222159 A CN201510222159 A CN 201510222159A CN 104850829 B CN104850829 B CN 104850829B
Authority
CN
China
Prior art keywords
fingerprint
signal
data
register
request
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.)
Active
Application number
CN201510222159.2A
Other languages
Chinese (zh)
Other versions
CN104850829A (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Collating Specific Patterns (AREA)

Abstract

The invention discloses a kind of fingerprint matching unit based on coarse grain parallelism, it is therefore an objective to improves fingerprint matching module throughput.The present invention is campaigned for part, memory access input selector, memory, indicator lamp, start button and formed by T fingerprint matching unit group, multi-request controller, result.Multi-request controller is made up of requesting processing and physical interface layer.Reading and writing data request of the multi-request controller to T fingerprint matching unit group is arbitrated, and by from the data distribution that memory access input selector receives to T fingerprint matching unit.Each fingerprint matching unit group is made up of fingerprint matching unit array, two state of a control machines and several processing or memory unit being made up of simple logic and register.The present invention improves degree of parallelism, improves fingerprint matching module throughput, and does not need main frame, being capable of complete independently matching.

Description

Fingerprint matching unit based on 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 identification is a critically important topic, and quickly, it is accurate and it is convenient be personal identification Necessary to system.Fingerprint is widely used as a kind of stabilization, the unique and biological characteristic that easily gathers, fingerprint identification technology In field of biological recognition.Fingerprint matching is a critical process of fingerprint recognition, therefore the algorithm for having many fingerprint matchings is carried Go out.Fingerprint matching algorithm based on minutiae point, because simply, and matching precision is high and be widely used.
Minutiae point (minutia) is that the characteristic point of fingerprint otherness, a specification, the finger of high quality are characterized in fingerprint picture Line picture typically has 70-80 minutiae point, and in local or incomplete fingerprint picture, the number of minutiae point is many less.One Individual minutiae point includes three attributes, i.e. X-coordinate, Y-coordinate and direction.So a fingerprint can be with its minutiae feature come simple Single description.And fingerprint matching is then to compare the similarity of two fingerprint minutiaes.
In practical application, fingerprint matching is an application for needing real-time, in order to reach this purpose, has been had before People proposes the hardware scheme of correlation, and accompanying drawing 1 is that Richard M.Jiang et al. use the fingerprint matching based on minutiae point Fingerprint matching hardware cell (Richard M.Jiang, Danny Crookes, the FPGA-based minutia of algorithm design matching for biometric fingerprint image database retrieval,J Real-Time Image Proc(2008),3:177-182.)。
Reference picture 1, the fingerprint matching unit by EJO (Early-Jump_Out) control units and PE (arithmetic element, Process-Element) array two parts form.In order to ensure that the unit being capable of normal operation, fingerprint matching unit and main frame It is connected, main frame is connected with template fingerprint storehouse.Template fingerprint storehouse is the internal memory for storing template fingerprint.Main frame is sent to memory please Ask, read finger print data from memory, give finger print data to EJO control units.PE arrays are connected with EJO control units, by N Individual PE compositions, N represent the number of minutiae point in fingerprint to be checked, and N takes 64, is counted out for details to be checked less than 64, needs It is 64 to be supplemented minutiae point with invalid data (X-coordinate value of fingerprint minutiae, Y-coordinate value and direction value are set into -1) It is individual.One PE completes the comparison of one minutiae point of fingerprint to be checked and all minutiae points of template fingerprint, and N number of PE completes to be checked Ask the comparison of the N number of minutiae point of fingerprint and all minutiae points of template fingerprint, obtain in N number of minutiae point with template fingerprint details Point comparative result simultaneously give comparative result to EJO control units, if it is identical (3 attributes of fingerprint minutiae i.e. to be checked and The difference that template fingerprint minutiae point corresponds to attribute is less than threshold value), then result is 1, if it is different, then result is 0.EJO controls are single Member is connected by broadcast channel, OR logic bus with PE arrays, and is connected by cable with main frame, and template fingerprint is sent to main frame Address, enabling signal and template fingerprint data are received from main frame.EJO control units are by broadcast channel by the details of template fingerprint Point is broadcast to arithmetic element array, and matching result is transferred to EJO control units by arithmetic element array by OR logic bus. EJO control units judge that current template fingerprint differs with fingerprint minutiae to be checked according to the comparative result obtained from PE arrays Number whether be more than before template fingerprint, if it is greater, then EJO control units produce new template fingerprint address from main frame Receive new template fingerprint;If it is less, EJO control units send next details of current template fingerprint to PE arrays Point.
The fingerprint matching hardware cell that Richard M.Jiang et al. are proposed can realize that 1.22 million templates per second refer to Line and fingerprint matching to be checked.Even so, in most of occasions, the fingerprint base of fingerprint matching is all very huge, and Still it is impossible to meet the requirement of real-time for existing fingerprint matching unit throughput (the template fingerprint number of matching per second).
The content 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.
One group of data is represented using W (W=64K, K≤8) position in the present invention, the memory-aided memory access bit wide of institute is also W positions. The data to be prestored in memory include 3 parts:Parameter, fingerprint to be checked and template fingerprint storehouse.Parameter is including 3, i.e., single Details in fingerprint is counted out, template fingerprint is total and matching result address.Single fingerprint minutiae number represents that a fingerprint includes Details count out, be set to M, if the details of some fingerprint is counted out less than M, in data pre-storage, filled out with invalid data Fill:Invalid data is typically represented using 7FFFFFFFFFFFFFFF.Template fingerprint sum is represented included in template fingerprint storehouse The number of template fingerprint, this parameter are used for as matching end condition.Matching result address represents the fingerprint matching from the present invention The first address of the result storage of unit group output.In view of coordinate value and the size of direction value, one is represented with 64 in the present invention Individual fingerprint minutiae, wherein 18 represent X-coordinate, 18 expression Y-coordinate, 28 represent direction (orien).
The present invention is by T (0<T≤16) individual fingerprint matching unit group FMEG (FingerprintMatchingElementGroup), multi-request controller, result are campaigned for part, memory access input selector, deposited Reservoir, indicator lamp, start button composition, T fingerprint matching unit group FMEG are designated as fingerprint matching unit 0~fingerprint matching unit of group Group T-1.
Multi-request controller is connected with T fingerprint matching unit group, memory access input selector, to T fingerprint matching unit Group access request arbitrated, by from the data distribution that memory access input selector receives to T fingerprint matching unit group.
Fingerprint matching unit group i (0≤i≤T-1) is connected with multi-request controller, result election contest part and start button, complete Into the matching of one group of fingerprint and fingerprint to be checked.
Memory access input selector is an alternative selector, and part is campaigned for multi-request controller, memory and result It is connected, when the first control signal that as a result election contest part is sent is invalid, memory access input selector receives multi-request controller and sent Access request, and be sent to memory, when receiving the data of memory transmission, memory access input selector sends data Give multi-request controller;When the first control signal that result election contest part is sent is effective, memory access input selector receives result The access request that part is sent is campaigned for, and is sent to memory, when receiving the data of memory transmission, memory access input selection Device sends the data to result election contest part.
As a result election contest part is connected with T fingerprint matching unit group, memory access input selector and indicator lamp, is tied according to matching Fruit select in template fingerprint storehouse with result matching degree highest fingerprint to be checked.
Memory is connected with memory access input selector, storage template fingerprint storehouse, fingerprint to be checked, matching result and related ginseng Number.
Start button is connected with T fingerprint matching unit group, starts the fingerprint matching unit based on coarse grain parallelism.
Indicator lamp is connected with result election contest part, and instruction matching process is completed.
Multi-request controller is made up of requesting processing and physical interface layer.
Requesting processing is connected with T fingerprint matching unit group and physical interface layer, is responsible for from T fingerprint matching unit One group of group selection as the current fingerprint matching unit group for taking multi-request controller, be denoted as fingerprint matching unit group j (0≤j≤ T-1), requesting processing only handles fingerprint matching unit group j request, and only sends signal to fingerprint matching unit group j. Requesting processing is by moderator, input alternative pack, request response generating unit, output alternative pack, the enabled generating unit of reading Part and numbering buffer unit, order buffer unit, write request data buffering part, four buffer parts of data buffering part of reading back Part forms.
Physical interface layer is connected with requesting processing and memory access input selector, and physical interface layer is by memory access signal transacting Part, read FIFO_CMD control signal generating units part and read FIFO_WDF control signal generating units part composition, physical interface layer will Memory access input selector is sent to after the signal transacting received from requesting processing;By what is received from memory access input selector Requesting processing is sent to after signal transacting.
Fingerprint matching unit group i (0≤i≤T-1) is connected with start button, multi-request controller and result election contest part.Often Individual fingerprint matching unit group structure is identical.Fingerprint matching unit group i is asked by main control state machine, sub-control state machine, reading Ask generating unit, write request generating unit, data receiver part, calculating has matched fingerprint number part, data initialization mark is posted Storage, work enabler flags register, current finger print group matching complement mark register, matching result register, unit group are stopped Only flag register, K (1≤K≤8) individual fingerprint matching unit (FME) composition.
As a result part is campaigned for by unit group stopping mark collecting part, memory access processing component, existing the match is successful minutiae point Number register, existing template details in fingerprint are counted out register, existing matching result numbered register, first comparator, Two comparators, numbering selector composition.
Memory is Double Data Rate synchronous DRAM (DDR3 SDRAM), can provide any address at any time Data, storage size suggest more than 2GB, and memory access bit wide is W positions, have data needed for matching, including finger to be checked in memory The number of template fingerprint, the storage address of matching result in line, template fingerprint storehouse, template fingerprint storehouse.Memory inputs with memory access Selector is connected.
The course of work such as accompanying drawing 11 of the present invention, bottom is the course of work of T fingerprint matching unit group, and top is fingerprint The course of work of K fingerprint matching unit in 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 of start button transmission, and fingerprint matching unit group i is handled to multi-request Device sends read request enable signal i, the read request response signal i for waiting multi-request controller to be received to send.
2nd step, initialize the fingerprint RAM to be checked in T fingerprint matching unit group:
T fingerprint matching unit group obtains the right to occupation of multi-request controller according to polling mechanism successively, carries out data visit Ask, finger print data to be checked is obtained by multi-request controller, and finger print data to be checked is initialised to each fingerprint matching In K fingerprint matching unit of unit group.
3rd step, template fingerprint data are read, carry out matching primitives, and write back matching result:
3.1st step, T fingerprint matching unit group obtain the right to occupation of multi-request controller according to polling mechanism, entered successively Row data access, template fingerprint data are obtained by multi-request controller, and template fingerprint data are write into each fingerprint matching In K fingerprint matching unit of unit group.Each fingerprint matching unit group carries out matching meter after template fingerprint data are obtained Calculate, after completing matching primitives, send write request to multi-request controller and enable, wherein T fingerprint matching unit group reads data Or the operation of result is write because to take same multi-request controller, thus serially perform;And T fingerprint matching list Matching primitives perform parallel in tuple.
3.2nd step, T fingerprint matching unit group obtain the right to occupation of multi-request controller according to polling mechanism successively, will The intermediate result of matching primitives is write in memory by multi-request controller.If fingerprint matching unit group is completed to distribute Arriving for task, then campaign for part generating unit group stopping mark to result.
4th step, as a result campaign for the process that part detects T fingerprint matching unit group task performance:
As a result election contest part detects whether to receive T unit group stopping mark, if receiving, turns the 5th step, if result is campaigned for Part does not receive T unit group stopping mark, then turns the 3.1st step.
5th step result campaigns for the process of subassembly selection and fingerprint matching degree highest template fingerprint to be checked:
As a result part is campaigned for after T unit group stopping mark is received, and the first mark is sent to memory access input selector Signal, and memory access enable signal, access request command signal, access request address are sent to memory access input selector, from memory access Input selector connects reading and receives request returned data, after all matching results are compared, selects and fingerprint to be checked With degree highest template fingerprint, and using obtained template fingerprint as write request data, write request enable signal, access request Address is sent to memory access input selector, and memory access input selector will receive to obtain write request data, write request enable signal, visit Deposit request address and be sent to memory;Result campaigns for part and sends matching completion signal to indicator lamp simultaneously.
Compared with prior art, following technique effect can be reached using the present invention:
(1) degree of parallelism is improved, therefore improves fingerprint matching module throughput:Tied parallel present invention employs two-stage Structure:The first order is that K FME is performed parallel inside fingerprint matching unit group i, can reach K times of degree of parallelism;The second level is to utilize Calculating and data access time is covered, T fingerprint matching unit group shares a multi-request controller when data memory access, T fingerprint matching unit group alternately interacts with multi-request controller, so as to alternately carry out memory memory access;Working as fingerprint When matching unit group i carries out memory access, another T-1 fingerprint matching unit group is performed in parallel matching primitives.Since when T is smaller, T Individual fingerprint matching unit group data access time is less than the matching primitives time of a fingerprint matching unit group, then fingerprint matching list Tuple j is after completing once to calculate, and fingerprint matching unit group j-1 has completed current data access, then fingerprint matching unit group j Without waiting for, it is possible to carry out next data access, so T fingerprint matching unit group can complete parallel perform, now Two-stage degree of parallelism is K*T.When T is larger, the data access time of T fingerprint matching unit group is more than a fingerprint matching unit The calculating time of group, then when meaning that fingerprint matching unit group j completes to calculate, fingerprint matching unit group j-1 does not complete data also Access, then fingerprint matching unit group j just needs to wait fingerprint matching unit group j-1 to carry out data access, so T fingerprint matching Unit group cannot complete parallel perform so that the degree of parallelism of the second level tends to saturation, if degree of parallelism is P during saturation, then Two-stage degree of parallelism is K*P.
(2) present invention does not need main frame, being capable of complete independently matching:Fingerprint to be checked and template are prestored in memory In the case of fingerprint base, the present invention can be independently completed from memory and read data, carry out matching primitives, after the completion of will Memory is stored back to result, matching is completed into signal output to indicator lamp afterwards.Whole matching process does not need main frame to participate in, pole The earth improves the independence of fingerprint matching unit.
Brief description of the drawings
Fig. 1 is the logical construction signal for the fingerprint matching hardware cell that background technology Richard M.Jiang et al. are announced Figure.
Fig. 2 is the overall logic structured flowchart of the present invention.
Fig. 3 is data memory format schematic diagram in memory of the present invention.
Fig. 4 is the requesting processing building-block of logic of multi-request controller in the present invention.
Fig. 5 is the physical interface layer building-block of logic of multi-request controller 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 that result campaigns for component logic structure chart in the present invention.
Figure 11 is the execution flow chart of fingerprint matching unit group in the present invention.
Embodiment
In the signal of following introductions, specify and represent that signal is effective when signal is 1;Signal represents invalidating signal when being 0, removes Outside distinctive signal, do not illustrate one by one.
Fig. 2 is the overall logic structure chart of the present invention.The present invention asks more by the individual fingerprint matching unit groups of T (1≤T≤16), Ask controller, result election contest part, memory access input selector and memory, start button, indicator lamp groups into.
Fingerprint matching unit group i (0≤i≤T-1) is connected with start button, multi-request controller and result election contest part.(refer to The line matching unit group i course of work can be divided into two links, and first link is that digital independent or result store link, this Individual link fingerprint matching unit group i needs to carry out signal interaction with multi-request controller, and T fingerprint matching unit group is serially complete Into;Second link is matching primitives link, and fingerprint matching unit group i is independently carried out in this link, T fingerprint matching unit Group is parallel to be performed.
Fingerprint matching unit group i receives commencing signal from start button, and according to commencing signal, fingerprint matching unit group i is to more Request controller sends read request enable signal i, waits multi-request controller to send read request response signal i, now T fingerprint Matching unit group competes multi-request controller.After multi-request controller receives T read request enable signal, according to arbitration principle Fingerprint matching unit groups of the selection fingerprint matching unit group j (j is one in T) as current occupancy multi-request controller, And send read request response signal j to fingerprint matching unit group j.Fingerprint matching unit group j receives read request response signal j Afterwards, read request address j and read request enable signal j is sent to multi-request controller, waits multi-request controller to send read request Returned data.Fingerprint matching unit group i (0≤i≤T-1, i ≠ j) is in the state for waiting multi-request controller, and continues to more Request controller sends read request enable signal i, until multi-request controller receives and sends back read request response signal i.
Fingerprint matching unit group i (0≤i≤T-1) proceeds by matching meter after fingerprint and template fingerprint to be checked is obtained Calculate, when carrying out matching primitives, T fingerprint matching unit group performs parallel.
After fingerprint matching unit group i completes matching primitives and obtains matching result, write request is sent to multi-request controller Enable signal i.If now taking multi-request controller without fingerprint matching unit group, multi-request controller is fingerprint matching list Tuple i sends write request to fingerprint matching unit group i and rung as the current fingerprint matching unit group for taking multi-request controller Induction signal i.Fingerprint matching unit group i sends write request data after write request response signal i is received, to multi-request controller I (matching result that i.e. fingerprint matching unit group i is obtained) and read request enable signal i, take multi-request controller and obtain next time Template fingerprint data needed for matching.
After all matching primitives are completed, fingerprint matching unit group i campaigns for part transmitting element group to result and stops mark Will i, during each fingerprint matching unit group transmitting element group stopping mark, not ordinal relation.
Multi-request controller is connected with T fingerprint matching unit group, memory access input selector.Multi-request controller simultaneously from T fingerprint matching unit group obtains T and reads (either writing) request enable signal (i.e. reading (or writing) request enable signal 0~reading (or writing) asks enable signal T-1), arbitrated according to arbitration rules, select fingerprint matching unit group j to be taken as current The fingerprint matching unit group of multi-request controller, then multi-request controller only receive fingerprint matching unit group j transmission signal, And signal only is sent to fingerprint matching unit group j, other fingerprint matching unit groups are waited for.If multi-request controls That device receives is read request enable signal j, then multi-request controller produces read request response letter after receiving read request and enabling j Number j, and read request response signal j is sent to fingerprint matching unit group j.Multi-request controller is receiving fingerprint matching unit group After the read request address of transmission, to memory access input selector with sending memory access enable signal, access request command signal and memory access Location, memory access address are equal to read request address.Multi-request controller receives read request returned data and reading from memory access input selector Request data useful signal, buffering area is first stored in, when the reading of buffering area enables effective, is read from buffering area, obtain read request and return Data j and read request data useful signal j is returned, and read request returned data j and read request data useful signal j are sent to finger Line matching unit group j.If that multi-request controller receives is write request enable signal j, multi-request controller is receiving After write request enable signal j, write request response signal j is produced, is sent to fingerprint matching unit group j;Then multi-request controller Write request address j and write request data j that fingerprint matching unit group j is sent are received, by write request address j and write request data j First be stored in buffering area, when buffering area it is enabled effectively when read from buffering area, as access request address and write request data and Write request enable signal and memory access command signal send jointly to memory access input selector.
Memory access input selector is an alternative selector, and part is campaigned for multi-request controller, memory and result It is connected, when the first control signal that as a result election contest part is sent is invalid, memory access input selector receives multi-request controller and sent Access request, and be sent to memory, when receiving the data of memory transmission, memory access input selector sends data Give multi-request controller;When the first control signal that result election contest part is sent is effective, memory access input selector receives result The access request that part is sent is campaigned for, and is sent to memory, when receiving the data of memory transmission, memory access input selection Device sends the data to result election contest part.
As a result election contest part is connected with T fingerprint matching unit group, memory access input selector and indicator lamp, is tied according to matching Fruit select in template fingerprint storehouse with result matching degree highest fingerprint to be checked.From fingerprint matching unit group i receiving units Group stop signal i, after unit group stopping mark 0~unit group stopping mark T-1 is received, it is defeated to memory access as a result to campaign for part Enter selector and send the first control signal, while to memory access input selector sends memory access enable signal, access request order is believed Number, access request address, wait from memory access input selector and receive read request returned data and read request data useful signal, this When the read request returned data that receives be the initial address of matching result and the storage address of election, by matching result Initial address is sent to memory access input selector as access request address, and the read request returned data now received is matching As a result, carry out afterwards on the initial address of matching result plus 64, as new access request address, obtain next matching knot Fruit.After receiving matching result, as a result campaign for part the matching result of different templates fingerprint is compared, select with it is to be checked Fingerprint matching degree highest template fingerprint.And to memory access input selector with sending access request command signal, access request Location, write request enable signal and write request data, while send to be effectively matched to indicator lamp and complete signal.
Memory is Double Data Rate synchronous DRAM (DDR3 SDRAM), can provide any address at any time Data, storage size suggest more than 2GB, and memory access bit wide is W positions, have data needed for matching, including finger to be checked in memory The number of template fingerprint, storage address of matching result etc. in line, template fingerprint storehouse, template fingerprint storehouse.Finger print data is storing The storage mode of device is referring to Fig. 3.Memory is connected with memory access input selector.If memory receives from memory access input selector To be memory access enable signal, then memory receives access request command signal, access request from memory access input selector simultaneously Address, the data of request are sent to memory access input selector.If memory from memory access input selector receive be write please Enable signal is sought, then memory receives access request command signal, access request address from memory access input selector simultaneously, writes and ask Data are sought, write request data are write by access request address.
Fig. 3 is the data memory format schematic diagram in memory of the present invention.The present invention using W (W=64K, 0<K≤8) position (bit) one group of data is represented, the memory access bit wide of required memory is also W positions (K=8, W=512 in Fig. 3).It is pre- in memory The data deposited include 3 parts:Parameter, fingerprint to be checked and template fingerprint storehouse.Parameter includes 3, i.e., single fingerprint minutiae Number, template fingerprint sum and matching result address.Single fingerprint minutiae number represents the details points that a fingerprint includes Mesh, M is set to, if the details of some fingerprint is counted out as m, m<M, then in data pre-storage, by M-m behind current finger print Minutiae point is filled with invalid data:An invalid minutiae point is represented with 7FFFFFFFFFFFFFFF.Template fingerprint sum represents mould The number of template fingerprint included in plate fingerprint base, this parameter are used for as matching end condition.Matching result address represents From the first address of the write request data storage of fingerprint matching unit group i outputs.What is stored after parameter is fingerprint to be checked, this hair It is bright to represent a fingerprint minutiae with 64, wherein 18 represent X-coordinate, 18 expression Y-coordinate, 28 expression directions (orien).What is stored after fingerprint to be checked is template fingerprint storehouse, fingerprint storage mode and finger to be checked in template fingerprint storehouse Line is identical.Space after template fingerprint storehouse is used to store intermediate match result and final matching results.Each template fingerprint pair The intermediate match result answered is 64, and this 64 are divided into two parts, and high 32 represent that the match is successful details is counted out, low 32 Represent that current template details in fingerprint is counted out.The intermediate match knot of K template fingerprint and fingerprint to be checked is represented per W=64K positions Fruit.There are W positions to be used to store final matching results after intermediate match result.Final matching results are that result election contest part is drawn Template fingerprint storehouse in fingerprint matching degree highest fingerprint to be checked, its most-significant byte represent that matching optimal details counts out, 8 represent that existing template details in fingerprint is counted out afterwards, afterwards 32 numberings for representing existing template fingerprint position in storehouse, it 0 filling of unnecessary bit wide afterwards.
Fig. 4 is requesting processing structural representation in multi-request controller.Multi-request controller is by requesting processing Formed with physical interface layer.Requesting processing is responsible for handling the request signal from T fingerprint matching unit group, physical interface Layer is responsible for interacting with memory.
Requesting processing is connected with T fingerprint matching unit group and physical interface layer, is responsible for from T fingerprint matching unit One group of fingerprint matching unit group as the current occupancy multi-request controller for taking multi-request controller of group selection, is denoted as fingerprint Matching unit group j, now requesting processing only handle fingerprint matching unit group j request, and only to fingerprint matching unit Group j sends signal.Requesting processing by moderator, input alternative pack, request response generating unit, output alternative pack, Read enabled generating unit and numbering buffer unit, order buffer unit, write request data buffering part, data buffering portion of reading back Four buffer units of part composition, four buffer units are four by the First Input First Output (FIFO) that Block RAM are formed on piece FIFO length is identical, is Q, Q>2048.
Requesting processing receives read request enable signal or write request enable signal from T fingerprint matching unit group, If what is received is read request enable signal, requesting processing is according to arbitration principle selection fingerprint matching unit group j conducts The current fingerprint matching unit group for taking multi-request controller, remaining fingerprint matching unit group are in data access and wait shape State, requesting processing send effective read request response signal j to fingerprint matching unit group j.Then from fingerprint matching unit Group j receives read request address j, new read request enable signal j, is arbitrated simultaneously according to the read request enable signal j received New read request response signal j is generated, for next cycle;Pressed simultaneously according to read request enable signal j and read request address j It is read-write flag bit according to high 3, low 32 principles for address bit generate memory access order, and high 3 are 010 during read request, by life Into memory access order caching in the order buffer unit of requesting processing.As the FIFO_ for receiving physical interface layer transmission When CMD reads enable signal, requesting processing to physical interface layer send memory access order, FIFO_CMD non-NULLs marking signal, FIFO_CMD effective marker signals.When requesting processing is connected to the read request returned data of physical interface layer transmission, will read Request returned data is buffered in read request data buffer unit.The reading that requesting processing will be read in read request Returning part The read request useful signal j after returned data j and processing is asked to be sent to fingerprint matching group j.
What if requesting processing was received from T fingerprint matching unit group is write request enable signal, request processing Unit selects fingerprint matching unit groups of the fingerprint matching unit group j as current occupancy multi-request controller according to principle is arbitrated, Remaining fingerprint matching unit group is in memory access wait state, and requesting processing sends to fingerprint matching unit group j and effectively write Request response signal j.Then write request enable signal j, write request address j and write request number are received from fingerprint matching unit group j According to j, new write request response signal j is arbitrated and generated according to write request enable signal j, while according to the enabled letter of write request Number and write request address j generation memory access orders, high 3 of now memory access order is 000, then by memory access order and write request data It is buffered in the order buffer unit of requesting processing.The FIFO_CMD that requesting processing is connected to physical interface layer transmission is read When enable signal, FIFO_WDF read enable signal, requesting processing is non-to physical interface layer transmission memory access order, FIFO_CMD Empty marking signal, FIFO_CMD effective markers signal, write request data, FIFO_WDF non-NULLs marking signal and FIFO_WDF are effective Marking signal.
Moderator and T fingerprint matching unit group, request response generating unit, input alternative pack and numbering buffer unit It is connected, receives reading request signal or written request signal that T fingerprint matching unit group is sent, according to arbitrates principle when each The clock cycle is once arbitrated, and selects the next cycle to take the fingerprint matching unit group of memory access path, by selected fingerprint matching Unit group # is sent to numbering buffer unit, request response generating unit and input alternative pack simultaneously, receives at the same time When asking enable signal simultaneously effective from the reading and writing that selected fingerprint matching unit group is sent, priority treatment write request.Arbitration is former It is then:According to the read request enable signal or write request enable signal received from T fingerprint matching unit group, judge current Whether the fingerprint matching unit group j for taking multi-request controller continues to take, if requesting processing still is able to receive Read request enable signal j (or write request enable signal j), then fingerprint matching unit group j hold over multi-request controller;Such as Fruit requesting processing does not receive read request enable signal j, and (or write request enable signal j) is then obtained by the way of poll Fingerprint matching unit group j ', j ' ≠ j newly is obtained, makes j=j ', arbitration obtains the FMEG numbering j of selection, and j is sent into request rings Answer generating unit, input alternative pack and numbering buffer unit.The mode of poll refers to:
1st step, make variable j '=0;
2nd step, judges whether multi-request controller receives the read request enable signal of fingerprint matching unit group j ' transmissions J ' or write enable signal j ', if so, the 3rd step is then performed, if it is not, then performing the 4th step;
3rd step, obtain the FMEG numbering j ' of selection, to fingerprint matching unit group j ' transmission read request response signal j ' or Write request response signal j ', perform the 2nd step;
4th step, j '=j '+1, if j '<T, perform the 2nd step;If j '=T, the 1st step is performed;
Arbitration obtains the FMEG numbering j of selection, and j is sent into request response generating unit, input alternative pack and numbering Buffer unit.
Request response generating unit and moderator, numbering buffer unit, order buffer unit, write request data buffering part And T fingerprint matching unit group is connected.If receive read request enable signal j (or write requests from fingerprint matching unit group j Enable signal j), FMEG numbering j are received from moderator, receiving FIFO_CMD from order buffer unit, completely marking signal is 0, then send read request response signal j (or write request response signal j), to order buffer unit to fingerprint matching unit group j FIFO_CMD write enable signals are sent, send FIFO_RR write enable signals to numbering buffer module so that the next cycle can be past Memory access order is write in FIFO_CMD, toward write-in FMEG numberings j in FIFO_RR.
Input alternative pack is the MUX of a multiple input single output, input alternative pack and moderator, T finger Line matching unit group, order buffer unit, write request data buffering part are connected, and the FMEG for receiving the selection that moderator is sent is compiled If a number j input alternative packs receive the read request enable signal j that fingerprint matching unit group j is sent, by what is received afterwards The high-order of read request address signal adds 3 (i.e. 010) generation memory access order, and memory access order is sent into order buffer part Part.If inputting alternative pack receives the write request enable signal j that fingerprint matching unit group j is sent, by what is received afterwards The high-order of write request address signal adds 3 (i.e. 000) generation memory access order, and memory access order is sent into order buffer part Part;Write request data j is sent to write request data buffering part simultaneously.
Output alternative pack is the MUX of a single input and multi-output, output alternative pack and numbering buffer part Part, the data buffering part that reads back, the enabled generating unit of reading and T fingerprint matching unit group are connected, and are received from numbering buffer unit The FMEG numbering j of selection, data effective marker position is received from enabled generating unit is read, will if data effective marker position is 1 Read request data useful signal j corresponding to fingerprint matching unit group j puts 1, and read request data useful signal j and read request are returned Return data j and be sent to fingerprint matching unit group j.
Order buffer unit (FIFO_CMD) is the FIFO being made up of Block RAM, and bit wide is 35, for caching memory access Order, wherein high 3 are read-write flag bit, low 32 are address bit.Order buffer unit responds with input alternative pack, request Generating unit, physical interface layer are connected.If FIFO_CMD write enable signals are received from request response generating unit, from input Alternative pack receives memory access order, and send FIFO to request response generating unit expires marking signal.If from physical interface layer Receive FIFO_CMD and read enable signal, then to physical interface layer send memory access order, FIFO_CMD non-NULLs marking signal and FIFO_CMD effective marker signals.
Write request data buffering part (FIFO_WDF) is the FIFO being made up of Block RAM, and bit wide is W positions, for delaying Deposit write request data.Write request data buffering part and input alternative pack, request response generating unit, physical interface layer phase Even, the FIFO_WDF write enable signals that request response generating unit is sent are received, if FIFO_WDF write enable signals are 1, are connect Receive the write request address that input alternative pack is sent.FIFO_WDF is received from physical interface layer and reads enable signal, if FIFO_ It is 1 that WDF, which reads enable signal, and write request data, FIFO_WDF non-NULLs marking signal and FIFO_WDF are sent to physical interface layer Effective marker signal.
Numbering buffer unit (FIFO_RR) is the FIFO being made up of Block RAM, and bit wide is 4, for cache arbitration device The FMEG numberings j of transmission.Numbering buffer unit and moderator, request response generating unit, output alternative pack, the enabled generation of reading Part is connected, and the FIFO_RR write enable signals that request response generating unit is sent is received, if FIFO_RR write enable signals are 1, the FMEG numberings j of selection is received from moderator.Receive and read the FIFO_RR reading enable signals that enabled generating unit is sent, if It is 1 that FIFO_RR, which reads enable signal, and the FMEG numberings j of selection is sent to output alternative pack.
The data buffering part (FIFO_RDF) that reads back is the FIFO being made up of Block RAM, bit wide W, for depositing The read request returned data that reservoir returns through physical interface layer.Read back data buffering part and physical interface layer, output selector Part and the enabled generating unit of reading are connected, and receive the FIFO_RDF write enable signals sent by physical interface layer and read request returns to number According to j.FIFO_RDF non-NULL marking signals are sent to enabled generating unit is read, receiving FIFO_RDF from the enabled generating unit of reading reads to make Energy signal, if it is 1 that FIFO_RDF, which reads enable signal, read request returned data is sent to output alternative pack.
Read enabled generating unit to be made up of simple logic, selected with the data buffering part that reads back, numbering buffer unit and output Select part to be connected, according to the reading enable signal needed for the FIFO_RDF not empty signals generation FIFO_RDF and FIFO_RR received And the data effective marker position needed for output alternative pack.Read enabled generating unit and receive data buffering part transmission of reading back FIFO_RDF non-NULL marking signals, if FIFO_RDF non-NULLs marking signal is 1, to reading back, data buffering part sends FIFO_ RDF reads enable signal, and sending FIFO_RR to numbering buffer unit reads enable signal, and it is effective to send data to output alternative pack Flag bit.
Fig. 5 is physical interface layer logical construction schematic diagram in multi-request controller of the present invention.Physical interface layer is believed by memory access Number processing component, read FIFO_CMD control signal generating units part and read FIFO_WDF control signal generating units part composition, physics connects The effect of mouth layer is the feedback of the information that will be interacted with memory to requesting processing.Physical interface layer and request processing are single Member, memory access input selector are connected, and sending FIFO_CMD to requesting processing reads enable signal, is received from requesting processing Memory access order, FIFO_CMD non-NULLs marking signal and FIFO_CMD effective marker signals, memory access is sent to memory access input selector Enable signal, access request command signal, access request address, and receive from memory and to read back data and data of reading back effectively are believed Number, after data of reading back are received from input memory access selector, sent to requesting processing and read back data and FIFO_RDF writes Enable signal;If memory access order is write request, simultaneously receive write request data, FIFO_WDF non-NULLs marking signal and FIFO_WDF effective marker signals, access request address, access request command signal, write request are sent to memory access input selector Enable signal, write request data.
Read FIFO_CMD control signal generating unit parts to be made up of simple logic, with requesting processing, memory access signal transacting Part is connected, and receives the FIFO_CMD non-NULLs marking signal, FIFO_CMD effective markers signal, memory access of requesting processing transmission The memory access enable signal that Signal Processing Element is sent, if FIFO_CMD non-NULL marking signals are 0, memory access enable signal is 1, to Requesting processing sends FIFO_CMD and reads enable signal.If memory access enable signal is 1, by the first mark position 0, and will First flag bit is sent to memory access signal processing unit;If it is 1 that memory access enable signal, which is 0, FIFO_CMD effective markers signal, Memory access Signal Processing Element is sent to by the first mark position 1, and by the first flag bit;If memory access enable signal is 0, FIFO_CMD effective markers signal is 0, and the first flag bit is cached into a cycle.
Read FIFO_WDF control signal generating unit parts to be made up of simple logic, with requesting processing, memory access signal transacting Part is connected, and receives FIFO_WDF non-NULLs marking signal and FIFO_WDF effective markers signal, visit that requesting processing is sent The write request enable signal of Signal Processing Element transmission is deposited, if FIFO_WDF non-NULLs marking signal is 0, write request enable signal For 1, send 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 flag bit is sent to memory access signal processing unit;If memory access enable signal, which is 0, FIFO_WDF, criterion Will signal is 1, and memory access signal processing unit is sent to by the second mark position 1, and by the second flag bit;If write request enables Signal is that 0, FIFO_WDF effective markers signal is 0, and the second flag bit is cached into a cycle.
Memory access Signal Processing Element is simple combinational logic, with reading FIFO_CMD control signal generating units part, reading FIFO_ WDF control signal generating units part, requesting processing and memory access input selector are connected, and FIFO_ is received from requesting processing CMD effective markers signal, from read FIFO_CMD control signal generating units part receive the first flag bit, if FIFO_CMD has criterion It is 0 when will signal and the first flag bit difference, memory access enable signal is put 1, and memory access enable signal is sent to memory access input Selector and reading FIFO_CMD control signal generating unit parts.Memory access order is received from requesting processing, takes the high by 3 of memory access order Position is used as access request command signal, and access request command signal is sent into memory access input selector;Take the low of memory access order Memory access address as memory access address, is sent to memory access input selector by 32.Receiving FIFO_WDF from multi-request controller has Valid flag signal, from read FIFO_WDF control signal generating units part receive the second flag bit, if FIFO_WDF effective markers believe Number with being 0 during the second flag bit difference, write request enable signal is put 1, and write request enable signal is sent to memory access input Selector and reading FIFO_WDF control signal generating unit parts.Memory access Signal Processing Element receives write request number from requesting processing According to being sent to memory access input selector.
Fig. 6 is fingerprint matching unit group i of the present invention logical construction schematic diagram, and fingerprint matching unit group i is by main control shape State machine, sub-control state machine, read request generating unit, write request generating unit, data receiver component count are according to connecing, calculate and matched Fingerprint number part, data initialization flag register, the enabled register of work, current finger print group matching complement mark register, Individual fingerprint matching unit (FME) composition of matching result register, matching end mark bit register, K (K=8 in Fig. 6).It is different Order of work (i.e. memory access order) between fingerprint matching unit group is dispatched by multi-request controller, multi-request controller according to Arbitrate principle and dispatch memory access order between different fingerprint matching unit groups, so as to dispatch between different fingerprint matching unit groups Order of work.Fingerprint matching unit group is connected with start button, multi-request controller and result election contest part, if bonded from starting The commencing signal of receipts is 1, then starts main control state machine, generation read request enable signal i, read request address i, to multi-request control Device processed sends read request enable signal i, waits the read request response signal i from multi-request controller, receives read request sound After induction signal i, if read request response signal i is 1, read request enable signal i and read request are sent to multi-request controller Address signal i, wait read request returned data i and read request data useful signal i from multi-request controller.Complete one After secondary matching, write request enable signal i is sent to multi-request controller, waits the write request response signal i of multi-request controller; After receiving write request response signal i, if write request response signal i is 1, the enabled letter of write request is sent to multi-request controller Number i, write request address i and write request data i.Distributed task (i.e. its main control state is completed in fingerprint matching unit group i Machine enters done state) after, fingerprint matching unit group i campaigns for part transmitting element group stopping mark i to result.
Fingerprint matching unit group i read request generating unit is used to generate read request enable signal i, read request address i, by Simple combinatorial logic and sequential logic are formed.Read request generating unit is connected with multi-request controller and main control state machine, from Main control state machine receives read request competition flag bit and read request busy flag position, and receiving read request from multi-request controller rings Induction signal i (is initially 0), if read request competition flag bit is 1, read request response signal i is 0, then by the enabled letter of read request Number i puts 1, and read request enable signal i is sent into multi-request controller;Read request address i puts initial value simultaneously, if first Secondary memory access, then read request address i is 0, and if not memory access first, then read request address i is the ground at the end of last time read request Location.When read request competition flag bit is 1, read request response signal i is 1, and the first control signal is sent to main control state machine, to Multi-request controller sends read request address i, while read request enable signal i is put into 1, for next cycle, read request address i It is incremented by 8*K, i.e. K finger print data size.When read request competition flag bit is 0, read request busy flag position is 1, and read request is rung When induction signal i is 1, read request response signal i is sent to main control state machine, the enabled letter of read request is sent to multi-request controller Number i, while read request enable signal i is put 1, read request address i is incremented by.When read request competition flag bit is 0, read request takes When flag bit is 0, read request enable signal i is set to 0, and address is added into STEP (address length of the STEP shared by T group finger print datas Degree, ensure to complete the matching of all fingerprints in fingerprint base).
Fingerprint matching unit group i write request generating unit is used to generate write request enable signal i, write request address i, by Simple combinatorial logic and sequential logic are formed.Write request generating unit and multi-request controller, sub-control state machine and match knot Fruit register is connected, and is received from sub-control state machine and writes Data Labels, receives write request response signal i from multi-request controller (being initially 0), when to write Data Labels be 1, write request response signal i is 0, write request enable signal i is put 1, write request State at the end of location i and last time write request is consistent (if write request first, then initial address comes from memory), from Matching result register receives matching result as write request data i;When write Data Labels position 1, write request response signal be 1 When, write request address i, write request data i are sent to multi-request controller, 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 is incremented by 8K*T, and (a fingerprint matching result storage bit wide is W, is taken Address is 8K) because performing T group data parallel, it is necessary to consider other groups during write-back result).
Fingerprint matching unit group i data receiver part is made up of simple logic, the reading that data receiver part will receive Ask returned data and read request data useful signal caching a cycle.Data receiver part and multi-request controller, K finger Line matching unit and main control state machine are connected.From multi-request controller receives read request data useful signal, read request returns Data, if read request data useful signal be 1 and it is current receive details count out (initial value 0) be less than a details in fingerprint Count out M, then will receive details and counted out plus 1.Using the read request returned data after caching cut into K parts (every 64 as It is a), K fingerprint matching unit is sent to, while receive read request data useful signal after caching and currently details points Mesh is broadcast to K fingerprint matching unit, while sends the current details that receives to main control state machine and count out.If the number read It is more than M according to number, current reception details is counted out and set to 0.If read request data useful signal is 0, minutiae point is currently received Number adds 0.
Fingerprint matching unit group i data initialization flag register data storage initialization flag, in data initialization Under state, data that fingerprint matching unit group i is read are finger print data to be checked and parameter, it is necessary to be initialised to K fingerprint With in unit, and without matching primitives.Data initialization flag register and main control state machine and K fingerprint matching unit It is connected, receives and data initialization mark and stored from main control state machine, with to main control state machine and K fingerprint matching Unit provides data initialization mark.
Fingerprint matching unit group i work enabler flags register storage matching primitives mark.The enabler flags that work deposit Device is connected with main control state machine and K fingerprint matching unit, and matching primitives mark is received from main control state machine, and to K Fingerprint matching unit is broadcasted, and when matching primitives are masked as 1, represents that K fingerprint matching unit is in running order, progress With calculating.
Fingerprint matching unit group i calculating matched fingerprint number part be used for calculate matched completion fingerprint group number, It is made up of an adder and a register.It is connected with main control state machine and K fingerprint matching unit, from main control state Machine receives matching complement mark, if matching complement mark position 1, has matched fingerprint number and has added 1, and will matching fingerprint number storage Read in a register for main control state machine, otherwise register is kept constant.
Fingerprint matching unit group i current finger print group matching complement mark part is used to deposit fingerprint matching unit group i The number of the fingerprint matching unit of completion, it is made up of an adder and a register.Current finger print group matches complement mark Register is connected with main control state machine and K fingerprint matching unit, receives end signal from K fingerprint matching unit, arbitrarily When the end signal that one fingerprint matching unit is sent is 1, register value is added 1 with adder, as a result deposit in a register, when When register result is K, it is meant that current finger print group has matched completion, and sending current finger print group to main control state machine has matched Into mark.
Fingerprint matching unit group i matching result register is used to deposit matching result, common W positions, every 64 correspondences one Fingerprint matching unit, for receiving and depositing the matching result of each fingerprint matching unit.Matching result register and K fingerprint Matching unit and write request generating unit are connected, and the matching result that K fingerprint matching unit is sent are received, to write request generating unit Part sends matching result.
Fingerprint matching unit group i unit group stopping mark register is used for storage receipt tuple stopping mark.With main control State machine, sub-control state machine and result election contest part are connected, and receive the unit group stopping mark that main control state machine is sent, to Sub-control state machine and result election contest part transmitting element group stopping mark.
Fingerprint matching unit group i K fingerprint matching unit (FME) according to the finger print data of reception based on carrying out matching Calculate, K fingerprint matching unit with data initialization flag register, the enabler flags register of working, data receiver part, when Preceding fingerprint group matching complement mark part and matching result register are connected, at the beginning of data initialization flag register receives data Beginningization indicates, as fingerprint to be checked and the mark of parameter initialization;The enabled mark of work is received from work enabler flags register Will, at the same from data receiver part receive it is current receive details count out, cache after read request data useful signal and after caching Finger print data, K fingerprint matching unit carry out data initialization or fingerprint matching parallel.After completing matching, K fingerprint Complement mark part is matched with unit to current finger print group and sends end signal, and one 64 are sent to matching result register Matching result.
Fingerprint matching unit group i matching result register is W positions, and the 0th~63 is deposited the matching that k-th FME is obtained As a result, deposit the 0th FME and obtain in matching result ... ... W-64~W-1 positions that the K-1 FME of the 64th~127 deposit is obtained The matching result arrived.
The effect of fingerprint matching unit group i main control state machine is to dispatch the whole of fingerprint matching unit group i to match Journey.Main control state machine and outside start button, sub-control state machine, read request generation module, calculate matched fingerprint number part, Data receiver part, data initialization mark bit register, current finger print group matching complement mark register, work enabler flags Register is connected.As shown in fig. 7, main control state machine is made up of 9 states:" 0000 " represents original state, fingerprint matching list Tuple i is idle, and during in original state, all registers are set to 0;" 0001 " represents data initialization state, and data are initial Change mark and put 1;" 0010 " represents read request competition Memory access channel state, is to send read request enable signal to multi-request controller I state;" 0011 " represents that read request address sends state, is the state for continuing to send read request address;" 0100 " data etc. State is treated, is to wait for the state that multi-request controller sends data;" 0101 " represents matching primitives state, is fingerprint matching unit The state of matching primitives;" 0110 " represents matching completion status, is to match the state that complement mark is set effective;" 0111 " expression etc. Data mode to be written, it is to wait for the state that sub-control state machine writes data;" 1111 " represent done state, refer to that all matchings are equal The state of completion.Main control state machine receives effective commencing signal from outside start button, enters " 0001 " by " 0000 " state State;In " 0001 " state, main control state machine sends data initialization flag bit to data initialization mark bit register, will Data initialization mark bit register puts 1, into " 0010 " state;In " 0010 " state, main control state machine is given birth to read request Effective read request competition flag bit is sent into part, read request response signal i is received 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 flag bit is 1.In " 0011 " state, main control state machine sends read request to read request generating unit and takes mark Will position, receive read request response signal.Current finger print M if (M is the number that a fingerprint includes minutiae point) individual read request Location has not been sent, then maintains " 0011 " state, send always, until completing;Otherwise " 0100 " state is entered.In " 0100 " shape State, main control state machine receives the current details that receives from data receiver part and counted out, and judges whether data receiver is complete accordingly Into;Meanwhile main control state machine receives data initialization mark from data initialization flag register.If data receiver is complete Into, and data initialization is masked as 1, then main control state machine enters " 0010 " state, while data initialization mark is deposited Device is set to 0;If data receiver is completed, 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 makes to work Energy register, which is sent, is effectively matched calculation flag, and receiving current finger print group from current finger print group matching complement mark part has matched Into mark.If the number for the FME for having completed matching that current finger print group matching complement mark part is sent is K, main control State machine enters " 0110 " state, meanwhile, send invalid matching primitives mark to work enabler flags register;If currency Fingerprint group matching complement mark is not K, represents also have FME not complete matching, then main control state machine keeps " 0101 " state. " 0110 " state, match the transmission of fingerprint number part to sub-control state machine and calculating and be effectively matched complement mark, subsequently into " 0111 " state, while send invalid matching complement mark to sub-control state machine.In " 0111 " state, from sub-control state machine Reception writes flag bit, while has matched the reception of fingerprint number part from calculating and matched fingerprint number, if writing flag bit has Effect, and matched the number of tasks that fingerprint number is less than current finger print matching unit group, then main control state machine enters " 0010 " shape State;If write, flag bit is effective, and has matched the number of tasks that fingerprint number is equal to current finger print matching unit group, then main control State machine enters " 1111 " state;If it is invalid to write flag bit, main control state machine keeps " 0111 " state.In " 1111 " State, main control state machine send out end mark effective to matching end mark register.
Sub-control state machine is connected with main control state machine, write request generating unit, matching end mark register.Such as figure Shown in 8, sub-control state machine is made up of 4 states:" 0000 " represents original state;" 1000 " represent that write request competition memory access is led to Road state, it is the state that write request competition Memory access channel is sent to multi-request controller;" 1001 " are to wait for calculating state; " 1111 " represent done state.After electrification reset, sub-control state machine is in " 0000 " state, and related register is set to 0, if Matching complement mark is received from main control state machine and matching complement mark is effective, and sub-control state machine enters " 1000 " shape State.When sub-control state machine is in " 1000 " state, is sent to write request generating unit and effectively write Data Labels, and waited from writing Requesting component receives 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.Sub-control state machine is in " 1001 " state When, matching complement mark is received from main control state machine, while stop marking from unit group stopping mark register receiving unit group Will, if matching complement mark is effective, unit group stopping mark is invalid, and sub-control state machine enters " 1000 " state;It is if single Tuple stopping mark is effective, and sub-control state machine enters " 1111 " state;Otherwise sub-control state machine is parked in " 1001 " state. " 1111 " state, represent that all results have write, sub-control state machine is stopped.
K fingerprint matching unit with data initialization flag register, work enabler flags register, data reception portion Part, current finger print group matching complement mark part and matching result register are connected, and fingerprint matching unit will be from data reception portion The template fingerprint and fingerprint to be checked that part receives are matched, and matching result is sent back into matching result register.
Fig. 9 is a fingerprint matching unit logical construction schematic diagram in fingerprint matching unit group i.Fingerprint matching unit is by more Road selector, fingerprint RAM to be checked, template fingerprint RAM, fingerprint address ram to be checked renewal part, template fingerprint address ram Renewal part, template fingerprint data register, window edge are searched part, upper limit register, lower bound register, X-coordinate and compared Part, Euclidean distance comparing unit, field of direction comparing unit, the optimal details dot address update section part of matching, that the match is successful is thin Node number accumulator and matching result output block are formed.
MUX and the initialization flag register in fingerprint matching unit group i, data receiver part, finger to be checked Line RAM and template fingerprint RAM are connected, and receive initialization flag, data receiver part that initialization flag register is sent and send Caching after read request data useful signal, and according to initialization flag selection will caching after read request data useful signal send To fingerprint RAM to be checked or template fingerprint RAM.If initialization flag is 1, read request data after MUX will cache Useful signal issues fingerprint RAM to be checked, as fingerprint RAM write enable signal to be checked, after fingerprint RAM order cachings to be checked Read request returned data (being now data to be checked);If initialization flag is 0, read request after MUX will cache Data valid signal issues template fingerprint RAM, as template fingerprint RAM write enable signal, after template fingerprint RAM order cachings Read request returned data (being now template data).
Fingerprint RAM to be checked is a Block RAM, wherein what is stored is fingerprint to be checked.Fingerprint RAM to be checked is with referring to Data receiver part, MUX, fingerprint address ram to be checked renewal part, window edge are searched in line matching unit group i Part, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit are connected, and receive writing for MUX transmission Enable signal, if write enable signal is 1, receive fingerprint number after the caching that data receiver part is sent in fingerprint matching unit group Counted out according to the current details that receives;If write enable signal is 0, receive what fingerprint address ram renewal part to be checked was sent Details in fingerprint dot address to be checked, read data after, to fingerprint address ram to be checked update part, window edge search part, 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 renewal part is made up of simple logic, according to update address mark signal to be checked with And the window upper bound, lower bound update address, according to the details point data received judge whether current address is current finger print Maximum address.Fingerprint address ram renewal part and renewal address tag register to be checked, upper limit register, lower bound to be checked Register, the minutiae point number accumulator that the match is successful and the optimal details dot address update section part of matching are connected, and receive the upper bound and post The renewal that the upper dividing value of storage transmission, the floor value of lower bound register transmission, renewal address tag register to be checked are sent is treated Address mark is inquired about, sends fingerprint address to be checked to fingerprint RAM to be checked and the optimal details dot address update section part of matching, together When according to address mark, upper dividing value and floor value to be checked is updated update address.Receive the to be checked of fingerprint RAM transmissions to be checked Ask details in fingerprint point data, and according to details in fingerprint point data to be checked judge current address whether be fingerprint to be checked maximum Address.If current address reaches maximum address or the window upper bound, the is sent to the minutiae point number accumulator that the match is successful Five enabling signals.
Template fingerprint RAM is a Block RAM, wherein what is stored is the template fingerprint from template fingerprint storehouse.Template Fingerprint RAM refers to data receiver part, MUX, template fingerprint data register and template in fingerprint matching unit group i Line address ram renewal part is connected, and receives the write enable signal that MUX is sent, if write enable signal is effective, receives Finger print data and the current details that receives are counted out after the caching that data receiver part is sent in fingerprint matching unit group;If writing makes Energy invalidating signal, the template fingerprint details dot address that template fingerprint address ram renewal part is sent is received, after reading data, to Template fingerprint data register and template fingerprint address ram renewal part send template fingerprint details point data.
Template fingerprint data register and template fingerprint RAM, window edge search part, X-coordinate comparing unit, it is European away from It is connected from comparing unit, field of direction comparing unit, receives the template fingerprint details point data that template fingerprint RAM is sent and deposited Storage, mould is provided to search part, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit to window edge Plate details in fingerprint point data.
Template fingerprint address ram renewal part is a combinational logic, according to the minutiae point number accumulator that the match is successful The template address renewal mark renewal template fingerprint address ram of transmission, and current position is judged according to template fingerprint details point data Whether location is maximum address.Template fingerprint address ram renewal part tires out with template fingerprint RAM, the minutiae point number that the match is successful Add device and matching result output block to be connected, receive the template fingerprint renewal that the minutiae point number accumulator that the match is successful is sent Marking signal, if template fingerprint renewal marking signal is effective, template fingerprint address ram is updated, while send out to template fingerprint RAM Send template fingerprint address ram;The template fingerprint details point data that template fingerprint RAM is sent is received, determines whether template fingerprint Maximum address, if it is, to matching result output block send current template details in fingerprint point data (i.e. maximum address) and 4th enabling signal.
Window edge search part be a combinational logic, its act on be on the basis of template fingerprint detail present point, Search to be checked fingerprint minutiae of the difference in threshold range in the Y-coordinate of template fingerprint minutiae point, and will wherein Y-coordinate is most The address of big and minimum fingerprint minutiae to be checked is deposited with upper limit register and lower bound deposit as the window upper bound and lower bound In device.Window edge is searched part and deposited with the enabled register that worked in fingerprint matching unit group, fingerprint RAM to be checked, the upper bound Device is connected with lower bound register, X-coordinate comparing unit and renewal address tag register to be checked, receives fingerprint matching unit group Middle work enables the work enable signal that register is sent, if work enable signal is 1, receives template fingerprint data register The details in fingerprint point data to be checked that the template fingerprint details point data of transmission and fingerprint RAM to be checked are sent, and be compared, If the Y-coordinate difference of the two is less than coordinate threshold value, (coordinate threshold value is a parameter, and more than 0, its value means more greatly matching Precision is lower, reference value 14.), then effectively renewal mark is sent to updating flag register to be checked, receive new to be checked After asking details in fingerprint point data, again compared with template fingerprint minutiae point, if the Y-coordinate difference of the two is still less than coordinate threshold Value, then repeat to operate above, refer to until finding with template to flag register transmission to be checked effectively renewal mark is updated again The absolute value of the Y-coordinate difference of line minutiae point is more than the fingerprint minutiae to be checked of coordinate threshold value, by the absolute value of all Y-coordinate difference The address of the to be checked fingerprint minutiae minimum less than Y-coordinate in the fingerprint minutiae to be checked of coordinate threshold value is as under window Dividing value;The absolute value of all Y-coordinate difference is less than the finger to be checked that Y-coordinate is maximum in the fingerprint minutiae to be checked of coordinate threshold value The address of line minutiae point is as dividing value on window.Zero start signal is sent to X-coordinate renewal part, is sent to upper limit register Upper dividing value, send to lower bound register floor value, indicate to updating flag register to be checked and send invalid renewal.
X-coordinate comparing unit is a combinational logic, and its effect is that currently fingerprint minutiae to be checked and template refer to for comparison The size of X-coordinate difference and threshold value between line minutiae point.With enabled register, the window edge of being worked in fingerprint matching unit group Part, fingerprint RAM to be checked, template fingerprint data register, Euclidean distance comparing unit and renewal address to be checked is searched to post Storage is connected.Receive work and enable the work enable signal that register is sent, when the enable signal that works is effective, X-coordinate compares Part is in running order.Receive window edge and search the zero start signal that part is sent, if zero start signal is effective, Receive the details in fingerprint point data to be checked of fingerprint RAM transmissions to be checked and the template fingerprint of template fingerprint data register transmission The X-coordinate of details point data is simultaneously compared by details point data, to be checked to updating if the difference of the two is more than coordinate threshold value Ask address tag register and send effectively renewal mark, otherwise send invalid renewal mark.After completing relatively, to Euclidean distance ratio And first enabling signal poor compared with part transmission X-coordinate.
Euclidean distance comparing unit is a combinational logic, and its effect is comparison currently fingerprint minutiae to be checked and template Euclidean distance and the size of coordinate threshold value between fingerprint minutiae.Euclidean distance comparing unit and work in fingerprint matching unit group Make enabled register, fingerprint RAM to be checked, template fingerprint data register, X-coordinate comparing unit, field of direction comparing unit and Optimal details dot address update section part is matched to be connected.Receiving the work that enabled register is sent that worked in fingerprint matching unit group makes Energy signal, when work enable signal is effective, Euclidean distance comparing unit is in running order.X-coordinate comparing unit is received to send The first enabling signal, if the first enabling signal is effective, receive the details in fingerprint to be checked points that fingerprint RAM to be checked is sent According to the template fingerprint details point data sent with template fingerprint data register, and by the Euclidean distance and coordinate of details point data Threshold value is compared, and if greater than coordinate threshold value, then sends effectively renewal mark to renewal address tag register to be checked, no Then send invalid renewal mark.After completing relatively, the second enabling signal is sent to field of direction comparing unit, to the optimal details of matching Dot address renewal part sends Euclidean distance.
Field of direction comparing unit is that a combinational logic is formed, and its effect is comparison currently fingerprint minutiae and mould to be checked The size of field of direction difference and threshold value between plate fingerprint minutiae.Field of direction comparing unit in fingerprint matching unit group with working Enabled register, fingerprint RAM to be checked, template fingerprint data register, Euclidean distance comparing unit, the optimal minutiae point of matching Location renewal part is connected, and receives the work enable signal that enabled register is sent that worked in fingerprint matching unit group, and work is enabled Field of direction comparing unit is in running order when signal is effective.The second enabling signal that Euclidean distance comparing unit is sent is received, If the second enabling signal is effective, details in fingerprint point data to be checked and template fingerprint number that fingerprint RAM to be checked is sent are received The template fingerprint details point data sent according to register, and by the field of direction difference of details point data and direction threshold value (direction threshold Value is a parameter, and its scope is more than 0, and its value means that more greatly matching precision is lower, reference value 200) it is compared, if More than direction threshold value, then to address tag register transmission to be checked effectively renewal mark is updated, otherwise send invalid renewal and mark Will.After completing relatively, the 3rd enabling signal is sent to optimal details dot address update section part is matched.
It is a combinational logic to match optimal details dot address update section part, by a comparator and Euclidean distance register Composition, its act on be compare current lookup to the minutiae point for meeting coordinate threshold value and direction threshold value, the details that finds before Euclidean distance size between point and template fingerprint minutiae point, the minutiae point that Euclidean distance is minimum between template fingerprint minutiae point is selected, And record its address.Match optimal details dot address update section part and enabled register, the Euclidean of being worked in fingerprint matching unit group i It is to be checked apart from comparing unit, the minutiae point number accumulator that the match is successful, fingerprint address ram to be checked renewal part and renewal Address tag register is connected.Receive the work enable signal that enabled register is sent that worked in fingerprint matching unit group i, work Enable signal is effective, and it is just in running order to match optimal details dot address update section part.Field of direction comparing unit is received to occur The 3rd enabling signal, if the 3rd enabling signal is effective, by the Euclidean distance received from Euclidean distance comparing unit with The Euclidean distance (initial value 10000) deposited in Euclidean distance register is compared, if less than existing Euclidean distance, Euclidean distance register is then updated to the Euclidean distance value received, and received from fingerprint address ram to be checked renewal part Fingerprint address ram to be checked, existing optimal dot address is updated, if greater than existing Euclidean distance, is not then updated.While to The minutiae point number accumulator that the match is successful sends that the match is successful mark, to update address tag register to be checked send it is effective Renewal mark.
The minutiae point number accumulator that the match is successful is a combinational logic, includes an accumulator, and its effect is cumulative The minutiae point number that the match is successful, after the completion of will send template address renewal marking signal.The minutiae point number that the match is successful is tired out Device is added to update part with the enabled register that worked in fingerprint matching unit group i, fingerprint address ram to be checked, match optimal details Dot address renewal part, template fingerprint address ram renewal part, matching result output block are connected.Receive fingerprint matching unit Work the work enable signal that enabled register is sent in group i, and work enable signal is effective, and the minutiae point number that the match is successful is tired out Add device just in running order.The 5th enabling signal that fingerprint address ram renewal part to be checked is sent is received, if the 5th opens Dynamic signal is effective, receives and matches optimal details dot address update section part, and judging that the match is successful, whether mark is effective, if effectively, Then accumulator adds 1, otherwise constant.Template address is sent to template fingerprint address ram renewal part and effectively updates mark, to matching As a result output identification sends the match is successful number.
Matching result output block is a combinational logic, is made up of the first output register and the second output register, 2 The bit wide of individual register is 32, matching result output block and the enabled register that worked in fingerprint matching unit group i, is matched Matching result register in successful minutiae point number accumulator, template fingerprint address ram renewal part, fingerprint matching unit group And current finger print group matching complement mark part is connected in fingerprint matching unit group.Receiving to work in fingerprint matching unit group i makes The work enable signal that energy register is sent, work enabled effective, matching result output block ability is in running order.Matching knot Fruit output block receives the minutiae point number accumulator that the match is successful and sends that the match is successful details is counted out, will that the match is successful is thin Interstitial content is buffered in the first register;Receive the 4th enabling signal of template fingerprint address ram renewal part transmission and work as Front template details in fingerprint is counted out, and current template details is counted out and is buffered in the second output register;If the 4th starts Signal is effective, then is come from after the value of the first register and the second register is spliced as matching result, high 32 of matching result First output register, low 32 come from the second output register, and then matching result is sent in fingerprint matching unit group i Matching result register, end signal is issued into current finger print group in fingerprint matching unit group i and matches complement mark part.
Figure 10 is that result campaigns for component logic structural representation in the present invention.
As a result election contest part is connected with T fingerprint matching unit group, memory access input selector and indicator lamp, is tied according to matching Fruit select in template fingerprint storehouse with result matching degree highest fingerprint to be checked.From fingerprint matching unit group i receiving units Group stopping mark i, after unit group stopping mark 0~unit group stopping mark T-1 is received, as a result campaign for part and start to visit Deposit input selector and send memory access enable signal, access request command signal, access request address, wait from memory access and input selection Device receives read request returned data and read request data useful signal, and read request returned data includes two classes, one kind is matching knot Fruit initial address and output result address, one kind are matching results.After receiving matching result, proceed by arbitration, select with Fingerprint matching degree highest template fingerprint to be checked.Memory access enable signal, access request life are sent to memory access input selector Make signal, access request address, write request enable signal, write request data mask and write request data (and the matching knot selected The address of fruit), while send to be effectively matched to indicator lamp and complete signal.
As a result part is campaigned for by unit group stopping mark collecting part, memory access processing component, existing the match is successful minutiae point Number register, existing template details in fingerprint are counted out register, existing matching result numbered register, first comparator, Two comparators, numbering selector composition.
Unit group stopping mark collecting part collects T unit group stopping mark, judges that all fingerprint matching unit groups are It is no to have completed, if it is, sending effective first control signal to memory access input selector, and have to the transmission of memory access processing component Imitate result arbitration mark.Unit group stopping mark collecting part and T fingerprint matching unit group, memory access input selector and memory access Processing component is connected, and receives unit group stopping mark 0~unit group stopping mark T-1 that T fingerprint matching unit group is sent, such as Fruit unit group stopping mark 0~unit group stopping mark T-1 is 1, then sends effective first control to memory access input selector Signal, effective result arbitration mark is sent to processing component is left with.
Memory access processing component produces memory access signal, and memory access data are handled.Memory access processing component is stopped with unit group Only indicate collecting part, first comparator, the second comparator, numbering selector, existing the match is successful details counts out register, Existing matching result numbered register, memory access input selector and result indicator lamp are connected.From unit group stopping mark collection portion Part receives result arbitration mark, if result arbitration mark is effective, memory access enable signal is set effective, and input and select to memory access Select device and send enabled memory access, memory access read request command, access request address (for 0), waiting memory access input selector to send reading please Seek returned data.Read request returned data is received from memory access input selector, this data includes 3 parameters:Single details in fingerprint Count out, template fingerprint is total, matching result address.Memory access enable signal is set effective, and sent to memory access input selector Memory access enables, leaves with read request command, access request address (for matching result address), will be read after obtaining read request returned data Ask returned data segmentation, will the match is successful that number is sent to first comparator, current template details in fingerprint is counted out transmission To the second comparator, while the matching result number for setting a counter records to read, and send it to numbering choosing Select device.Then access request address is added 64, reads next matching result.If the matching result number read is equal to template Fingerprint sum, write request enable signal is set effective, while the match is successful that details counts out that register receives matching most from existing Excellent details is counted out, register of being counted out from existing template details in fingerprint receives existing template details in fingerprint and counted out, from existing Matching result numbered register reads its numbering, and three is spliced into 64 as write request data.Then write request is made Energy signal, write request address, access request address are sent to memory access input selector, while send effective to outside indicator lamp With completion signal.
Existing the match is successful that details counts out that register functions are before depositing this cycle, optimal with fingerprint matching to be checked Minutiae point number.Existing the match is successful that details counts out that register is connected with first comparator, memory access processing component, to One comparator sends existing details and counted out, and receives the details that first comparator is sent afterwards and counts out, and updates register; The optimal details of matching is sent to memory access processing component to count out.
Existing template details in fingerprint count out register functions be deposit this cycle before, it is optimal with fingerprint matching to be checked The details of template fingerprint count out.Existing template details in fingerprint is counted out register and the second comparator, memory access processing component It is connected, sending existing details to the second comparator is counted out, and the details for receiving the transmission of the second comparator afterwards is counted out, and more New register;Existing template details in fingerprint is sent to memory access processing component to count out.
Existing matching result numbered register function is the optimal matching with fingerprint matching to be checked before depositing this cycle As a result numbering.Existing matching result numbered register is connected with numbering selector and memory access processing component, to numbering selector Existing matching result numbering is sent, receives matching result numbering from numbering selector, and update register;To memory access processing component Send existing matching result numbering.
First comparator is more existing the match is successful details the counts out number that sends that the match is successful with memory access processing component Mesh, that selects maximum is sent to existing the match is successful details counts out register.It is first comparator and memory access processing component, existing Count out register, the second comparator and numbering selector of details that the match is successful is connected, from memory access processing component receive matching into Work(number, from it is existing the match is successful details counts out register receives it is existing the match is successful that details is counted out, the two is compared Compared with if the match is successful, number is big, sends invalid second control signal to the second comparator, is sent effectively to numbering selector 4th control signal, and will the match is successful number is sent to existing the match is successful details counts out register;If existing matching Success details is counted out greatly, then sends invalid second control signal to the second comparator, sends the invalid 4th to numbering selector Control signal;If the two is equal, it is invalid to be sent to effective second control signal of the second comparator transmission, to numbering selector 4th control signal.
Second comparator compares the current template fingerprint that existing template details in fingerprint is counted out with the transmission of memory access processing component Details is counted out, and the existing template details in fingerprint that is sent to for selecting minimum is counted out register.Second comparator is handled with memory access Count out register, first comparator and numbering selector of part, existing template details in fingerprint is connected, and is connect from memory access processing component Receive current template details in fingerprint count out, from existing template details in fingerprint count out register receive existing template fingerprint minutiae Number, control signal is received from first comparator, if the second control signal is effective, the two is compared, if currently Template fingerprint details is counted out small, then sends effective 3rd control signal to numbering selector, and by current template details in fingerprint Count out and be sent to existing template details in fingerprint and count out register;If existing template details in fingerprint count out it is small, to numbering Selector sends invalid 3rd control signal;If the two is equal, invalid 3rd control signal is sent to numbering selector.Such as The 4th control signal that fruit first comparator is sent is invalid, then does not take operation.
Numbering selector selects the numbering of the matching result optimal with fingerprint matching to be checked from matching result.Numbering choosing Count out register, first comparator and the second comparator of device and memory access processing component, existing template details in fingerprint is selected to be connected, from First comparator receives control signal, and control signal is received from the second comparator, if the two has one effectively, is handled from memory access Part receives matching result numbering, sends it to existing matching result numbered register;If the two is invalid, from existing Matching result numbered register receives existing matching result and numbers and be sent to existing matching result numbered register.

Claims (32)

  1. A kind of 1. fingerprint matching unit based on coarse grain parallelism, it is characterised in that the fingerprint matching unit based on coarse grain parallelism The present invention campaigns for part, memory access input selector, storage by T fingerprint matching unit group FMEG, multi-request controller, result Device, indicator lamp, start button composition, T fingerprint matching unit group FMEG are designated as fingerprint matching unit group 0~fingerprint matching unit group T-1,0 < T≤16;
    Multi-request controller is connected with T fingerprint matching unit group, memory access input selector, to T fingerprint matching unit group Access request is arbitrated, by from the data distribution that memory access input selector receives to T fingerprint matching unit group;
    Fingerprint matching unit group i and multi-request controller, result election contest part and start button are connected, complete one group of fingerprint with it is to be checked Ask the matching of fingerprint, 0≤i≤T-1;
    Memory access input selector is an alternative selector, is connected with multi-request controller, memory and result election contest part, As a result when the first control signal that election contest part is sent is invalid, memory access input selector receives the memory access that multi-request controller is sent Request, and memory is sent to, when receiving the data of memory transmission, memory access input selector sends the data to ask more Seek controller;When the first control signal that result election contest part is sent is effective, memory access input selector receives result election contest portion The access request that part is sent, and is sent to memory, and when receiving the data of memory transmission, memory access input selector is by number Part is campaigned for according to result is sent to;
    As a result election contest part is connected with T fingerprint matching unit group, memory access input selector and indicator lamp, is selected according to matching result Select out in template fingerprint base with result matching degree highest fingerprint to be checked;Stop from fingerprint matching unit group i receiving unit groups Only indicate i, after unit group stopping mark 0~unit group stopping mark T-1 is received, as a result election contest part starts defeated to memory access Enter selector and send memory access enable signal, access request command signal, access request address, wait and being connect from memory access input selector Read request returned data and read request data useful signal are received, at the beginning of read request returned data includes two classes, one kind is matching result Beginning address and output result address, one kind be matching result;After receiving matching result, proceed by arbitration, select with it is to be checked Ask fingerprint matching degree highest template fingerprint;Memory access enable signal, access request order letter are sent to memory access input selector Number, access request address, write request enable signal, write request data mask and the ground of write request data and the matching result selected Location, while send to be effectively matched to indicator lamp and complete signal;
    Memory is connected with memory access input selector, storage template fingerprint storehouse, fingerprint to be checked, matching result and relevant parameter;
    Start button is connected with T fingerprint matching unit group, starts the fingerprint matching unit based on coarse grain parallelism;
    Indicator lamp is connected with result election contest part, and instruction matching process is completed;
    Multi-request controller is made up of requesting processing and physical interface layer;
    Requesting processing is connected with T fingerprint matching unit group and physical interface layer, is responsible for selecting from T fingerprint matching unit group One group is selected as the current fingerprint matching unit group for taking multi-request controller, is denoted as fingerprint matching unit group j, request processing is single Member only handles fingerprint matching unit group j request, and only sends signal to fingerprint matching unit group j;Requesting processing by Moderator, input alternative pack, request response generating unit, output alternative pack, the enabled generating unit of reading and numbering buffering Part is that FIFO_RR, order buffer unit i.e. FIFO_CMD, the i.e. FIFO_WDF of write request data buffering part, data of reading back are delayed Rush part i.e. tetra- buffer unit compositions of FIFO_RDF, 0≤j≤T-1;Four buffer units are made up of Block RAM on piece First Input First Output FIFO, four FIFO lengths are Q, Q > 2048;
    Requesting processing receives read request enable signal or write request enable signal from T fingerprint matching unit group, if What is received is read request enable signal, and requesting processing is according to arbitration principle selection fingerprint matching unit group j as current The fingerprint matching unit group of multi-request controller is taken, remaining fingerprint matching unit group is in data access wait state, please Processing unit is asked to send effective read request response signal j to fingerprint matching unit group j;Then connect from fingerprint matching unit group j Read request address j, new read request enable signal j are received, is arbitrated and generated new according to the read request enable signal j received Read request response signal j, for next cycle;Memory access is generated according to read request enable signal j and read request address j simultaneously Order, and memory access order is buffered in the order buffer unit of read request processing unit;Sent when receiving physical interface layer FIFO_CMD when reading enable signal, requesting processing sends memory access order, FIFO_CMD non-NULL marks to physical interface layer Signal, FIFO_CMD effective marker signals;When requesting processing is connected to the read request returned data of physical interface layer transmission, Read request returned data is buffered in read request data buffer unit;Requesting processing will be read in read request Returning part Read request returned data j and processing after read request useful signal j be sent to fingerprint matching group j;
    What if requesting processing was received from T fingerprint matching unit group is write request enable signal, requesting processing According to arbitration principle, fingerprint matching unit groups of the fingerprint matching unit group j as current occupancy multi-request controller is selected, remaining Fingerprint matching unit group is in memory access wait state, and requesting processing sends effective write request to fingerprint matching unit group j Response signal j;Then write request enable signal j, write request address j and write request data j are received from fingerprint matching unit group j, New write request response signal j is arbitrated and generated according to write request enable signal j, while according to write request enable signal j Generate memory access order with write request address j, then by memory access order and write request data buffer storage requesting processing order In buffer unit;The FIFO_CMD that requesting processing is connected to physical interface layer transmission reads enable signal, FIFO_WDF reads to enable During signal, requesting processing is effective to physical interface layer transmission memory access order, FIFO_CMD non-NULLs marking signal, FIFO_CMD Marking signal, write request data, FIFO_WDF non-NULLs marking signal and FIFO_WDF effective marker signals;
    Physical interface layer is connected with requesting processing and memory access input selector, and physical interface layer is by memory access signal processing part Part, read FIFO_CMD control signal generating units part and read FIFO_WDF control signal generating units parts composition, physical interface layer will be from Memory access input selector is sent to after the signal transacting that requesting processing receives;The letter that will be received from memory access input selector Number processing after be sent to requesting processing;Physical interface layer is connected with requesting processing, memory access input selector, to request Processing unit sends FIFO_CMD and reads enable signal, and memory access order, FIFO_CMD non-NULLs mark letter are received from requesting processing Number and FIFO_CMD effective marker signals, send memory access enable signal, access request command signal to memory access input selector, visit Request address is deposited, and read back data and the data valid signal that reads back are received from memory, is received from input memory access selector After data of reading back, read back data and FIFO_RDF write enable signals are sent to requesting processing;If memory access order is to write to ask Ask, then receive write request data, FIFO_WDF non-NULLs marking signal and FIFO_WDF effective marker signals simultaneously, inputted to memory access Selector sends access request address, access request command signal, write request enable signal, write request data;
    Fingerprint matching unit group i is connected with start button, multi-request controller and result election contest part;Each fingerprint matching unit group Structure is identical;Fingerprint matching unit group i is by main control state machine, sub-control state machine, read request generating unit, write request Generating unit, data receiver part, calculating have matched fingerprint number part, data initialization flag register, work enabler flags Register, current finger print group matching complement mark register, matching result register, unit group stopping mark register, K finger Line matching unit FME is formed;Memory access order between different fingerprint matching unit groups is dispatched by multi-request controller;Fingerprint It is connected with unit group with start button, multi-request controller and result election contest part, if the commencing signal received from start button is 1, then start main control state machine, generation read request enable signal i, read request address i, read request is sent to multi-request controller Enable signal i, the read request response signal i from multi-request controller is waited, after receiving read request response signal i, if Read request response signal i is 1, then sends read request enable signal i and read request address signal i to multi-request controller, is waited Read request returned data i and read request data useful signal i from multi-request controller;After completing once to match, Xiang Duo Request controller sends write request enable signal i, waits the write request response signal i of multi-request controller;Write request is received to ring After induction signal i, if write request response signal i is 1, to multi-request controller with sending write request enable signal i, write request Location i and write request data i;After distributed task is completed in fingerprint matching unit group i, fingerprint matching unit group i is competing to result Select part transmitting element group stopping mark i;
    As a result campaign for part by unit group stopping mark collecting part, memory access processing component, it is existing that the match is successful that details is counted out Register, existing template details in fingerprint count out register, existing matching result numbered register, first comparator, second ratio Formed compared with device, numbering selector;
    Memory is Double Data Rate synchronous DRAM, has data needed for matching, including finger to be checked in memory The number of template fingerprint, the storage address of matching result in line, template fingerprint storehouse, template fingerprint storehouse, memory input with memory access Selector is connected.
  2. 2. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that memory size 2GB More than, memory access bit wide is W positions, W=64K, 0 < K≤8, and the data to be prestored in memory include 3 parts:Parameter, finger to be checked Line and template fingerprint storehouse;Parameter includes 3, i.e., single details in fingerprint is counted out, template fingerprint is total and matching result address;It is single Individual fingerprint minutiae number represents that the details that a fingerprint includes is counted out, and is set to M, if the details of some fingerprint count out for M, m < M, in data pre-storage, M-m minutiae point behind current finger print is filled with invalid data:With
    7FFFFFFFFFFFFFFF represents an invalid minutiae point;Template fingerprint sum represents the mould included in template fingerprint storehouse The number of plate fingerprint;Matching result address represents the first address of the write request data storage from fingerprint matching unit group i outputs;Ginseng What number stored afterwards is fingerprint to be checked, and a fingerprint minutiae is represented with 64, wherein 18 represent X-coordinate, 18 expression Y Coordinate, 28 expression directions;What is stored after fingerprint to be checked is template fingerprint storehouse, the fingerprint storage mode in template fingerprint storehouse It is identical with fingerprint to be checked;Space after template fingerprint storehouse is used to store intermediate match result and final matching results;Each Intermediate match result corresponding to template fingerprint is 64, and this 64 are divided into two parts, high 32 minutiae points that represent that the match is successful Number, low 32 represent that current template details in fingerprint is counted out;The centre of K template fingerprint and fingerprint to be checked is represented per W positions Matching result;There are W positions to be used to store final matching results after intermediate match result;Final matching results are result election contest portions Represent to match optimal details with fingerprint matching degree highest fingerprint to be checked, its most-significant byte in the template fingerprint storehouse that part is drawn Count out, 8 represent that existing template details in fingerprint is counted out afterwards, and 32 represent existing template fingerprint position in storehouse afterwards Numbering, afterwards 0 filling of unnecessary bit wide.
  3. 3. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that moderator and T fingerprint Matching unit group, request response generating unit, input alternative pack and numbering buffer unit are connected, and receive T fingerprint matching list The reading request signal or written request signal that tuple is sent, once arbitrated, selected in each clock cycle according to arbitration principle The fingerprint matching unit group of next cycle occupancy memory access path is selected, selected fingerprint matching unit group # is sent to volume simultaneously Number buffer unit, request response generating unit and input alternative pack, are received from selected fingerprint matching unit group at the same time When the reading and writing request enable signal sent is simultaneously effective, priority treatment write request;It is described arbitration principle be:According to from T fingerprint The read request enable signal or write request enable signal that matching unit group receives, judge current occupancy multi-request controller Whether fingerprint matching unit group j continues to take, if requesting processing still be able to receive read request enable signal j or Write request enable signal j, then fingerprint matching unit group j hold over multi-request controller;If requesting processing does not receive To read request enable signal j or write request enable signal j, then new fingerprint matching unit group is obtained by the way of poll J ', j ' ≠ j, requesting processing is taken by fingerprint matching unit group and makes j=j ', arbitration obtains the FMEG numbering j of selection, by j It is sent to request response generating unit, input alternative pack and numbering buffer unit.
  4. 4. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 3, it is characterised in that the mode of poll refers to:
    1st step, make variable j '=0;
    2nd step, judge multi-request controller whether receive fingerprint matching unit group j ' transmissions read request enable signal j ' or Person write enable signal j ', if so, the 3rd step is then performed, if it is not, then performing the 4th step;
    3rd step, obtain the FMEG numbering j ' of selection, to fingerprint matching unit group j ' transmission read request response signal j ' or write please Response signal j ' is sought, performs the 2nd step;
    4th step, j '=j '+1, if j ' < T, perform the 2nd step;If j '=T, the 1st step is performed.
  5. 5. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that request response generating unit Part and moderator, numbering buffer unit, order buffer unit, write request data buffering part and T fingerprint matching unit group phase Even;If receiving read request enable signal j or write request enable signal j from fingerprint matching unit group j, received from moderator To FMEG numbering j, received from order buffer unit
    It is 0 that FIFO_CMD has expired marking signal, then sends read request response signal j or write request to fingerprint matching unit group j Response signal j, FIFO_CMD write enable signals are sent to order buffer unit, sending FIFO_RR to numbering buffer module and write makes Can signal so that the next cycle can toward memory access order is write in FIFO_CMD, toward write-in FMEG numberings j in FIFO_RR.
  6. 6. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that inputting alternative pack is The MUX of one multiple input single output, input alternative pack buffer with moderator, T fingerprint matching unit group, order Part, write request data buffering part are connected, and receive the FMEG numbering j for the selection that moderator is sent, if input alternative pack Receive the read request enable signal j that fingerprint matching unit group j is sent, then the read request enable signal j received after and Read request address signal j generates memory access order, and memory access order is sent into order buffer unit;If input alternative pack connects Receive the write request enable signal j that fingerprint matching unit group j is sent, then the write request enable signal j write requests that will be received afterwards Address signal j generates memory access order, and memory access order is sent into order buffer unit;Write request data j is sent to simultaneously Write request data buffering part.
  7. 7. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that exporting alternative pack is The MUX of one single input and multi-output, output alternative pack make with numbering buffer unit, the data buffering part that reads back, reading Energy generating unit and T fingerprint matching unit group are connected, and the FMEG numbering j of selection are received from numbering buffer unit, enabled from reading Generating unit receives data effective marker position, if data effective marker position is 1, by reading corresponding to fingerprint matching unit group j Request data useful signal j puts 1, and read request data useful signal j and read request returned data j are sent into fingerprint matching list Tuple j.
  8. 8. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that order buffer unit FIFO_CMD is the FIFO being made up of Block RAM, and bit wide is 35, for caching memory access order, wherein 32 buffer address, 3 caching read-write flag bits;Order buffer unit is connected with input alternative pack, request response generating unit, physical interface layer; If receiving FIFO_CMD write enable signals from request response generating unit, memory access order is received from input alternative pack, to Request response generating unit sends FIFO is expired marking signal;If receiving FIFO_CMD from physical interface layer reads enable signal, Then memory access order, FIFO_CMD non-NULLs marking signal and FIFO_CMD effective marker signals are sent to physical interface layer;It is described Write request data buffering part FIFO_WDF is the FIFO being made up of Block RAM, and bit wide is W positions, for caching write request number According to;Write request data buffering part is connected with input alternative pack, request response generating unit, physical interface layer, receives request The FIFO_WDF write enable signals that generating unit is sent are responded, if FIFO_WDF write enable signals are 1, receive input selector The write request address that part is sent;FIFO_WDF is received from physical interface layer and reads enable signal, if FIFO_WDF reads enable signal For 1, write request data, FIFO_WDF non-NULLs marking signal and FIFO_WDF effective marker signals are sent to physical interface layer; The numbering buffer unit FIFO_RR is the FIFO being made up of Block RAM, and bit wide is 4, is sent for cache arbitration device FMEG numberings j;Numbering buffer unit and moderator, request response generating unit, output alternative pack, the enabled generating unit phase of reading Even, the FIFO_RR write enable signals that request response generating unit is sent are received, if FIFO_RR write enable signals are 1, from secondary Cut out the FMEG numberings j that device receives selection;Receive and read the FIFO_RR reading enable signals that enabled generating unit is sent, if FIFO_RR It is 1 to read enable signal, and the FMEG numberings j of selection is sent to output alternative pack;The data buffering part FIFO_RDF that reads back It is the FIFO being made up of Block RAM, bit wide W, number is returned for the read request that buffer memory returns through physical interface layer According to;The data buffering part that reads back is connected with the enabled generating unit of physical interface layer, output alternative pack and reading, receives and is connect by physics The FIFO_RDF write enable signals and read request returned data j that mouth layer is sent;To reading, enabled generating unit transmission FIFO_RDF is non- Empty marking signal, FIFO_RDF reading enable signals are received from enabled generating unit is read, if it is 1 that FIFO_RDF, which reads enable signal, Read request returned data is sent to output alternative pack.
  9. 9. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that read enabled generating unit It is made up of, is connected with the data buffering part that reads back, numbering buffer unit and output alternative pack, according to what is received simple logic The number needed for reading enable signal and output alternative pack needed for FIFO_RDF not empty signals generation FIFO_RDF and FIFO_RR According to effective marker position;The FIFO_RDF non-NULL marking signals that enabled generating unit receives data buffering part transmission of reading back are read, such as Fruit FIFO_RDF non-NULLs marking signal is 1, and sending FIFO_RDF to the data buffering part that reads back reads enable signal, is buffered to numbering Part sends FIFO_RR and reads enable signal, and data effective marker position is sent to output alternative pack.
  10. 10. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that the reading FIFO_CMD Control signal generating unit part is made up of simple logic, is connected with requesting processing, memory access Signal Processing Element, is received at request FIFO_CMD non-NULLs marking signal, FIFO_CMD effective markers signal, memory access Signal Processing Element that unit is sent is managed to send Memory access enable signal, if FIFO_CMD non-NULL marking signals are 0, memory access enable signal is 1, sent to requesting processing FIFO_CMD reads enable signal;If memory access enable signal is 1, it is sent to by the first mark position 0, and by the first flag bit Memory access signal processing unit;If it is 1 that memory access enable signal, which is 0, FIFO_CMD effective markers signal, by the first mark position 1, And the first flag bit is sent to memory access Signal Processing Element;If memory access enable signal is 0, FIFO_CMD effective marker signals For 0, the first flag bit is cached into a cycle;The reading FIFO_WDF control signal generating unit parts are made up of simple logic, with Requesting processing, memory access Signal Processing Element are connected, and receive the FIFO_WDF non-NULL marking signals that requesting processing is sent The write request enable signal sent with FIFO_WDF effective markers signal, memory access Signal Processing Element, if FIFO_WDF non-NULLs Marking signal is 0, write request enable signal is 1, and sending effective FIFO_WDF to requesting processing reads enable signal;If write It is 1 to ask enable signal, and memory access signal processing unit is sent to by the second mark position 0, and by the second flag bit;If memory access Enable signal is that 0, FIFO_WDF effective markers signal is 1, and memory access is sent to by the second mark position 1, and by the second flag bit Signal processing unit;If it is 0 that write request enable signal, which is 0, FIFO_WDF effective markers signal, the second flag bit is cached one The individual cycle.
  11. 11. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that memory access signal processing part Part is simple combinational logic, with reading FIFO_CMD control signal generating units part, reading FIFO_WDF control signal generating units part, asking Ask processing unit and memory access input selector to be connected, FIFO_CMD effective markers signals is received, from reading from requesting processing FIFO_CMD control signal generating units part receives the first flag bit, if FIFO_CMD effective markers signal and the first flag bit are not It is simultaneously 0, memory access enable signal is put 1, and memory access enable signal is sent to memory access input selector and reads FIFO_CMD controls Signal generation part processed;Memory access order is received from requesting processing, takes high 3 of memory access order to believe as access request order Number, access request command signal is sent to memory access input selector;Take low 32 of memory access order to be used as memory access address, will visit Deposit address and be sent to memory access input selector;FIFO_WDF effective markers signals is received from multi-request controller, from reading FIFO_ WDF control signal generating units part receives the second flag bit, if when FIFO_WDF effective markers signal and the second flag bit difference For 0, write request enable signal is put 1, and write request enable signal is sent to memory access input selector and reads FIFO_WDF controls Signal generation part processed;Memory access Signal Processing Element receives write request data from requesting processing, is sent to memory access input choosing Select device.
  12. 12. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that memory access order is 35 Position, high 3 are read-write flag bit, and low 32 are address bit;Read-write flag bit enables according to read request enable signal and write request Signal generation, if what multi-request controller received is read request enable signal, read-write flag bit is 010, please if read Ask that controller receives is write request enable signal, then it is 000 to read and write flag bit;Address bit according to read request address signal and Write request address signal generates, if what is received is read request enable signal, address bit is read request address signal, if What is received is write request enable signal, then address bit is write request address signal;The memory access order caching of generation is slow in order Rush in part.
  13. 13. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that fingerprint matching unit group I read request generating unit is used to generate read request enable signal i, read request address i, by simple combinatorial logic and sequential logic Form;Read request generating unit is connected with multi-request controller and main control state machine, and read request is received from main control state machine Flag bit and read request busy flag position are competed, read request response signal i, request response signal i are received from multi-request controller It is initially 0;If read request competition flag bit is 1, read request response signal i is 0, then read request enable signal i is put into 1, and Read request enable signal i is sent to multi-request controller;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 last time read request;When reading please It is 1 to seek competition flag bit, and read request response signal i is 1, the first control signal is sent to main control state machine, to multi-request control Device processed sends read request address i, while read request enable signal i is put into 1, and for next cycle, read request address i is incremented by 8K, That is K finger print data size;When read request competition flag bit is 0, read request busy flag position is 1, and read request response signal i is When 1, read request response signal i is sent to main control state machine, sends read request enable signal i to multi-request controller, simultaneously Read request enable signal i is put 1, read request address i is incremented by;When read request competition flag bit is 0, read request busy flag position is When 0, read request enable signal i is set to 0, and adds STEP, STEP to be the address size shared by T group finger print datas address.
  14. 14. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that fingerprint matching unit group I write request generating unit is used to generate write request enable signal i, write request address i, by simple combinatorial logic and sequential logic Form;Write request generating unit is connected with multi-request controller, sub-control state machine and matching result register, from sub-control shape State machine receives and writes Data Labels, receives write request response signal i from multi-request controller, and write request response signal i is initially 0, When to write Data Labels be 1, write request response signal i is 0, write request enable signal i is put 1, write request address i write with last time State at the end of request is consistent, and matching result is received as write request data i from matching result register;It is if first Secondary write request, initial address come from memory;When write Data Labels position 1, write request response signal be 1 when, to multi-request control Device sends write request address i, write request data i, sends the second control signal to sub-control state machine, while write request is enabled Signal i is set to 0, and write request address i is incremented by 8K*T.
  15. 15. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that fingerprint matching unit group I data receiver part is made up of simple logic, and data receiver part is by the read request returned data received and read request number A cycle is cached according to useful signal;Data receiver part and multi-request controller, K fingerprint matching unit and main control state Machine is connected;Read request data useful signal, read request returned data are received from multi-request controller, if read request data is effective Signal is 1 and current details less than one details in fingerprint of counting out that receives is counted out M, then will receive details and counted out plus 1;Will Read request returned data after caching cuts into K parts, and every 64, as portion, are sent to K fingerprint matching unit, while will delay Deposit rear read request data useful signal and it is current receive details and count out be broadcast to K fingerprint matching unit, while to main control State machine sends the current details that receives and counted out;If the data amount check read is more than M, current reception details is counted out and set to 0; If read request data useful signal is 0, current reception details, which is counted out, adds 0;The current details that receives counts out initial value as 0.
  16. 16. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that fingerprint matching unit group I data initialization flag register data storage initialization flag, data initialization flag register and main control state machine And K fingerprint matching unit is connected, receives and data initialization mark and stored from main control state machine, with to main control shape State machine and K fingerprint matching unit provide data initialization mark;The work enabler flags deposit of the fingerprint matching unit group i Device stores matching primitives mark, and work enabler flags register is connected with main control state machine and K fingerprint matching unit, from master State of a control machine receives matching primitives mark, and is broadcasted to K fingerprint matching unit, when matching primitives are masked as 1, represents K fingerprint matching unit is in running order, carries out matching primitives;Fingerprint matching unit group i matching result register is used for Deposit matching result, common W positions, every 64 correspondences, one fingerprint matching unit, for receiving and depositing each fingerprint matching unit Matching result;Matching result register is connected with K fingerprint matching unit and write request generating unit, receives K fingerprint The matching result sent with unit, matching result is sent to write request generating unit;Fingerprint matching unit group i unit group stops Flag register is used for storage receipt tuple stopping mark;Unit group stopping mark register and main control state machine, sub-control shape State machine and result election contest part are connected, and receive the unit group stopping mark that main control state machine is sent, to sub-control state machine and As a result part transmitting element group stopping mark is campaigned for;Fingerprint matching unit group i matching result register is W positions, the 0th~63 The matching result that deposit k-th FME is obtained, matching result ... ... the W-64 that the K-1 FME of the 64th~127 deposit is obtained ~W-1 deposits position the matching result that the 0th FME is obtained.
  17. 17. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that fingerprint matching unit group I calculating matched fingerprint number part be used for calculate matched completion fingerprint group number, by an adder and one deposit Device forms;It is connected with main control state machine and K fingerprint matching unit, receives matching complement mark from main control state machine, such as Fruit matching complement mark position 1, fingerprint number is matched and has added 1, and matching fingerprint number storage is supplied into main control shape in a register State is machine-readable to be taken, and otherwise register is kept constant.
  18. 18. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that fingerprint matching unit group I current finger print group matching complement mark part is used for for depositing the completed fingerprint matching units of fingerprint matching unit group i Number, is made up of an adder and a register;Current finger print group matches complement mark register and main control state machine and K Individual fingerprint matching unit is connected, and end signal, the knot that any one fingerprint matching unit is sent are received from K fingerprint matching unit When beam signal is 1, register value is added 1 with adder, as a result deposited in a register, when register result is K, to main control State machine sends current finger print group matching complement mark.
  19. 19. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that fingerprint matching unit group I main control state machine and outside start button, sub-control state machine, read request generation module, calculate matched fingerprint number part, Data receiver part, data initialization mark bit register, current finger print group matching complement mark register, work enabler flags 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, During in original state, all registers are set to 0;" 0001 " represents data initialization state, and data initialization mark is put into 1; " 0010 " represents read request competition Memory access channel state, is the state that read request enable signal i is sent to multi-request controller; " 0011 " represents that read request address sends state, is the state for continuing to send read request address;" 0100 " data latency state, it is Multi-request controller is waited to send the state of data;" 0101 " represents matching primitives state, is fingerprint matching unit matching primitives State;" 0110 " represents matching completion status, is to match the state that complement mark is set effective;The data to be written such as " 0111 " expression State, it is to wait for the state that sub-control state machine writes data;" 1111 " represent done state, refer to all shapes for matching and completing State;Main control state machine receives effective commencing signal from outside start button, enters " 0001 " state by " 0000 " state; " 0001 " state, main control state machine sends data initialization flag bit to data initialization mark bit register, by the beginning of data Beginningization mark bit register puts 1, into " 0010 " state;In " 0010 " state, main control state machine is to read request generating unit Effective read request competition flag bit is sent, read request response signal i is received from read request generating unit;If read request response letter Number i is 1, then main control state machine enters " 0011 " state;Otherwise, main control state machine still keeps " 0010 " state, read request It is 1 to compete flag bit;In " 0011 " state, main control state machine sends read request busy flag position to read request generating unit, Receive read request response signal;If M read request address of current finger print has not been sent, " 0011 " state is maintained, always Send, until completing;Otherwise " 0100 " state is entered;In " 0100 " state, main control state machine receives from data receiver part The current details that receives is counted out, and judges whether data receiver is completed accordingly;Meanwhile main control state machine is from data initialization mark Will register receives data initialization mark;If data receiver is completed, and data initialization is masked as 1, then main control state Machine enters " 0010 " state, while data initialization flag register is set to 0;If data receiver is completed, and data initialization 0 is masked as, then main control state machine enters " 0101 " state;If data receiver does not complete, main control state machine is kept " 0100 " state;In " 0101 " state, main control state machine sends to the enabled register of work and is effectively matched calculation flag, from working as Preceding fingerprint group matching complement mark part receives current finger print group matching complement mark;If current finger print group matches complement mark The FME for having completed matching of part transmission number is K, then main control state machine enters " 0110 " state, meanwhile, make to work Can the invalid matching primitives mark of flag register transmission;If currency fingerprint group matching complement mark is not K, represent also have FME does not complete matching, then main control state machine keeps " 0101 " state;In " 0110 " state, to sub-control state machine and calculating The transmission of fingerprint number part is matched and has been effectively matched complement mark, sent out subsequently into " 0111 " state, while to sub-control state machine Send invalid matching complement mark;In " 0111 " state, received from sub-control state machine and write flag bit, while matched from calculating Fingerprint number part receives and has matched fingerprint number, if it is effective to write flag bit, and has matched fingerprint number and has been less than current finger print The number of tasks of matching unit group, then main control state machine enter " 0010 " state;If it is effective to write flag bit, and has matched and referred to Line number is equal to the number of tasks of current finger print matching unit group, then main control state machine enters " 1111 " state;If write mark Will position is invalid, then main control state machine keeps " 0111 " state;In " 1111 " state, main control state machine is to matching end mark Register sends out end mark effective.
  20. 20. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that sub-control state machine with Main control state machine, write request generating unit, matching end mark register are 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 to send to write to multi-request controller to ask Seek the state of competition Memory access channel;" 1001 " are to wait for calculating state;" 1111 " represent done state;After electrification reset, pair control State machine processed is in " 0000 " state, and related register is set to 0, if from main control state machine receive matching complement mark and It is effective to match complement mark, sub-control state machine enters " 1000 " state;When sub-control state machine is in " 1000 " state, to writing Request generating unit sends and effectively writes Data Labels, and waits from write request part and receive write request response signal, please if write Ask response signal effective, sub-control state machine enters " 1001 " state, if write request response signal is invalid, sub-control state machine It is parked in " 1000 " state;When sub-control state machine is in " 1001 " state, matching complement mark is received from main control state machine, together When from unit group stopping mark register receiving unit group stopping mark, if matching complement mark is effective, unit group stops mark Will is invalid, and sub-control state machine enters " 1000 " state;If unit group stopping mark is effective, sub-control state machine enters " 1111 " state;Otherwise sub-control state machine is parked in " 1001 " state;In " 1111 " state, represent that all results have write, it is secondary State of a control machine is stopped.
  21. 21. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that fingerprint matching unit group I K fingerprint matching unit FME be used for according to the finger print data of reception carry out matching primitives, K fingerprint matching unit with number According to initialization flag register, work enabler flags register, data receiver part, current finger print group matching complement mark part And matching result register is connected, data initialization mark is received from data initialization flag register, as fingerprint to be checked And the mark of parameter initialization;Work enabler flags are received from work enabler flags register, while are connect from data receiver part Receive it is current receive details count out, cache after read request data useful signal and finger print data after caching, K fingerprint matching unit Data initialization or fingerprint matching are carried out parallel;After completing matching, K fingerprint matching unit matches to current finger print group Complement mark part sends end signal, and the matching result of one 64 is sent to matching result register;Fingerprint matching unit By MUX, fingerprint RAM to be checked, template fingerprint RAM, fingerprint address ram to be checked renewal part, template fingerprint RAM Address renewal part, template fingerprint data register, window edge search part, upper limit register, lower bound register, X-coordinate Comparing unit, Euclidean distance comparing unit, field of direction comparing unit, the optimal details dot address update section part of matching, the match is successful Minutiae point number accumulator and matching result output block form.
  22. 22. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 21, it is characterised in that MUX with Initialization flag register, data receiver part, fingerprint RAM to be checked and template fingerprint RAM phases in fingerprint matching unit group i Even, there is read request data after receiving the caching that initialization flag, the data receiver part that initialization flag register is sent are sent Imitate signal, and according to initialization flag selection by read request data useful signal after caching be sent to fingerprint RAM to be checked or Template fingerprint RAM;If initialization flag is 1, MUX issues read request data useful signal i after caching to be checked Fingerprint RAM, as fingerprint RAM write enable signal to be checked, read request returned data after fingerprint RAM order cachings to be checked;Such as Fruit initialization flag is 0, and read request data useful signal after caching is issued template fingerprint RAM by MUX, as template Fingerprint RAM write enable signal, read request returned data after template fingerprint RAM order cachings.
  23. 23. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 21, it is characterised in that fingerprint RAM to be checked It is a Block RAM, wherein what is stored is fingerprint to be checked;Fingerprint RAM to be checked connects with data in fingerprint matching unit group i Receive part, MUX, fingerprint address ram to be checked renewal part, window edge and search part, X-coordinate comparing unit, Europe Formula is connected apart from comparing unit, field of direction comparing unit, the write enable signal that MUX is sent is received, if writing enabled letter Number it is 1, receives after the caching that data receiver part is sent in fingerprint matching unit group finger print data and current receive details points Mesh;If write enable signal is 0, the details in fingerprint dot address to be checked that fingerprint address ram renewal part to be checked is sent is received, Read data after, to fingerprint address ram to be checked update part, window edge search part, X-coordinate comparing unit, it is European away from Details in fingerprint point data to be checked is sent from comparing unit, field of direction comparing unit;Fingerprint address ram to be checked renewal part by Simple logic forms, according to update address mark signal to be checked and the window upper bound, lower bound updates address, according to receiving Details point data judge current address whether be current finger print maximum address;Fingerprint address ram to be checked renewal part with Update address tag register to be checked, upper limit register, lower bound register, the minutiae point number accumulator that the match is successful and It is connected with optimal details dot address update section part, receives upper dividing value, the lower bound of lower bound register transmission that upper limit register is sent It is worth, updates the renewal address mark to be checked that address tag register to be checked is sent, it is optimal to fingerprint RAM to be checked and matching Details dot address update section part sends fingerprint address to be checked, while according to renewal address mark, upper dividing value and lower bound to be checked Value updates address;The details in fingerprint point data to be checked that fingerprint RAM to be checked is sent is received, and according to details in fingerprint to be checked Points it is judged that current address whether be fingerprint to be checked maximum address;If current address reaches maximum address or window The upper bound, the 5th enabling signal is sent to the minutiae point number accumulator that the match is successful.
  24. 24. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 21, it is characterised in that template fingerprint RAM is One Block RAM, stores the template fingerprint from template fingerprint storehouse;Data in template fingerprint RAM and fingerprint matching unit group i Receiving part, MUX, template fingerprint data register and template fingerprint address ram renewal part are connected, and receive multichannel The write enable signal that selector is sent, if write enable signal is effective, receives data receiver part in fingerprint matching unit group and send out Finger print data and the current details that receives are counted out after the caching sent;If write enable signal is invalid, template fingerprint address ram is received The template fingerprint details dot address that part is sent is updated, after reading data, to template fingerprint data register and template fingerprint RAM Address renewal part sends template fingerprint details point data;Template fingerprint address ram renewal part is a combinational logic, according to The template address renewal mark renewal template fingerprint address ram that the minutiae point number accumulator that the match is successful is sent, and according to mould Plate details in fingerprint point data judges whether current address is maximum address;Template fingerprint address ram updates part and template fingerprint RAM, the minutiae point number accumulator that the match is successful and matching result output block are connected, and receive the minutiae point number that the match is successful The template fingerprint renewal marking signal that accumulator is sent, if template fingerprint renewal marking signal is effective, updates template fingerprint Address ram, while send template fingerprint address ram to template fingerprint RAM;It is thin to receive the template fingerprint that template fingerprint RAM is sent Node data, determine whether the maximum address of template fingerprint, refer to if it is, sending current template to matching result output block Line details point data is the maximum address and the 4th enabling signal of template fingerprint.
  25. 25. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 21, it is characterised in that template fingerprint data Register searches part, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction ratio with template fingerprint RAM, window edge It is connected compared with part, receives the template fingerprint details point data that template fingerprint RAM is sent and stored, to be looked into window edge Part, X-coordinate comparing unit, Euclidean distance comparing unit, field of direction comparing unit is looked for provide template fingerprint details point data.
  26. 26. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 21, it is characterised in that window edge is searched Part is a combinational logic, and its effect is on the basis of template fingerprint detail present point, in the Y-coordinate of template fingerprint minutiae point It is upper to search to be checked fingerprint minutiae of the difference in threshold range, and by the minimum and maximum fingerprint to be checked of wherein Y-coordinate The address of minutiae point is deposited with upper limit register and lower bound register as the window upper bound and lower bound;Window edge searches part With the enabled register that worked in fingerprint matching unit group, fingerprint RAM, upper limit register and lower bound register to be checked, X-coordinate ratio It is connected compared with part and renewal address tag register to be checked, receives and work what enabled register was sent in fingerprint matching unit group Work enable signal, if work enable signal is 1, receives the template fingerprint details points that template fingerprint data register is sent According to the details in fingerprint point data to be checked sent with fingerprint RAM to be checked, and it is compared, if the Y-coordinate difference of the two is small In coordinate threshold value, coordinate threshold value is more than 0, then to flag register transmission to be checked effectively renewal mark is updated, receives new After details in fingerprint point data to be checked, again compared with template fingerprint minutiae point, if the Y-coordinate difference of the two is still less than seat Mark threshold value, then send effectively renewal mark to updating flag register to be checked again, repeat more than operate, until finding and mould The absolute value of the Y-coordinate difference of plate fingerprint minutiae is more than the fingerprint minutiae to be checked of coordinate threshold value, by the exhausted of all Y-coordinate difference To being worth the address of the fingerprint minutiae to be checked that Y-coordinate is minimum in the fingerprint minutiae to be checked less than coordinate threshold value as window Floor value;The absolute value of all Y-coordinate difference is less than maximum to be checked of Y-coordinate in the fingerprint minutiae to be checked of coordinate threshold value The address of fingerprint minutiae is ask as dividing value on window;Zero start signal is sent to X-coordinate renewal part, to upper limit register Dividing value in transmission, send to lower bound register floor value, indicate to updating flag register to be checked and send invalid renewal.
  27. 27. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 21, it is characterised in that X-coordinate comparing unit It is a combinational logic, it is that X-coordinate of the comparison currently between fingerprint minutiae and template fingerprint minutiae point to be checked is poor that it, which is acted on, The size of value and threshold value;Part, fingerprint to be checked are searched with the enabled register that worked in fingerprint matching unit group, window edge RAM, template fingerprint data register, Euclidean distance comparing unit and renewal address register to be checked are connected;Receiving work makes The work enable signal that energy register is sent, when the enable signal that works is effective, X-coordinate comparing unit is in running order;Connect Receive window edge and search the zero start signal that part is sent, if zero start signal is effective, receive fingerprint RAM hairs to be checked Template fingerprint details point data that the details in fingerprint point data to be checked and template fingerprint data register sent are sent and by details The X-coordinate of point data is compared, if the difference of the two is more than coordinate threshold value, is sent out to address tag register to be checked is updated Effectively renewal mark is sent, otherwise sends invalid renewal mark;After completing relatively, it is poor to send X-coordinate to Euclidean distance comparing unit With the first enabling signal;Euclidean distance comparing unit is a combinational logic, and its effect is comparison currently details in fingerprint to be checked Euclidean distance and the size of coordinate threshold value between point and template fingerprint minutiae point;Euclidean distance comparing unit and fingerprint matching list Work enabled register, fingerprint RAM to be checked, template fingerprint data register, X-coordinate comparing unit, field of direction ratio in tuple It is connected compared with part and the optimal details dot address update section part of matching;The enabled register that works in fingerprint matching unit group is received to send Work enable signal, work enable signal it is effective when, Euclidean distance comparing unit is in running order;X-coordinate is received to compare The first enabling signal that part is sent, if the first enabling signal is effective, receive the fingerprint to be checked that fingerprint RAM to be checked is sent The template fingerprint details point data that details point data and template fingerprint data register are sent, and by details point data it is European away from From compared with coordinate threshold value, if greater than coordinate threshold value, then sent effectively more to renewal address tag register to be checked New mark, otherwise send invalid renewal mark;Complete relatively after, to field of direction comparing unit send the second enabling signal, to Euclidean distance is sent with optimal details dot address update section part;Field of direction comparing unit is that a combinational logic is formed, and it is acted on It is the size of field of direction difference and threshold value of the comparison currently between fingerprint minutiae and template fingerprint minutiae point to be checked;The field of direction Comparing unit and enabled register, fingerprint RAM to be checked, template fingerprint data register, the Europe of being worked in fingerprint matching unit group Family name is connected apart from comparing unit, the optimal details dot address update section part of matching, receives enabled post that worked in fingerprint matching unit group The work enable signal that storage is sent, field of direction comparing unit is in running order when work enable signal is effective;Receive European The second enabling signal sent apart from comparing unit, if the second enabling signal is effective, receive treating for fingerprint RAM transmissions to be checked Inquire about the template fingerprint details point data that details in fingerprint point data and template fingerprint data register are sent, and by details point data Field of direction difference and direction threshold value, direction threshold value is more than 0, is compared, if greater than direction threshold value, then to be checked to updating Address tag register sends effectively renewal mark, otherwise sends invalid renewal mark;After completing relatively, to the optimal details of matching Dot address renewal part sends the 3rd enabling signal.
  28. 28. the fingerprint matching unit based on coarse grain parallelism as described in claim 26 or 27, it is characterised in that coordinate threshold value For 14, direction threshold value is 200.
  29. 29. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 21, it is characterised in that match optimal details Dot address renewal part is a combinational logic, is made up of a comparator and Euclidean distance register;It is to compare to work as that it, which is acted on, Before between the minutiae point for meeting coordinate threshold value and direction threshold value found, the minutiae point and template fingerprint minutiae point that find before Euclidean distance size, the minutiae point that Euclidean distance is minimum between template fingerprint minutiae point is selected, and record its address;Match optimal Worked in details dot address update section part and fingerprint matching unit group i enabled register, Euclidean distance comparing unit, the match is successful Minutiae point number accumulator, fingerprint address ram to be checked renewal part and renewal address tag register to be checked be connected;Connect The work enable signal that enabled register is sent that worked in fingerprint matching unit group i is received, work enable signal is effective, and matching is optimal Details dot address update section part is in running order;The 3rd enabling signal that field of direction comparing unit occurs is received, if the 3rd Enabling signal is effective, then will be deposited from the Euclidean distance that Euclidean distance comparing unit receives with Euclidean distance register European Distance is compared, and the initial value in Euclidean distance register is 10000, then will be European if less than existing Euclidean distance The Euclidean distance for being updated to receive apart from register, and receive fingerprint to be checked from fingerprint address ram to be checked renewal part Address ram, existing optimal dot address is updated, if greater than existing Euclidean distance, is not then updated;Simultaneously to the match is successful Minutiae point number accumulator sends that the match is successful mark, effectively renewal mark is sent to address tag register to be checked is updated.
  30. 30. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 21, it is characterised in that what the match is successful is thin Node number accumulator is a combinational logic, includes an accumulator, and it is the cumulative minutiae point number that the match is successful that it, which is acted on, After the completion of will send template address renewal marking signal;The minutiae point number accumulator that the match is successful and fingerprint matching unit group i Middle work enables register, fingerprint address ram to be checked renewal part, the optimal details dot address update section part of matching, template and referred to Line address ram renewal part, matching result output block are connected;Receive the enabled register hair that worked in fingerprint matching unit group i The work enable signal sent, the minutiae point number accumulator that work enable signal is effective, and the match is successful are just in running order;Connect The 5th enabling signal that fingerprint address ram renewal part to be checked is sent is received, if the 5th enabling signal is effective, receives matching most Excellent details dot address update section part, judge that the match is successful whether mark is effective, if it is valid, accumulator adds 1, it is otherwise constant; Template address is sent to template fingerprint address ram renewal part and effectively updates mark, is sent and is matched to matching result output identification Success count.
  31. 31. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 21, it is characterised in that matching result exports Part is a combinational logic, is made up of the first output register and the second output register, and the bit wide of 2 registers is 32 Position, matching result output block add up with the enabled register that worked in fingerprint matching unit group i, the minutiae point number that the match is successful Device, template fingerprint address ram renewal part, in fingerprint matching unit group in matching result register and fingerprint matching unit group when Preceding fingerprint group matching complement mark part is connected;Receiving the work that enabled register is sent that worked in fingerprint matching unit group i makes Energy signal, work enable signal is effective, and matching result output block is in running order;Matching result output block receives matching Successful minutiae point number accumulator sends that the match is successful, and details is counted out, will the match is successful that details counts out is buffered in first In register;Receive the 4th enabling signal and current template details in fingerprint points that template fingerprint address ram renewal part is sent Mesh, current template details is counted out and is buffered in the second output register;If the 4th enabling signal is effective, defeated by first Matching result is used as after going out the value splicing of register and the second output register, high 32 of matching result is deposited from the first output Device, low 32 come from the second output register, and matching result then is sent into matching result in fingerprint matching unit group i deposits Device, end signal is issued into current finger print group in fingerprint matching unit group i and matches complement mark part.
  32. 32. the fingerprint matching unit based on coarse grain parallelism as claimed in claim 1, it is characterised in that result campaign for part by Unit group stopping mark collecting part, memory access processing component, existing the match is successful details counts out register, existing template fingerprint Details count out register, existing matching result numbered register, first comparator, the second comparator, numbering selector composition:
    Unit group stopping mark collecting part collects T unit group stopping mark, whether to judge all fingerprint matching unit groups Complete, if it is, sending effective first control signal to memory access input selector, and effectively knot is sent to memory access processing component Fruit arbitration mark;Unit group stopping mark collecting part is handled with T fingerprint matching unit group, memory access input selector and memory access Part is connected, and receives unit group stopping mark 0~unit group stopping mark T-1 that T fingerprint matching unit group is sent, if single Tuple stopping mark 0~unit group stopping mark T-1 is 1, then sends effective first control signal to memory access input selector, Effective result arbitration mark is sent to processing component is left with;
    Memory access processing component produces memory access signal, and memory access data are handled;Memory access processing component stops marking with unit group It is will collecting part, first comparator, the second comparator, numbering selector, existing the match is successful details counts out register, existing Matching result numbered register, memory access input selector and result indicator lamp are connected;Connect from unit group stopping mark collecting part Result arbitration mark is received, if result arbitration mark is effective, memory access enable signal is set effective, and to memory access input selector Enabled memory access, memory access read request command, access request address are sent, waits memory access input selector to send read request and returns to number According to;Read request returned data is received from memory access input selector, this data includes 3 parameters:Single details in fingerprint is counted out, mould Plate fingerprint sum, matching result address;Memory access enable signal is set effective, and enabled to the transmission memory access of memory access input selector, Leave with read request command, access request address i.e. matching result address, obtain that read request is returned into number after read request returned data According to segmentation, will the match is successful that number is sent to first comparator, current template details in fingerprint, which is counted out, to be sent to second and compares Device, while the matching result number for setting a counter records to read, and send it to numbering selector;Then will visit Deposit request address and add 64, read next matching result;If the matching result number read is equal to template fingerprint sum, will write Request enable signal is set effective, at the same from it is existing the match is successful details counts out register receives match optimal details count out, From existing template details in fingerprint count out register receive existing template details in fingerprint count out, from existing matching result numbering post Storage reads its numbering, and three is spliced into 64 as write request data;Then by write request enable signal, write request Location, access request address are sent to memory access input selector, while send to be effectively matched to outside indicator lamp and complete signal;
    Existing the match is successful details counts out minutiae point optimal with fingerprint matching to be checked before register deposits this cycle Number;Existing the match is successful that details counts out that register is connected with first comparator, memory access processing component, is sent out to first comparator Send existing details to count out, receive the details that first comparator is sent afterwards and count out, and update register;Handled to memory access Part sends the optimal details of matching and counted out;
    Existing template details in fingerprint register of counting out deposits template fingerprint optimal with fingerprint matching to be checked before this cycle Details count out;Existing template details in fingerprint register of counting out is connected with the second comparator, memory access processing component, to second Comparator sends existing details and counted out, and the details for receiving the transmission of the second comparator afterwards is counted out, and updates register;To Memory access processing component sends existing template details in fingerprint and counted out;
    The numbering of existing matching result numbered register matching result optimal with fingerprint matching to be checked before depositing this cycle; Existing matching result numbered register is connected with numbering selector and memory access processing component, and existing matching is sent to numbering selector As a result number, receive matching result numbering from numbering selector, and update register;Existing matching is sent to memory access processing component As a result number;
    The match is successful details counts out send that the match is successful with memory access processing component number, choosing that first comparator is more existing Go out maximum is sent to existing the match is successful details counts out register;First comparator and memory access processing component, existing matching Count out register, the second comparator and numbering selector of success details is connected, and it is several to receive that the match is successful from memory access processing component Mesh, from it is existing the match is successful details counts out register receives it is existing the match is successful that details is counted out, the two is compared, such as The match is successful that number is big for fruit, then sends invalid second control signal, to numbering selector transmission the effective 4th to the second comparator Control signal, and will the match is successful number is sent to existing the match is successful details counts out register;If existing, the match is successful Details is counted out greatly, then sends invalid second control signal to the second comparator, sends invalid 4th control to numbering selector Signal;If the two is equal, sends effective second control signal to the second comparator, send the invalid 4th to numbering selector Control signal;
    Second comparator compares the current template details in fingerprint that existing template details in fingerprint is counted out with the transmission of memory access processing component Count out, the existing template details in fingerprint that is sent to for selecting minimum is counted out register;Second comparator and memory access processing component, Count out register, first comparator and numbering selector of existing template details in fingerprint is connected, and receives and works as from memory access processing component Front template details in fingerprint is counted out, and existing template details in fingerprint points are received from existing template details in fingerprint register of counting out Mesh, control signal is received from first comparator, if the second control signal is effective, the two is compared, if current mould Plate details in fingerprint is counted out small, then sends effective 3rd control signal to numbering selector, and by current template fingerprint minutiae Number is sent to existing template details in fingerprint and counted out register;If existing template details in fingerprint count out it is small, to numbering select Select device and send invalid 3rd control signal;If the two is equal, invalid 3rd control signal is sent to numbering selector;If The 4th control signal that first comparator is sent is invalid, then does not take operation;
    Numbering selector selects the numbering of the matching result optimal with fingerprint matching to be checked from matching result;Numbering selector It is connected with count out register, first comparator and the second comparator of memory access processing component, existing template details in fingerprint, from first Comparator receives control signal, and control signal is received from the second comparator, if the two has one effectively, from memory access processing component Matching result numbering is received, sends it to existing matching result numbered register;If the two is invalid, from existing matching As a result numbered register receives existing matching result and numbers and be sent 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 CN104850829A (en) 2015-08-19
CN104850829B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117892673B (en) * 2024-03-18 2024-05-31 上海韬润半导体有限公司 Timing sequence convergence structure and method based on register and digital-analog hybrid chip

Citations (2)

* 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
CN104077561A (en) * 2014-03-17 2014-10-01 北京市公安局刑事侦查总队 Fingerprint automatic comparison method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140270421A1 (en) * 2013-03-15 2014-09-18 Allweb Technologies Inc Multi-layer biometric matching system

Patent Citations (2)

* 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
CN104077561A (en) * 2014-03-17 2014-10-01 北京市公安局刑事侦查总队 Fingerprint automatic comparison method

Also Published As

Publication number Publication date
CN104850829A (en) 2015-08-19

Similar Documents

Publication Publication Date Title
KR102120395B1 (en) Accelerator for deep neural networks
CN110175671A (en) Construction method, image processing method and the device of neural network
CN109032781A (en) A kind of FPGA parallel system of convolutional neural networks algorithm
CN105589938A (en) Image retrieval system and retrieval method based on FPGA
CN105956666B (en) A kind of machine learning method and system
CN109558902A (en) A kind of fast target detection method
CN104239233B (en) Buffer memory management method, cache management device and caching management equipment
CN110287873A (en) Noncooperative target pose measuring method, system and terminal device based on deep neural network
CN108920413A (en) Convolutional neural network multi-core parallel computing method facing GPDSP
US11295206B2 (en) Interleaving memory requests to accelerate memory accesses
CN108924187A (en) Task processing method, device and terminal device based on machine learning
JP2020030699A (en) Leaning device and leaning method
CN105611114A (en) Full-digital multi-convolution core-convolution processing chip for AER (Address-Event Representation) image sensor
CN109614990A (en) A kind of object detecting device
CN110032538A (en) A kind of data reading system and method
JP2020027437A (en) Learning device and learning method
CN104850829B (en) Fingerprint matching unit based on coarse grain parallelism
CN111860484A (en) Region labeling method, device, equipment and storage medium
CN109214281A (en) A kind of CNN hardware accelerator for AI chip recognition of face
CN106775464B (en) A kind of data hierarchy storage system and method
CN110007764A (en) A kind of gesture skeleton recognition methods, device, system and storage medium
CN110390315A (en) A kind of image processing method and device
CN108846845A (en) SAR image segmentation method based on thumbnail and hierarchical fuzzy cluster
CN109146606A (en) A kind of brand recommended method, electronic equipment, storage medium and system
CN109359735B (en) Data input device and method for accelerating deep neural network hardware

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