Dynamic routing method
By splitting and processing the nets in the local dynamic reconfiguration of the programmable logic device chip and using boundary and extension modules for routing, the problem of net processing across the dynamic area boundary is solved and resource utilization is improved.
Patent Information
- Application Number
- CN202111138188.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-27
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2041-09-27
AI Technical Summary
The existing technology fails to effectively handle the nets that cross the dynamic region boundary in the local dynamic reconfiguration of the programmable logic device chip.
By splitting the nets that cross the dynamic area and the static area in the local dynamic reconfiguration of the programmable logic device chip, the boundary module and the extension module are used to process the net wiring in the boundary area and the extension area respectively, the boundary point information is saved, and the wiring resource occupancy is recorded to realize the processing of the nets that cross the dynamic area boundary.
The problem of boundary point selection and solution path search in local dynamic reconfiguration of programmable logic device chips is solved, the effective processing of nets crossing the boundaries of dynamic regions is realized, and resource utilization is improved.
Smart Images

Figure CN113919269B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the chip technical field, and relates to a layout technology of a programmable logic device chip integrated circuit software tool, in particular to a partial dynamic reconfiguration wiring method. BACKGROUND
[0002] The reconfiguration of the programmable logic device chip is divided into global reconfiguration and partial reconfiguration.
[0003] The global reconfiguration is to configure the whole bit file into the programmable logic device chip.
[0004] The partial reconfiguration technology is to dynamically reconfigure the logic in the reconfiguration area while allowing the fixed logic in the programmable logic device chip to operate normally. The dynamic partial reconfiguration (DPR) can realize time-sharing multiplexing of the hardware resources inside the programmable logic device chip, thereby improving the resource utilization rate.
[0005] The partial dynamic reconfiguration technology is to cross the connection net of the dynamic area and the static area from the boundary point in one dynamic area to the area boundary, and to complete the wiring operation inside the dynamic area by taking the boundary point as the starting point or the ending point in the subsequent reconfiguration process. In the partial dynamic reconfiguration wiring process, two types of nets can be obtained: the net that does not cross the dynamic area boundary and the net that crosses the dynamic area boundary, as shown in Figure 1 、 Figure 2 .
[0006] There is no method for processing the above-mentioned net that crosses the dynamic area boundary in the prior art. SUMMARY
[0007] The technical problem to be solved by the present application is to provide a partial dynamic reconfiguration wiring method for processing the net that crosses the dynamic area boundary in the reconfiguration of the programmable logic device, and to solve the problems of boundary point selection and path search in the partial dynamic reconfiguration of the programmable logic device chip. The specific technical scheme is as follows.
[0008] The technical solution of the present application is as follows.
[0009] A partial dynamic reconfiguration wiring method comprises the following steps.
[0010] Splitting the net that crosses the dynamic area and the static area in the partial dynamic reconfiguration of the programmable logic device chip, wherein the net is the connection relationship between the ports in the user design;
[0011] Wiring the net of the boundary area, determining the area boundary point, wherein the boundary area is the area where the driver is located, the driver is the port from which the signal is sent, and the boundary point is the junction of the dynamic area and the static area and is located on the dynamic area side.
[0012] Save boundary point information;
[0013] Routing the nets in the extended area, i.e., routing the nets from the boundary points to the loads in the extended area, where the extended area is the area without drivers and the loads are ports that receive signals;
[0014] Create wiring results.
[0015] Furthermore, the step of saving the boundary point information includes:
[0016] Save the area where the boundary point is located;
[0017] Save the port corresponding to the boundary point;
[0018] Save the coordinates of the boundary points.
[0019] Furthermore, the step of establishing the wiring result includes: recording the wiring resources in the dynamic area occupied by the nets in the static area; the recorded data includes: the type of the occupied resources and the coordinates of the occupied resources.
[0020] Furthermore, the nets of the boundary areas are wired by a boundary module, wherein the boundary module includes:
[0021] The converter is used to convert the net data format of the boundary module into the format required by the expander, and after the converter outputs the solution path, it converts the converted net data format back to the original format and records the boundary points;
[0022] Expander, used for searching solution paths and boundary points;
[0023] Specifically, the boundary module workflow includes:
[0024] Convert the original format of the boundary area net data into the format required by the boundary module;
[0025] Input the converted net data into the expander to search for the boundary points of the net;
[0026] Save the searched boundary point information data;
[0027] The data format of the net in the boundary area and the boundary point information data of the net are converted into the initial data format of the boundary area.
[0028] Furthermore, in the steps, the boundary point search of the net is performed by a path solution method, including:
[0029] For a net whose driver is in the static region, the expander searches for a solution path from the driver to the boundary of the dynamic region until a coordinate point in the dynamic region is found. The coordinate point in the dynamic region is the boundary point of the net.
[0030] For a net whose driver is in the dynamic region, the expander searches for a solution path from the driver to the boundary of the static region until a coordinate point in the static region is found. The last coordinate point in the dynamic region found is the boundary point of the net.
[0031] The beneficial effects of the present invention are:
[0032] The wiring method for local dynamic reconfiguration provided by the present invention splits the existing nets that cross the dynamic area and the static area, first wiring the nets in the boundary area through the program of the boundary module, saving the boundary point information obtained from the solution path, and then wiring the nets in the extension area through the program in the extension module. This solves the problems of boundary point selection and solution path search in the local dynamic reconfiguration of the programmable logic device chip, and realizes the processing of the nets that cross the dynamic area boundary in the reconfiguration of the programmable logic device. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for describing the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0034] Figure 1 It is a net graph that does not cross the dynamic region boundary in the local dynamic reconfiguration routing;
[0035] Figure 2 It is the net graph that crosses the dynamic region boundary in the local dynamic reconfiguration routing;
[0036] Figure 3 This is a flowchart for processing nets that cross dynamic region boundaries in local dynamic reconfiguration;
[0037] Figure 4 This is a boundary module workflow diagram for a net that crosses the boundary of a dynamic region in local dynamic reconfiguration routing;
[0038] Figure 5 This is the workflow diagram of the extended module of the net that crosses the dynamic region boundary in the local dynamic reconfiguration wiring DETAILED DESCRIPTION
[0039] A chip layout method according to an embodiment of the present invention is described in detail below with reference to the accompanying drawings.
[0040] It should be understood that the embodiments described are only a portion of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without creative work are within the scope of protection of the present invention.
[0041] An embodiment of the present invention provides a wiring method for local dynamic reconfiguration, the specific solution of which is as follows:
[0042] Figure 3 This is a flowchart of processing the net across the dynamic region boundary in local dynamic reconfiguration, such as Figure 3 As shown, this embodiment provides a local dynamic reconfiguration wiring method, the specific scheme is as follows:
[0043] Splitting the net across the dynamic region and the static region in the local dynamic reconfiguration of the programmable logic device chip, wherein the net is the connection relationship between the ports in the user design;
[0044] Routing the nets in the boundary area to determine the boundary point of the area. The boundary area is the area where the driver is located. The driver is the port where the signal is sent. The boundary point is the junction of the dynamic area and the static area and is located on the dynamic area side.
[0045] When the signal is input from the static region to the dynamic region, the boundary point will be selected as the input node at the edge of the dynamic region. When the signal is output from the dynamic region to the static region, the boundary point will be selected as the output node at the edge of the dynamic region.
[0046] The net wiring of the boundary area is carried out through the boundary module, and the boundary module includes:
[0047] The converter is used to convert the net data format of the boundary module into the format required by the expander, and after the converter outputs the solution path, it converts the converted net data format back to the original format and records the boundary points;
[0048] Expander, used for searching solution paths and boundary points;
[0049] Specifically, the boundary module workflow is as follows: Figure 4 Shown, including:
[0050] Convert the original format of the boundary area net data into the format required by the boundary module;
[0051] The converted net data is input into the extender to search for the boundary point of the net, and for the net whose signal is input from the static area to the dynamic area, i.e. the connection of the driver in the static area, the extender searches for the solution path from the driver to the boundary of the dynamic area, i.e. the static part of the connection relationship, and stops searching when the coordinate point in the dynamic area is searched for the first time, which is the boundary point of the net and also the input node of the edge of the dynamic area;
[0052] For the connection whose signal is output from the dynamic area to the static area, i.e. the net of the driver in the dynamic area, the extender searches for the solution path from the driver to the boundary of the static area, i.e. the dynamic part of the connection relationship, and stops searching when the coordinate point in the static area is searched for the first time, and the finally searched coordinate point in the dynamic area is the boundary point of the net.
[0053] The searched boundary point information data is saved;
[0054] The data format of the net in the boundary area and the boundary point information data of the net are converted into the initial data format of the boundary area.
[0055] Optionally, the step 1.2 of searching for the boundary point of the net is searched by the solution path method, comprising:
[0056] For the net of the driver in the static area, the extender searches for the solution path from the driver to the boundary of the dynamic area until the coordinate point in the dynamic area is searched, which is the boundary point of the net;
[0057] For the net of the driver in the dynamic area, the extender searches for the solution path from the driver to the boundary of the static area until the coordinate point in the static area is searched, and the finally searched coordinate point in the dynamic area is the boundary point of the net.
[0058] The boundary point information is saved, and the information of the boundary point needs to correspond to the port and the area, and can also be matched with the new connection relationship in the reconfiguration process, therefore, the saving of the boundary point information mainly saves the following data information:
[0059] The area where the boundary point is located is saved;
[0060] The port corresponding to the boundary point is saved;
[0061] The coordinate of the boundary point is saved.
[0062] Routing the nets in the extended area, i.e., routing the nets from the boundary points to the loads in the extended area, where the extended area is the area without drivers and the loads are ports that receive signals;
[0063] The extension module processes the connection relationship from the boundary point to the load after the split. Unlike the boundary module, this module does not require a converter because the original data format of the net is still applicable in this module. You only need to input the connection relationship from the boundary point to the load after the boundary module is split into this module. The workflow of this module is as follows Figure 5 As shown, since the function of the extension module is to search for the solution path for the split net, it is a kind of general functional module, so it will not be described in detail here.
[0064] Create wiring results;
[0065] If the driver and load of a net are both located in the static region, the connection of the net will not be affected by the reconfiguration process. Such a net can use routing resources in the dynamic region, and these used routing resources cannot reload the configuration point information during the reconfiguration process;
[0066] Therefore, the present invention incorporates a feature for recording static paths within the dynamic region when creating routing results. This feature records routing resources within the dynamic region occupied by static connections, ensuring that these routing resources are not used by nets during the reconfiguration process, thereby ensuring bitstream accuracy. The data recorded when saving these resources includes the type and coordinates of the occupied resource.
[0067] The above content is a further detailed description of the present invention in conjunction with specific embodiments, and the specific implementation of the present invention cannot be considered to be limited to these descriptions. For those skilled in the art of the present invention, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be considered as the scope of protection of the present invention.
Claims
1. A local dynamic reconfiguration wiring method, characterized in that: include: Splitting the net across the dynamic region and the static region in the local dynamic reconfiguration of the programmable logic device chip, wherein the net is the connection relationship between the ports in the user design; Routing the nets in the boundary area to determine the boundary point of the area. The boundary area is the area where the driver is located. The driver is the port where the signal is sent. The boundary point is the junction of the dynamic area and the static area and is located on the dynamic area side. Save boundary point information; Routing the nets in the extended area, i.e., routing the nets from the boundary points to the loads in the extended area, where the extended area is the area without drivers and the loads are ports that receive signals; Create wiring results; The nets of the boundary areas are wired by a boundary module, and the boundary module includes: The converter is used to convert the net data format of the boundary module into the format required by the expander, and after the converter outputs the solution path, it converts the converted net data format back to the original format and records the boundary points; Expander, used for searching solution paths and boundary points; The boundary module workflow includes: Convert the original format of the boundary area net data into the format required by the boundary module; Input the converted net data into the expander to search for the boundary points of the net; Save the searched boundary point information data; The data format of the net in the boundary area and the boundary point information data of the net are converted into the initial data format of the boundary area.
2. A local dynamic reconfiguration wiring method according to claim 1, characterized in that: The step of storing boundary point information includes: Save the area where the boundary point is located; Save the port corresponding to the boundary point; Save the coordinates of the boundary points.
3. The wiring method of local dynamic reconfiguration according to claim 1, characterized in that: The step of establishing the wiring result includes: recording the wiring resources in the dynamic area occupied by the net in the static area; the recorded data includes: the type of occupied resources and the coordinates of the occupied resources.
4. The wiring method of local dynamic reconfiguration according to claim 1, characterized in that: In the step of inputting the format-converted net data into the expander to perform boundary point search of the net, the boundary point search of the net is performed by a path solution method, including: For a net whose driver is in the static region, the expander searches for a solution path from the driver to the boundary of the dynamic region until a coordinate point in the dynamic region is found. The coordinate point in the dynamic region is the boundary point of the net. For a net whose driver is in the dynamic region, the expander searches for a solution path from the driver to the boundary of the static region until a coordinate point in the static region is found. The last coordinate point in the dynamic region found is the boundary point of the net.
Citation Information
Patent Citations
Hierarchical partial reconfiguration for programmable integrated circuits
CN112437925A