Detailed description of the invention
Hereinafter, by referring to accompanying drawing and form, the example of the present invention will be described in detail.
But, the present invention can be carried out in many different forms, and should not be limited to reality given here
Example, it is thoroughly with complete that being provided for of this example makes the disclosure, and to being familiar with this area
Personnel pass on the thought of the present invention all sidedly.
The structure of 3D fpga chip be one be high-speed digital video camera reconfigurable parallel many
Process line construction.Hereinafter, the most reconfigurable all part-structures are all so that (* can
Reconstruct) labelling show.
Reference Fig. 1, framework A are two kinds of the present invention and realize one of structure.SDRAM in Fig. 1
Be directly connected to via chip pin with the 3D fpga chip of framework A, this be for SDRAM with
3D fpga chip shares the design of same system board.This 3D fpga chip weighing by upper strata
The logical layer circuit of structure layer circuit and lower floor is overlapped mutually and is integrally forming, restructural layer circuit and logical layer
Circuit is in this 3D fpga chip and deposits and forms a superposition and close-connected complete structure.
Each 3D fpga chip is made up of 6 reconfigurable modules, defeated from being input to according to data stream
The order gone out includes PCIe interface module 1,3D filling module 2, space two sub-module 3 successively, rises
Beginning rendering module 4,3D rendering module 5 and display module 6.
Wherein, PCIe interface module 1 is for realizing this 3D fpga chip and exterior PC Ie bus
Data are transmitted, and front end interface is connected with PCIe bus slot, and external signal passes through PCIe bus with difference
The form turnover chip of sub-signal.3D data in the 3D data file of PC hard disc are with High Speed Serial
Transmission means PCIe slot on PC motherboard is transferred into the PCIe of this 3D fpga chip
The difference port (Differential Port) of interface module.The back end interface of PCIe interface module and 3D
Filling module 2 connects.
3D filling module 2 inputs via PCIe interface module 1 for host computer (PC) in the future
3D data in 3D primitive data be cached in the pel SDRAM of outside, and by 3D data
In 3D optical data (such as photographic head, material, light source information) be directly output to initial rendering
Module 4.
Space two sub-module 3 is for turning the 3D primitive data of caching in outside pel SDRAM
Change two points of space KD tree type data into and be cached in outside KD SDRAM.
Initial rendering module 4 is for the photographic head inputting 3D filling module, material, light source information
It is analyzed Deng 3D optical data and processes, producing the ray initial point needed for 3D rendering module and picture
The optical datas such as vertex of surface data, and export to 3D rendering module, produce 3D rendering module simultaneously
Enabling signal and process 3D rendering module needed for rendering every frame 3D picture terminate every frame 3D picture
The finishing signal produced when rendering.
3D rendering module 5 is the 3D pel of caching in the outside pel SDRAM to synchronization input
Two points of the space KD tree type data cached in data, KD SDRAM and initial rendering module 4
Optical data carry out 3D and render, and the result that will render process exports to display module 6.
Display module 6, for the result rendering process is carried out data conversion, obtains showing object information,
And the display object information obtained is buffered in the frame buffering SDRAM of outside, and will obtain
Display object information exports together with the RGB color data from outside frame buffering SDRAM input
To VGA display for native monitoring, feed back to PCIe interface module 1 for master computer simultaneously
Process (such as Intelligent Recognition or internet communication are applied).
Reference Fig. 2, framework B are two kinds of the present invention and realize the two of structure.Framework A and framework B's
Only difference is that the 3D fpga chip of the present invention (includes pel with outside SDRAM
SDRAM, KD SDRAM and frame buffer SDRAM) data exchange ways.Institute in Fig. 2
Having SDRAM with 3D fpga chip to be connected via outside PCIe bus, this is for PCIe
On slot, SDRAM from 3D fpga chip is in the design of the most different system boards.Purpose is carrying
The high present invention extending motility and reducing the cost of system board design on system board designs.
Wherein, PCIe interface module 1, it is used for realizing this 3D fpga chip and exterior PC Ie bus
Data transmission, front end interface is connected with PCIe bus slot, external signal pass through PCIe bus with
The form turnover chip of differential signal.3D primitive data in the 3D data file of PC hard disc is with height
Speed Serial Port Transmission mode PCIe slot on PC motherboard is transferred into this 3D fpga chip
The difference port (Differential Port) of PCIe interface module.The back end interface of PCIe interface module
It is connected with 3D filling module 2.
3D loads module 2, defeated via PCIe interface module 1 for host computer (PC) in the future
3D primitive data in the 3D data entered passes sequentially through PCIe interface module 1 and PCIe bus and delays
It is stored in the pel SDRAM of outside, and the 3D optical data in 3D data (is such as imaged
Head, material, light source information) it is directly output to initial rendering module 4.
Space two sub-module 3, obtains for passing sequentially through PCIe interface module 1 and PCIe bus
Outside pel SDRAM in caching 3D primitive data be converted into two points of space KD tree type data,
And pass sequentially through PCIe interface module 1 and PCIe bus cache in outside KD SDRAM.
Initial rendering module 4, for believing the photographic head of 3D filling module input, material, light source
The 3D optical datas such as breath are analyzed and process, produce the ray initial point needed for 3D rendering module and
Picture vertex data, and export to 3D rendering module, produce 3D rendering module simultaneously and render every frame
Enabling signal and process 3D rendering module needed for 3D picture terminate to produce when every frame 3D picture renders
Raw finishing signal.
3D rendering module 5, for scheming the 3D synchronizing to cache in the outside pel SDRAM of input
Two points of the space KD tree type data cached in metadata, KD SDRAM and initial rendering module 4
Optical data carry out 3D and render, and the result that will render process exports to display module 6.
Display module 6, for the result rendering process is carried out data conversion, obtains showing result letter
Breath, and the display object information obtained is passed sequentially through PCIe interface module 1 and PCIe bus cache
In outside frame buffering SDRAM, and the display object information obtained is delayed with from outside frame
The RGB color data rushing SDRAM input export to VGA display together for native monitoring,
Feed back to PCIe interface module 1 for host computer processes (such as Intelligent Recognition or the Internet simultaneously
Communications applications).
Based on the framework B shown in framework A and Fig. 2 shown in above-mentioned Fig. 1, this fpga chip is with outer
Portion SDRAM (i.e. pel SDRAM, KD SDRAM buffers SDRAM with frame) carries out data
Exchange, in framework A, the pel SDRAM in the SDRAM of this outside is directly connected in this FPGA
3D filling module 2 in chip and space two sub-module 3, the KD in the SDRAM of this outside
Space two the sub-module 3 and 3D rendering module 5 that SDRAM is directly connected in this fpga chip,
The display mould that frame buffering SDRAM in the SDRAM of this outside is directly connected in this fpga chip
Block 6.In framework B, this fpga chip is to be connected to outside this via outside PCIe bus
Pel SDRAM, KD SDRAM in SDRAM buffers SDRAM with frame.
Below in conjunction with Fig. 3 to Figure 37, the composition present invention is rendered for 3D graphics the FPGA of acceleration
The PCIe interface module 1 of chip, 3D filling module 2, space two sub-module 3, initial rendering module
4,3D rendering module 5 and display module 6 are described in detail.
With reference to Fig. 3, PCIe interface module is by two sub-module compositions, i.e. PCIe core module and PCIe
Application module.PCIe core module is for performing the physical layer of data exchange, data link layer and process layer
Protocol logic.PCIe application module is used for controlling 3D and loads module, space two sub-module, 3D
Rendering module and display module and (Fig. 2) on outside (Fig. 1) or exterior PC Ie bus slot
PC, between pel SDRAM, KD SDRAM and frame buffer SDRAM data exchange.
Comprise 3 modules with reference to Fig. 4,3D filling module, i.e. PCIe read module, 3D classify mould
Block and pel SDRAM control module.PCIe read module is for obtaining from PCIe interface module 1
Take 3D data and be transferred to 3D sort module.3D sort module is for being divided into two by these 3D data
Class data, a class is 3D primitive data, and output is to outside pel SDRAM, another kind of for 3D light
Learning data (i.e. photographic head, material, light source data), output is to initial rendering module 4.Pel SDRAM
Control module is for exporting this 3D primitive data and cache to outside pel SDRAM.
With reference to Fig. 5, space two sub-module comprises 6 modules, i.e. KD joint storehouse FILO module,
Build KD module, two sub-modules, cost calculation module, two points of position fifo modules and pel FIFO
Module.Cost calculation module reads in the most required 3D with two sub-modules from outside pel SDRAM
Primitive data is buffered in pel fifo module and two points of position fifo modules the most respectively.Two sub-modules
3D sight pel is produced based on axial bag box with the summit obtained from two points of position FIFO
Two points of space plane (the Binary Space of (Axis-Aligned Bounding Box is called for short AABB)
Partition Plane), then utilize the primitive vertices coordinate that cost calculation module obtains from pel FIFO
Calculate every one-level AABB of KD tree (KD Tree) two are divided into this, finally minimum with cost
Two points of planes complete two points of the KD joint of this grade.The root KD of the whole all pels of 3D sight saves (Root
KD Node) repeatedly two assigned to an other KD leaf segment (KD Leaf Node) by space two sub-module,
The primitive data of all 3D sights is converted into a KD tree data structure, and then directly (A
Framework) or via PCIe interface module (B framework) output to outside KD SDRAM.
Space two sub-module is read into 3D sight primitive data, according to KD from outside pel SDRAM
Space Bisection Algorithms (KD Binary Space Partition Algorithm) carries out repeatedly two points of space,
Save (KD Tree Inner Node) information record by internal for all KD trees by two points and input simultaneously
Outside KD SDRAM, until each space two sub-path arrives KD leaves joint (KD Tree
Leaf Node)。
With reference to Fig. 6, initial rendering module includes that initial ALU and initial state machine, initial ALU are used
It is analyzed in the 3D optical data that 3D filling module is inputted and processes, producing 3D rendering module
Required ray initial point and picture vertex data, and export to 3D rendering module, process 3D simultaneously
Rendering module terminates the finishing signal produced when every frame 3D picture renders.Initial state machine is used for producing
3D rendering module renders the enabling signal needed for every frame 3D picture.
12 modules, the most main routing module, 4 caching moulds are comprised with reference to Fig. 7,3D rendering module
Block (passes through cache module, enumerates cache module, puncture cache module, coloring cache module), and 4
The individual submodule that renders (renders and passes through module, renders and enumerate module, render piercing module, render coloring
Module) and 3 interval they fifo module (pass through fifo module, enumerate fifo module,
Puncture fifo module).
Main routing module in 3D rendering module, 4 cache modules (pass through cache module, enumerate slow
Storing module, puncture cache module, coloring cache module), 4 render submodule (render pass through module,
Render and enumerate module, render piercing module, render staining module) and 3 FIFO (pass through FIFO
Module, enumerate fifo module, puncture fifo module) Data Source be:
1)KD SDRAM
Storage 3D pel KD tree construction data after spatial dichotomy processes.
2) pel SDRAM
The pel composition information of storage 3D sight.
3) 3D optical data
Initial rendering module 3D optical data (photographic head, sight thing to 3D filling module input
Body material and the information of light source) it is analyzed and processes, penetrating needed for the 3D rendering module of generation
Line initial point and picture vertex data.
KD joint number from outside KD SDRAM passes through cache module according to input.From exterior view
The primitive data of unit SDRAM inputs main routing module.Defeated from the optical data of initial rendering module
Enter to render and pass through module.The pipeline operation computation sequence that 3D renders: render and pass through module > and pass through
Fifo module > render enumerate module > enumerate fifo module > render piercing module > puncture
Fifo module > renders staining module.This pipeline operation by the direction along ray trace from point to
Nearly point of puncture (nearest intersect point), by order Zhou Erfu of direct projection > reflection > refraction
Begin until completing.
Include that major cycle MUX module and master are slow with reference to the main routing module in Fig. 8,3D rendering module
Depositing read module, major cycle MUX module is enumerated module, is rendered piercing module and render from rendering
Selecting a module in three modules of staining module, master cache read module is from outside pel
SDRAM input is chosen the primitive data needed for module, and major cycle MUX module then will input
Primitive data exports to this selected module.
Include passing through CAM bank, passing through with reference to the cache module that passes through in Fig. 9,3D rendering module
TAG module and pass through caching RAM module, therein pass through CAM bank and passes through TAG module
Accept and analyze to render to pass through module to rendering crossing pipeline and calculate the request of required KD joint number evidence, continue
And from pass through caching RAM module (if request KD save in this locality, i.e. Cache Hit) or from
Outside KD SDRAM (if the KD of request saves not in this locality, i.e. Cache Miss) input institute
The KD joint number evidence needed.
Module is passed through by passing through routing module and 64 with reference to rendering in Figure 10,3D rendering module
The crossing pipeline module of (* restructural) ray 1: 1 correspondence and pass through floating-point ALU and constitute.From
The KD joint number evidence passing through cache module passes through wearing of routing module selection via passing through routing module input
More pipeline module, calls the KD joint of ray with input and passes through floating-point ALU module and render and wear
More calculate, the KD leaf segment ID of result is exported to passing through FIFO in case exporting and enumerating module to rendering.
With reference to Figure 11, render the routing module that passes through passing through in module and include circulating selected control module and passing through
Caching read module, wherein circulation selected control module in the way of circulating (Round Robin) in turn
The crossing pipeline of 64 (* restructural) rays select a pipeline be connected with passing through cache module,
Pass through caching read module KD joint number evidence needed for passing through cache module input and give crossing pipeline.
With reference to Figure 12, render the crossing pipeline module passed through in module and include passing through block of state, ray
Generation module, pass through control module and pass through datapath module, for performing a ray and one
Pass through (Traverse) of KD joint calculates, and saves bag box (KD Node Bounding including ray with KD
Box) and two facet (Splitting Plane) puncture (Intersect) calculate.Calculating is passed through whole
Individual KD tree all KD joint is until KD leaf segment (KD Leaf Node).Calculating process is by passing through control
Finite state machine (Finite State Machine) in module controls to pass through the fortune in datapath module
Calculate logic to complete.With reference to Figure 12, the datapath module of passing through in all 64 crossing pipelines is total to
Floating-point ALU module is passed through with same.
With reference to Figure 13, in crossing pipeline module pass through datapath module include passing through stack module and
Passing through algoritic module, its nucleus module is to pass through algoritic module, i.e. ray saves bag box (KD with KD
Node Bounding Box) the puncture (Intersect) of two points of space plane (BSP Split Plane)
Calculate.When ray passes through the KD joint of two points of plane both sides simultaneously, on the one hand continue to pass through next stage
KD joint, on the other hand abeyant KD joint is registered in and passes through storehouse FILO module.
With reference to Figure 14, render the floating-point ALU module of passing through passing through in module and include passing through floating-point ALU
Control module and floating-point ALU datapath module, pass through what datapath module sent for acceptance
ALU mode request, is sent suitable control signal by passing through floating-point ALU control module, allows floating-point
ALU datapath module forms required ALU computing formula of passing through and completes to pass through floating-point ALU
Calculate.
64 (* restructurals) are comprised with reference to the fifo module that passes through in Figure 15,3D rendering module
FIFO submodule is passed through for what individual rays passed through calculating.Pass through the input of fifo module from
Module is passed through in rendering of 3D rendering module, is passed through meter by passing through routing module control importing individual rays
That calculates passes through FIFO submodule.
Include enumerating TAG module and enumerating with reference to the cache module of enumerating in Figure 16,3D rendering module
Caching RAM module, the TAG of enumerating module therein accepts and analyzes to render to enumerate module to rendering row
Lifting pipeline and calculate the request of required pel ID data, enumerating from this module caches RAM mould then
Block (if the pel ID of request is in this locality, i.e. Cache Hit) or from outside pel SDRAM (as
Fruit request pel ID not in this locality, i.e. Cache Miss) input needed for pel ID data.
Module is enumerated by enumerating routing module and 64 (* with reference to rendering in Figure 17,3D rendering module
Restructural) ray 1: 1 correspondence enumerate pipeline module composition.From the pel number enumerating cache module
Enumerating of routing module selection is enumerated via enumerating routing module input according to (i.e. KD leaf segment pel ID)
Pipeline module, carries out rendering and enumerates calculating and (i.e. try to achieve all KD in the way of chained list Linked List
Pel ID in leaf segment), the KD leaf segment pel ID of result is exported to enumerating FIFO in case inputting
Render piercing module.
With reference to Figure 18, render the routing module of enumerating enumerating in module and include circulating selected control module and enumerating
Caching read module, circulation selected control module therein is in the way of circulating (Round Robin) in turn
One pipeline of selection in pipeline of enumerating at 64 (* restructural) rays is connected with enumerating caching, by
Enumerate the primitive data caching read module KD leaf segment needed for enumerating cache module input and hand over
Give and enumerate pipeline.
With reference to Figure 19, render the pipeline module of enumerating enumerating in module and include enumerating control module and enumerating
Datapath module, renders for execution and enumerates calculating.Try to achieve the pel ID in all KD leaf segments.
Calculating process is controlled to enumerate by the finite state machine (Finite State Machine) enumerated in control module
Arithmetic logic in datapath module completes.
With reference to Figure 20, the nucleus module foot enumerating the enumerated data path module in pipeline module enumerates calculation
Method module, i.e. primitive data from pel SDRAM try to achieve the pel ID in all KD leaf segments.
64 (* restructurals) are comprised with reference to the fifo module of enumerating in Figure 21,3D rendering module
FIFO submodule is enumerated for what individual rays enumerated calculating.Enumerate the input of fifo module from
Module is enumerated in rendering of 3D rendering module, is enumerated meter by enumerating routing module control importing individual rays
That calculates enumerates FIFO submodule.
Include puncturing TAG module and puncture with reference to the puncture cache module in Figure 22,3D rendering module
Caching RAM module, puncture TAG module therein accepts and analyzes to render piercing module and wear rendering
Thorn pipeline calculates the request of required primitive vertex data, the then caching of the puncture from this module RAM
Module (if the primitive vertex data of request is in this locality, i.e. Cache Hit) or from outside pel
SDRAM (if the primitive vertex data of request is not in this locality, i.e. Cache Miss) input is required
Primitive vertex data.
With reference to Figure 23,3D rendering module renders piercing module by puncturing routing module, 64 (*
Restructural) ray 1: 1 correspondence puncture pipeline module and puncture floating-point ALU module composition.From
The vertex data puncturing cache module punctures wearing of routing module selection via puncturing routing module input
Thorn pipeline module, carries out rendering and punctures and calculate that (i.e. calculating the puncture of ray and pel is middle Hit or not
Middle Miss), the pel ID of result is exported to puncturing FIFO in case input renders with point of puncture coordinate
Staining module.
With reference to Figure 24, render the puncture routing module in piercing module and include circulating selected control module and puncture
Caching read module, circulation selected control module therein is in the way of circulating (Round Robin) in turn
Select a pipeline to be connected with puncturing caching in the puncture pipeline of 64 (* restructural) rays, wear
Thorn caching read module from the primitive data punctured the KD leaf segment needed for cache module inputs and is given
Puncture pipeline.
With reference to Figure 25, render the puncture pipeline module in piercing module and include puncturing control module and puncture
Datapath module, renders puncture for execution and calculates, and calculates ray and the figure in all KD leaf segments
Whether unit punctures successfully and puncture position.Calculating process is by the finite state machine punctured in control module
The arithmetic logic that (Finite State Machine) controls to puncture in datapath module completes.
With reference to Figure 26, puncture pipeline module the nucleus module of punctures datapath module be to puncture calculation
Method module, i.e. whether the puncture of the calculating ray of the primitive vertex data from pel SDRAM and pel
And point of puncture position.
With reference to Figure 27, render the puncture floating-point ALU module in piercing module and include puncturing floating-point ALU
Control module and floating-point ALU datapath module, for accepting what puncture datapath module sent
ALU mode request, is sent suitable control signal by puncturing floating-point ALU control module, allows floating-point
ALU datapath module forms required puncture ALU computing formula and completes to puncture floating-point ALU
Calculate.
64 (* restructurals) are comprised with reference to the puncture fifo module in Figure 28,3D rendering module
The puncture FIFO submodule calculated is punctured for individual rays.Puncture fifo module input from
3D rendering module render piercing module, by puncture routing module control import individual rays puncture meter
The puncture FIFO submodule calculated.
Include colouring TAG module and coloring with reference to the coloring cache module in Figure 29,3D rendering module
Caching RAM module, coloring TAG module therein accepts and analyzes to render staining module to rendering
Colour tube road calculates the request of required pel optical data (i.e. color and material), then from this module
Coloring caching RAM module (if request pel optical data in this locality, i.e. Cache Hit)
Or from outside pel SDRAM (if the pel optical data of request is not in this locality, i.e. Cache
Miss) the pel optical data needed for input.
With reference to Figure 30,3D rendering module renders staining module by colouring routing module, 64 (*
Restructural) ray 1: 1 correspondence coloured pipes module and coloring floating-point ALU module composition.From
The pel optical data of coloring cache module selects via coloring routing module input coloring routing module
Coloured pipes module, carry out rendering coloring and calculate (i.e. calculating the color puncturing pel), by result
Pel color export to display module.
With reference to Figure 31, render the coloring routing module in staining module and include circulating selected control module and coloring
Caching read module, circulation selected control module therein is in the way of circulating (Round Robin) in turn
A pipeline is selected to be connected with coloring caching in the coloured pipes of 64 (* restructural) rays, by
Coloring caching read module from the pel optical data coloured needed for cache module inputs and gives coloring
Pipeline.
With reference to Figure 32, render the coloured pipes module in staining module and include colouring control module and coloring
Datapath module, renders coloring for execution and calculates, and calculating process is by colouring having in control module
The arithmetic logic that limit state machine (Finite State Machine) controls in coloring data path module has come
Become.
With reference to Figure 33, the coloring data path module in coloured pipes module include colouring algorithm module and
Coloring stack module, nucleus module therein is colouring algorithm module, utilizes pel SDRAM through master
The pel optical data of routing module, coloring cache module and coloring routing module input calculates each
The optical effect of the pel in individual tracked ray puncture needl, i.e. calculates light source direct projection, reflects and refraction
Optical color.Calculate Reusability ray trace, calculate the pel hit from each direct projection light source
Start repeatedly to follow the tracks of each reflection hitting a little upper generation and refraction to hitting the optics that pel is caused
Colour effect.
With reference to Figure 34, render the coloring floating-point ALU module in staining module and include colouring floating-point ALU
Control module and floating-point ALU datapath module, for accepting what coloring data path module sent
ALU mode request, is sent suitable control signal by coloring floating-point ALU control module, allows floating-point
ALU datapath module forms required coloring ALU computing formula and completes to colour floating-point ALU
Calculate.
With reference to Figure 35, the floating-point ALU datapath module in coloring floating-point ALU module is 3D wash with watercolours
3 submodules calling ALU of dye module (i.e. render and pass through module, render piercing module, wash with watercolours
Dye staining module) each pipeline module share ALU computing module.Each renders submodule
Each pipeline module of block provides the ALU pattern (ALU needed for indivedual ALU calculating cycles
Mode), individual other floating-point ALU control module (floating-point ALU control module, puncture are i.e. passed through
Floating-point ALU control module, coloring floating-point ALU control module) this ALU pattern is decoded
And send the control signal to floating-point ALU datapath module.Floating-point ALU datapath module bag
Include 3 floating point unit modules and floating-point division module, 3 i.e. floating point unit 0 moulds of floating point unit module
Block, floating point unit 1 module, floating point unit 2 module, individually by the OP code (OP Code) inputted
Control, can perform two 32 IEEE 754 floating numbers addition (+) or subtraction (-) or take advantage of
Method (X).Floating-point division module can only perform the division (÷) of two 32 IEEE 754 floating numbers.
With reference to Figure 36, the floating-point division module in floating-point ALU datapath module is by 3 floating-point lists
Unit's composition, performs the division of two 32 IEEE 754 floating numbers.Its circuit structure and floating-point
The combination of 3 floating point units in ALU datapath module is identical.Its logical structure can by static state
The programming mode of reconstruct determines.
In the outside pel SDRAM of synchronization input in the 3D primitive data of caching, KD SDRAM
Two points of the space KD tree type data of caching and the optical data of initial rendering module via main road by mould
Block, pass through cache module and initial rendering module and enter the core pipeline (Core of 3D rendering module
Pipeline): render and pass through module > and pass through fifo module > and render and enumerate module > and enumerate FIFO
Module > renders piercing module > puncture fifo module > and renders staining module.3D rendering module
Calculating from the beginning of initial rendering module obtains photographic head initial point and picture pixel position, passed through by rendering
The routing module that passes through of module selects a crossing pipeline to circulate (Round Robin) mode in turn
Module is carried out certainly inputting to save into all KD of 3D sight passing through cache module from KD SDRAM
Upper and under repeatedly pass through calculating until hitting a KD leaf segment, and KD leaf segment ID is buffered in
Pass through FIFO.Render enumerate module through enumerate routing module with endless form in turn select one enumerate
Pipeline module, according to from pass through fifo module read KD leaf segment ID through main routing module from outside
Pel SDRAM inputs primitive vertices ID of these KD leaf segments all to be entered to enumerate cache module, then
Primitive vertices ID is buffered in and enumerates fifo module.Render piercing module through puncturing routing module with wheel
Stream endless form selects a puncture pipeline module, according to from enumerating the pel top that fifo module reads
Point ID enters to wear from the outside pel SDRAM input all primitive vertices of KD leaf segment through main routing module
Thorn cache module, then carries out puncturing calculating, the puncture pel ID of minimum distance is buffered in puncture
Fifo module.Render staining module and select a coloring through coloring routing module with endless form in turn
Pipeline module, according to from puncturing the puncture pel ID that fifo module reads, through main routing module from outward
Pel SDRAM input in portion punctures the normal direction of pel and enters to colour cache module with color, then enters
The coloring of row repeatedly calculates, along direct light, reflection light, refraction light ray trace in 3D sight
Path completes the coloring of the picture pixel that a ray hits.Detection one is drawn block by initial rendering module
(Tile) rendered and start 3D rendering module to the next one draw block render.So, week and
Renew having rendered until whole picture.
With reference to Figure 37, display module comprises 4 modules, i.e. shows that state machine module, VGA control
The dash-control module of module, frame and display PCIe control module.Display state machine module controls VGA
Control module, display PCIe control module input and behavior sequential with the data of the dash-control module of frame:
The synchronizing signal of color data Yu USB interface is given the VGA of outside by VGA control module
RAMDAC chip and USB interface, outside 3D rendering result data are given by the dash-control module of frame
The frame buffer SDRAM (framework A) in portion, display PCIe control module is by 3D rendering result data
Give PCIe interface module to be simultaneously supplied to the frame buffer SDRAM (framework B) being cached in outside
Master computer on exterior PC Ie bus slot further processes (such as Intelligent Recognition or the Internet
Communications applications).
Display module inputs pixel color data from 3D rendering module, directly through frame buffer control module
Import and export external frame caching SDRAM (framework A), or through PCIe output module by PCIe interface
Frame buffer SDRAM card (framework B) on module output exterior PC Ie bus slot.
From technique scheme it can be seen that the 3D fpga chip that the present invention provides has following spy
Levy and surmount the fpga chip of asic chip, cpu chip, GPU chip and popular and exist
3D graphics render accelerate application on cost performance:
1), the input of multiple tracks high-speed PCI e serial type data and output (Multiple-Lane High-Speed
PCIe Serial Data Input and Output)
2), multiray panel data pipeline (Multiple-Ray Parallel Data Pipelines
Processing)
3), make full use of data storage cell on sheet, i.e. RAM (Random Access Memory),
Shift register (Shift Register), depositor plate (Register File), with first in first out
(First-In First-Out is called for short FIFO), first-in last-out (First-In Last-Out is called for short FILO)
And caching (Cache) mode carrys out the data exchange between largest optimization pipeline and pipeline.
4), integrated form restructural high-speed floating point computing (add, subtract, the combination in any of multiplication and division) unit.
It can change the combination of floating-point operation by static reconfigurable programming mode, and such reconstruct mode exists
Programming process completes, it is also possible to Dynamic Signal pattern changes the combination of floating-point operation, such reconstruct
The process that mode operates in real time at circuit completes.Coordinating flexibly of two kinds of reconstruct modes makes full use of progress
The high speed gate leve arithmetic speed that Super deep submicron process technology is brought.
5), multiray panel data pipeline (Multiple-Ray Parallel Data Pipelining) logic
The all tasks during 3D renders are completed in the way of sharing FPU Float Point Unit at a high speed, the highest to reach
" speed/chip area " cost performance.
These features all follow, by making full use of, the sub-micro that Moore law constantly improves now
CMOS technology (Ultra-Deep Submicron CMOS Technology) completes 3D graphics wash with watercolours
The task that dye is accelerated.
Particular embodiments described above, is carried out the purpose of the present invention, technical scheme and beneficial effect
Further describe, be it should be understood that the foregoing is only the present invention specific embodiment and
, be not limited to the present invention, all within the spirit and principles in the present invention, that is done any repaiies
Change, equivalent, improvement etc., should be included within the scope of the present invention.