-
1.
公开(公告)号:US20230359801A1
公开(公告)日:2023-11-09
申请号:US17662037
申请日:2022-05-04
Applicant: Xilinx, Inc.
Inventor: Sreesan Venkatakrishnan , Nitin Deshmukh , Satish B. Sivaswamy
IPC: G06F30/394 , G06F30/398
CPC classification number: G06F30/394 , G06F30/398 , G06F2111/04
Abstract: Routing a circuit design includes generating a graph of the circuit design where each connected component is represented as a vertex, generating a routing solution for the circuit design by routing packet-switched nets so that the packet-switched nets of a same connected component do not overlap, and, for each routing resource that is shared by packet-switched nets of different connected components, indicating the shared routing resource on the graph by adding an edge. Cycle detection may be performed on the graph. For each cycle detected on the graph, the cycle may be broken by deleting the edge from the graph and ripping-up a portion of the routing solution corresponding to the deleted edge. The circuit design, or portion thereof, for which the routing solution was ripped up may be re-routed using an increased cost for a shared routing resource freed from the ripping-up.
-
公开(公告)号:US20230185548A1
公开(公告)日:2023-06-15
申请号:US17643622
申请日:2021-12-10
Applicant: Xilinx, Inc.
Inventor: Brian Guttag , Satish B. Sivaswamy , Nitin Deshmukh
IPC: G06F8/41
CPC classification number: G06F8/433
Abstract: Implementing an application can include generating, from the application, a compact data flow graph (DFG) including load nodes, inserting, in the compact DFG, a plurality of virtual buffer nodes (VBNs) for each of a plurality of buffers of a data processing engine (DPE) array to be allocated to nets of the application, and, forming groups of one or more load nodes of the compact DFG based on shared buffer requirements of the loads on a per net basis. Virtual driver nodes (VDNs) that map to drivers of nets can be added to the compact DFG, where each group of the compact DFG is driven by a dedicated VDN. Connections between VDNs and load nodes through selected ones of the VBNs are created according to a plurality of constraints. The plurality of buffers are allocated to the nets based on the compact DFG as connected.
-
公开(公告)号:US11604751B1
公开(公告)日:2023-03-14
申请号:US17316584
申请日:2021-05-10
Applicant: XILINX, INC.
Inventor: Brian Guttag , Nitin Deshmukh , Sreesan Venkatakrishnan , Satish Sivaswamy
IPC: G06F13/40
Abstract: Embodiments herein describe techniques for preventing a stall when transmitting data between a producer and a consumer in the same integrated circuit (IC). A stall can occur when there is a split point and a convergence point between the producer and consumer. To prevent the stall, the embodiments herein adjust the latencies of one of the paths (or both paths) such that a maximum latency of the shorter path is greater than, or equal to, the minimum latency of the longer path. When this condition is met, this means the shortest path has sufficient buffers (e.g., a sufficient number of FIFOs and registers) to queue/store packets along its length so that a packet can travel along the longer path and reach the convergence point before the buffers in the shortest path are completely full (or just become completely full).
-
公开(公告)号:US11875100B1
公开(公告)日:2024-01-16
申请号:US17339232
申请日:2021-06-04
Applicant: XILINX, INC.
Inventor: Satish Sivaswamy , Ashot Shakhkyan , Nitin Deshmukh , Garik Mkrtchyan , Guenter Stenz , Bhasker Pinninti
IPC: G06F30/3947 , G06F9/355 , G06F9/50 , G06F30/347
CPC classification number: G06F30/3947 , G06F9/3555 , G06F9/5061 , G06F30/347
Abstract: Examples described herein provide a non-transitory computer-readable medium storing instructions, which when executed on one or more processors, cause the one or more processors to perform operations. The operations include generating a plurality of child processes according to a number of a plurality of partitions in an integrated circuit (IC) design for an IC die, each of the plurality of child processes corresponding to and assigned to a respective one of the plurality of partitions. The operations include transmitting each of the plurality of partitions to a respective one of the plurality of child processes for routing, each of the plurality of partitions comprising a placement of components for the IC design. The operations include receiving a plurality of routings from the plurality of child processes. The operations include merging the plurality of routings into a global routing for the IC design by assembling together to form a global routing.
-
公开(公告)号:US11238206B1
公开(公告)日:2022-02-01
申请号:US17213474
申请日:2021-03-26
Applicant: Xilinx, Inc.
Inventor: Satish B. Sivaswamy , Nitin Deshmukh , Garik Mkrtchyan , Grigor S. Gasparyan
IPC: G06F30/392 , G06F30/3312 , G06F30/327 , G06F30/373 , G06F30/3953 , G06F30/3947 , G06F30/398
Abstract: Performing partition wire assignment for routing a multi-partition circuit design can include performing, using computer hardware, a global assignment phase by clustering a plurality of super-long lines (SLLs) into a plurality of SLL bins, clustering loads of nets of a circuit design into a plurality of load clusters, and assigning the plurality of SLL bins to the plurality of load clusters. For each SLL bin, a detailed assignment phase can be performed wherein each net having a load cluster assigned to the SLL bin is assigned one or more particular SLLs of the SLL bin using the computer hardware.
-
公开(公告)号:US11733980B2
公开(公告)日:2023-08-22
申请号:US17643622
申请日:2021-12-10
Applicant: Xilinx, Inc.
Inventor: Brian Guttag , Satish B. Sivaswamy , Nitin Deshmukh
CPC classification number: G06F8/433
Abstract: Implementing an application can include generating, from the application, a compact data flow graph (DFG) including load nodes, inserting, in the compact DFG, a plurality of virtual buffer nodes (VBNs) for each of a plurality of buffers of a data processing engine (DPE) array to be allocated to nets of the application, and, forming groups of one or more load nodes of the compact DFG based on shared buffer requirements of the loads on a per net basis. Virtual driver nodes (VDNs) that map to drivers of nets can be added to the compact DFG, where each group of the compact DFG is driven by a dedicated VDN. Connections between VDNs and load nodes through selected ones of the VBNs are created according to a plurality of constraints. The plurality of buffers are allocated to the nets based on the compact DFG as connected.
-
-
-
-
-