Embodiment
In order to make the object of the invention, technical scheme and advantage clearer,, the present invention is further elaborated below in conjunction with accompanying drawing and embodiment.Should be appreciated that specific embodiment described herein only in order to explanation the present invention, and be not used in qualification the present invention.
Structure according to FPGA programmable interconnection resource; Interconnection line is carried out the rational and effective cutting; Define the appropriate syntax form simultaneously and describe the logical connection structure of the FPGA programmable interconnection after cutting apart; Construct the hierarchy type RC network model of FPGA programmable interconnection, adopt the supporting time series analysis software of researching and developing voluntarily can calculate the time-delay of the inner any paths of whole FPGA at last.
Fig. 1 shows the flow process of the method for the FPGA programmable interconnection delay Analysis that the embodiment of the invention provides, and details are as follows:
In step S101, extract the basic delay unit in the FPGA programmable interconnection, and set up the equivalent RC model of every kind of basic delay unit.
In the interconnection line resource of FPGA, basic delay unit can be divided into three kinds: a, switch MUX MUX, can control the gating paths through collocation point; B, phase inverter can be used to change phase place and increase subordinate's driving; C, line connect each unit component.
For the delay model of switch MUX MUX, in the interconnection line resource of FPGA, switch MUX MUX is the switch as the gating paths of collocation point control, and is as shown in Figure 2.And switch MUX MUX generally is made up of 2 grades of transistor switches, and transistor as shown in Figure 3 (NMOS or PMOS) is controlled whether conducting of interconnection line as the switch of collocation point gating.So, at first need set up delay model to single metal-oxide-semiconductor.
(1) in transistorized delay model, we adopt the modeling of typical ∏ type RC network, and this model has been proved to be it and has had very good effect.The RC model of NMOS pipe is as shown in Figure 4, resistance and electric capacity when R, C represent transistorized conducting respectively.
On this basis, we can describe the time-delay mould MUX type of switch MUX with the delay model of 2 grades of metal-oxide-semiconductors.The sub-size of different metal-oxide-semiconductors just has different model, and a switch MUX MUX the inside has 2 kinds of sized tube again, so can obtain the switch MUX MUX delay model of many kinds.For the ease of using, can the delay model of various different switch MUX MUX be put together with the form of cell library, put down in writing as follows:
MUX_NAME?:mux_1
resistance1?R1
resistance2?R2
capacitance1 C1
capacitance2 C2
The explanation of key word and grammer is as follows in the form:
The title of MUX represented in l MUX_NAME key word, and this can distinguish dissimilar MUX according to the size of metal-oxide-semiconductor among the MUX, and mux_1 representes the name of a MUX thereafter, separated by ": " in the middle of both.
L resistance1 and resistance2 represent the first order of this MUX and the equivalent RC resistance of second level metal-oxide-semiconductor, and R1 and R2 represent resistance value, separate with the space between the two; Capacitance1 and capacitance2 represent the first order of this MUX and the equivalent RC electric capacity of second level metal-oxide-semiconductor, and C1 and C2 represent capacitance, separate with the space between the two.
Like this, when utilizing analysis software to analyze the time-delay of certain paths, under the situation of the known MUX type of using, just can the call unit storehouse inside the resistance, the parameter of electric capacity of corresponding equivalent electrical circuit.
(2) the RC delay model of phase inverter is as shown in Figure 5.For the ease of using, be described below with software code:
INV_NAME?:inv_1
resistance?R
capacitance C
The explanation of key word and grammer is as follows in the form:
The type of phase inverter represented in l INV_NAME key word, can distinguish according to the size of metal-oxide-semiconductor in the phase inverter, and inv_1 is the name of the phase inverter of reality, separates with ": " in the middle of both.
L resistance representes the equivalent RC resistance of phase inverter, and R representes resistance value; Capacitance representes the RC equivalent capacity of phase inverter, and C representes capacitance.
(3) the RC delay model of lead is as shown in Figure 6.
In the ICR interconnect resource of FPGA, lead is used for connecting each several part configurable switch resource and programmed logical module.Generally in small-scale circuit, the time-delay of lead is negligible, but inner at the FPGA of high integration, this part time-delay can not be ignored.Therefore, we also can adopt the RC model of unit length (0.1um) to describe the time-delay of lead.Simple point can adopt lump RC model, but result of study shows that the degree of accuracy of this model is not high, so we adopt improved distributed RC model T3 pattern type, and is as shown in Figure 6.For the ease of using, be described below with software code:
LINE_NAME?:cs_line_1
Resistance R
capacitance C
The explanation of key word and grammer is as follows in the form:
The type of line represented in l LINE_NAME key word, can divide different line models according to different types of cabling in the actual domain, and cs_line_1 representes the name of line, separates with ": " in the middle of both.
L resistance representes the equivalent RC resistance of line, and R representes resistance value; Capacitance representes the RC equivalent capacity of line, and C representes capacitance.
In step S102, divide the able to programme basic interconnecting unit that is comprised among the FPGA, and analyze the included basic delay unit of each basic interconnecting unit able to programme and the annexation of each basic delay unit.
In the main description FPGA interconnection line resource, basic configuration point, input and output, functional configuration information, coordinate information, the annexation each other of MUX in each basic interconnecting unit.
Because FPGA inside all is the unit of many repeatabilities, as CLB, IOB etc., therefore just can be in to the interconnection line piece modeling of their peripheries based on these basic unit.The interconnection line piece of every type of basic logic unit correspondence can be used as an elementary cell of interconnection line and describes; When describing these interconnected elementary cells; Need to describe the input and output of the inner MUX of these interconnecting units, the functional description of collocation point correspondence and the output of MUX and be connected to the next stage input end through those phase inverters, we can define similarly some syntax formats:
CELL INC_CLB
// input and output of selecting 1 selector switch for one 8 are described
MUX_1?(A1,A2,A3,A4,A5,A6,A7,A8?—>?Z1)
……………..
……………..
The functional description of // corresponding collocation point
if(cfg_1=8’b00000001;cfg_2=4’b0001)?Z1=A1;
if(cfg_1=8’b00000010;cfg_2=4’b0010)?Z1=A2;
if(cfg_1=8’b00000100;cfg_2=4’b0100)?Z1=A3;
if(cfg_1=8’b00001000;cfg_2=4’b1000)?Z1=A4;
if(cfg_1=8’b00010000;cfg_2=4’b0001)?Z1=A5;
if(cfg_1=8’b00100000;cfg_2=4’b0010)?Z1=A6;
if(cfg_1=8’b01000000;cfg_2=4’b0100)?Z1=A7;
if(cfg_1=8’b10000000;cfg_2=4’b1000)?Z1=A8;
…………….
……………..
INV_1 INV_2?(Z1);
…………….
……………..
The explanation of key word and grammer is as follows in the form:
L CELL key word, the title of indication interconnection line elementary cell, INC_CLB is exactly the name of unit, separates with the space between the two;
L MUX_1 (A1, A2, A3, A4, A5, A6, A7, A8-> Z1) represent the kind of a MUX and the description of input and output thereof.MUX_1 representes the type of this MUX, a kind of MUX delay model among its corresponding step S101, and A1 representes the input of MUX to A8, middlely separates with ", "; Z1 representes output, input with export between separate with "-> ".
L if (cfg_1=8 ' b00000001; Cfg_2=4 ' b0001) Z1=A1; Represent the functional description that is input to output that each collocation point is corresponding.With the if beginning, the value of first order metal-oxide-semiconductor switch among the value representation MUX of cfg_1 in the bracket, cfg_2 representes the value of second level metal-oxide-semiconductor switch, and the value of corresponding position is 1 expression switch conduction, and 0 expression switch cuts out.
L INV_1 INV_2 (Z1); The output Z1 of expression MUX outputs to next stage through two-stage phase inverter INV_1 and INV_2.Here the progression of phase inverter can be arbitrarily, the delay model of said phase inverter among the corresponding step S101 of phase inverter INV_1 and phase inverter INV_2.
The description of some syntax formats through top definition, we can know the load that through which collocation point of MUX can arrive output and output terminal in the inner input of an interconnecting unit.
In step S103, analyze the annexation of each basic interconnecting unit able to programme in the fpga chip.
On the basis of above these interconnecting units, we can build the Interconnect Delay network of whole fpga chip through the description to coordinates logo, line kind and the annexation thereof of these unit.
In step S104; According to selected path; Analyze the included able to programme basic interconnecting unit in this path; According to the annexation of the included basic delay unit of basic interconnecting unit able to programme annexation, each basic interconnecting unit able to programme each other, each basic delay unit and the time-delay of the basic pairing RC model of delay unit, calculate total time-delay in this path.
After placement-and-routing, just can utilize the Interconnect Delay network of structure to calculate all path delay.When choosing the path, we are with the phase inverter of the large-size separated point as two paths, and in the time-delay in the path before calculating phase inverter, it is just passable just only need to be used as its load to this phase inverter; And in the time-delay in the path after calculating phase inverter, the prime driving that just need be used as it to this phase inverter just.In addition, in the influence of calculating the next door branch road, the effective capacitance that only needs to consider this branch road gets final product.Like this, in the path that all split, can set up a tree-like time delay network of RC, calculate the time-delay of every paths then through the Elmore time-delay method according to the model of the basic delay unit that extracts among the step S101.
After the time-delay that calculates all paths, the time-delay of every paths is kept on the node of this Trail termination, be convenient to software and in follow-up time series analysis process, delay analysis fast carried out in a certain or some paths and calculated.
For the ease of understanding, we carry out detailed explanation to the XC2V1000 chip of Virtex-II series to the interconnection line RC network time-delay modeling process of its inside, specifically see also figure
The XC2V1000 chip internal has MUX unit in 8, inverter module in 4, and line unit kind in 6 is extracted the RC parameter of their corresponding RC delay models respectively to these unit.
(1) modeling of programmable interconnect spider lines is described
Extract all interconnection line unit kinds of XC2V1000 chip internal, elementary cells such as INC_CLB, INC_IOL, INC_IOB, INC_BRAM, INC_MUL, INC_DMI are arranged, these all interconnection line unit are described.Then, with the form of coordinate, whole interconnection line time delay network is described based on these basic interconnection line unit.
(2) calculating path time-delay
According to the result after the placement-and-routing, take out the RC tree network of every paths, just can calculate the time-delay of any paths.Utilize the time-delay of Elmore time-delay formula calculating path, be kept on the node of Trail termination source, be convenient to follow-up time series analysis and use calculating resulting time-delay.In time series analysis, can add up the time-delay of each paths on the path of concrete certain bar analysis and multiply by a scale-up factor K (generally getting 0.69), just can obtain a path delay more accurately.
Below be this method result of calculation and SPICE emulation comparative result.
N TYPE |
The model calculation result of patent of the present invention |
The operation result that adopts the SPICE emulator to obtain |
Two kinds of results' deviation ratio |
2 |
326.8ps |
273.2 ps |
19.6% |
3 |
468.2 ps |
403.6 ps |
16.0% |
4 |
616.2 ps |
540.9ps |
13.9% |
5 |
757.8 ps |
673.1 ps |
12.6% |
Explain: under the technology of 0.15um, N representes the number of MUX MUX, and unit is ps.
Adopt this method; Compare through Theoretical Calculation and SPICE simulation result, the result finds that this method delay time error can be controlled in certain scope; And with respect to the SPICE simulation velocity sooner, more effective, can be applicable to the delay Analysis of any a FPGA programmable interconnection.
The above is merely preferred embodiment of the present invention, not in order to restriction the present invention, all any modifications of within spirit of the present invention and principle, being done, is equal to and replaces and improvement etc., all should be included within protection scope of the present invention.