Natural language editing of a network-on-chip design

A generative AI model aids in NoC design editing via natural language prompts, addressing the complexity of designing NoCs by enabling efficient and rapid design modifications through an API and agent implementation.

WO2026107271A1PCT designated stage Publication Date: 2026-05-21ARTERIS INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ARTERIS INC
Filing Date
2025-11-13
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Designing a network-on-chip (NoC) that meets constraints such as minimum logic and wire usage is difficult and time-consuming, often requiring frequent redesigns due to modifications in floorplans or performance expectations.

Method used

Utilizing a generative artificial intelligence model to generate code for NoC design through natural language prompts, enabling editing of NoC designs with an application programming interface (API) and an agent that receives and executes code to implement user-specified modifications.

Benefits of technology

Facilitates efficient and rapid NoC design editing, allowing novice designers to create high-quality designs quickly, reducing time to market and optimizing resource usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025055441_21052026_PF_FP_ABST
    Figure US2025055441_21052026_PF_FP_ABST
Patent Text Reader

Abstract

A product includes non-transitory computer readable medium for storing software that, when executed, causes a computer system to run an agent. The agent generates prompts for a generative artificial intelligence (AI) model that performs code generation. The prompts generated by the agent include a network-on-chip (NoC) design; a description of an application programming interface (API) of a NoC design tool; and an input specifying at least one natural language instruction to be performed on the NoC design. The agent is configured to receive code generated by the AI model in response to the prompts, and enable the code to be used to edit the NoC design specified in the input. Thus, the agent enables the use of natural language to edit the NoC design.
Need to check novelty before this filing date? Find Prior Art

Description

Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD TITLE

[0001] NATURAL LANGUAGE EDITING OF A NETWORK-ON-CHIP DESIGNCROSS REFERENCE TO RELATED APPLICATION

[0002] This application claims the benefit under 35 U.S.C. 119(e) of US Provisional Application Serial No. 63 / 721,425 filed on November 15, 2024 and titled SYSTEM AND METHOD FOR NETWORK ON CHIP (NOC) USING AUTOMATION DESIGN TOOL by Amir Charif et al., the entire disclosure of which is incorporated herein by reference. FIELD

[0003] The present technology is in the field of electronic computer-aided design of electronic systems and, more specifically, related to topology generation for a network-on-chip.BACKGROUND

[0004] A system-on-chip (SoC) may include initiators, targets, and a network-on-chip (NoC) for handling communications between the initiators and the targets. A NoC is superior to point-to-point connectivity by way of a more scalable communication architecture that makes use of packet transmissions. It can support an ever-increasing number of cores on a single chip and a demand for ever-increasing processing power related to artificial intelligence (Al) and other applications.

[0005] During design of an SoC, an SoC architect designs a specification that includes a floorplan, power strategy, and constraints related to the SoC’s environment. The floorplan defines areas on the SoC for major functional blocks, including initiators and targets, and it defines free space that will be used for a NoC. The specification defines additional constraints on the NoC.

[0006] During design of a NoC, a NoC topology is generated within the free space defined by the floorplan. Generating the NoC topology involves placing and legalizing standard cells, and making wire connections between the NoC elements.

[0007] It is difficult and time consuming to design a NoC that fulfills these constraints with a minimum amount of logic and wires. Moreover, the NoC may be redesigned frequently over the design time of the SoC. For instance, a modification to the floorplan or a modification of expected performance can force a redesign.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD SUMMARY

[0008] In accordance with various embodiments and aspects herein, a product includes non-transitory computer readable medium for storing software that, when executed, causes a computer system to run an agent. The agent generates prompts for a generative artificial intelligence (Al) model that performs code generation. The prompts generated by the agent include a network-on-chip (NoC) design; a description of an application programming interface (API) of a NoC design tool; and an input specifying at least one natural language instruction to be performed on the NoC design. The agent is configured to receive code generated by the Al model in response to the prompts, and enable the code to be used to edit the NoC design as specified in the input. Thus, the agent enables the use of natural language to edit the NoC design.

[0009] In accordance with various embodiments and aspects herein, a computer-implemented method for editing a network-on-chip (NoC) design with a NoC design tool includes generating a prompt for a generative artificial intelligence (Al) model that performs code generation. The prompt includes a NoC design; a description of an application programming interface (API) of the NoC design tool; and a user input specifying a natural language modification to the NoC design. The API has functions for NoC design editing. The method further includes receiving code from the generative Al model in response to the prompt; and executing the code in the NoC design tool to edit the NoC design as specified in the user input. Thus, natural language is used to edit the NoC design.

[0010] In accordance with various embodiments and aspects herein, a computing system includes a processing unit, and computer-readable memory. The computer-readable memory is programmed with a network-on-chip (NoC) design tool configured with an application programming interface (API) having functions for NoC design editing. The computer-readable memory is further programmed with an agent configured to generate and send prompts to a generative Al model that performs code generation. The prompts include a description of a NoC design, a description of how to use the API, a user input specifying one or more natural language modifications to the NoC design, and a request for the generative Al model to generate a script that uses the API to edit the NoC design as specified in the user input. The agent is further configured to provide the script to the NoC design tool; and the NoC design tool is configured to execute the script to modify the NoC design.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD BRIEF DESCRIPTION OF THE DRAWINGS

[0011] In order to understand the invention more fully, a reference is made to the accompanying drawings. The invention is described in accordance with the aspects and embodiments in the following description with reference to the drawings or figures (FIG.), in which like numbers represent the same or similar elements. Understanding that these drawings are not to be considered limitations in the scope of the invention, the presently described aspects and embodiments and the presently understood best mode of the invention are described with additional detail through the use of the accompanying drawings.

[0012] FIG. 1 shows an example of an electronic system including a NoC.

[0013] FIG. 2 shows a method of generating a hardware description of a NoC in accordance with various aspects and embodiments herein.

[0014] FIG. 3 shows a system including a NoC design tool and an agent in accordance with various aspects and embodiments herein.

[0015] FIG. 4 shows a method performed by a system in accordance with various aspects and embodiments herein.

[0016] FIG. 5 shows an example of a script that is generated by an LLM in accordance with various aspects and embodiments herein.

[0017] FIG. 6 shows a method performed by a system in accordance with various aspects and embodiments herein.

[0018] FIG. 7 shows a computing system including computer-readable memory that stores a NoC design tool and an agent in accordance with various aspects and embodiments herein.

[0019] FIG. 8 shows a hierarchy of sub-agents in accordance with various aspects and embodiments herein.DETAILED DESCRIPTION

[0020] The following describes various examples of the present technology. Generally, examples can use the described aspects in any combination. All statements herein reciting principles, aspects, and embodiments as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents andAttorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.

[0021] It is noted that, as used herein, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Reference throughout this specification to “one embodiment,” “an embodiment,” “certain embodiment,” “various embodiments,” or similar language means that a particular aspect, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment.

[0022] Thus, appearances of the phrases “in one embodiment,” “in at least one embodiment,” “in an embodiment,” "in certain embodiments," and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment or similar embodiments. Furthermore, aspects and embodiments described herein are merely exemplary, and should not be construed as limiting of the scope or spirit of the invention as appreciated by those of ordinary skill in the art. All statements herein reciting principles, aspects, and embodiments are intended to encompass both structural and functional equivalents thereof. It is intended that such equivalents include both currently known equivalents and equivalents developed in the future. Furthermore, to the extent that the terms "including", "includes”, “having", "has", "with", or variants thereof are used in either the detailed description and the claims, such terms are intended to be inclusive in a similar manner to the term "comprising."

[0023] Reference is made to FIG. 1 , which illustrates a simple example of an SoC 100 including a plurality of initiators 110 and targets 120. Examples of the initiators 110 include central processing units (CPUs), graphics processing units (GPUs), video cards, accelerators, and direct memory access (DMA) controllers. Examples of the targets 120 include volatile memory, persistent memory, and peripherals.

[0024] The SoC 100 further includes a NoC 130. The NoC 130 sends request transactions from the initiators 110 to the targets 120 using industry-standard protocols. A request transaction includes an address of a target 120. The NoC 130 receives a request transaction from an initiator 110, decodes the address, and transports the request transaction to the target 120, which handles the request transaction. The target 120 may respond with a response transaction, which is transported back to the initiator 110 via the NoC 130.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD

[0025] The NoC 130 includes a plurality of network interface units (NIUs) 140 and 150 and a transport interconnect 160. Each initiator 110 is coupled to the transport interconnect 160 via a corresponding initiator NIU 140. Each target 120 is coupled to the transport interconnect 160 via a corresponding target NIU 150.

[0026] Each initiator NIU 140 is configured to convert the protocol used by its corresponding initiator 110 into a transport protocol that is used inside the NoC 130. Each target NIU 150 is configured to convert the protocol inside the NoC 130 to a protocol used by its corresponding target. The transport protocol used inside the NoC 130 is typically based on the transmission of packets.

[0027] The transport interconnect 160 transports packets between the initiator NIUs 140 and the target NIUs 150. The transport interconnect 160 includes switches, adapters, and buffers. Switches may be used to route flows of traffic between sources and destinations. Adapters may be used to deal with various conversions between data width, clock domains, and power domains. Buffers may be used to insert pipelining elements to span long distances, or to store packets to deal with rate adaptation between fast senders and slow receivers or vice-versa.

[0028] FIG. 2 shows an example of a method of generating a hardware description of a NoC. At block 210, a product is defined. An SoC architect designs a specification that includes a floorplan for the SoC, power strategy, and constraints related to the SoC’s environment (e.g., clocks and their frequencies, quality of service, and type of protocol used with macros). Among other things, the floorplan defines areas on the chip for major functional blocks of the chip, including initiators and targets. The floorplan also defines blockages, and it also defines the area that will be used for the NoC (that is, the “free space” for the NoC). The SoC architect may place additional constraints on the NoC. Examples of additional constraints include frequency, routing congestion, and power consumption.

[0029] A NoC design is generated to fit within the free space defined by the floorplan. Generating the NoC design involves placing and legalizing standard cells, and making wire connections between the NoC elements.

[0030] A hardware description of the NoC design is generated. Register Transfer Level (RTL) may be used for design and verification flow. In addition, software is developed. An RTL description may then be delivered to an SoC integrator in the form of a draft specification.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD

[0031] At block 220, the product definition is implemented. The SoC integrator performs integration, synthesis, and simulations to determine whether the NoC of the RTL description fits into the free space defined by the floorplan, exhibits predictable results about operation frequency, and satisfies other constraints such as routing congestion, and power consumption. The integration is continuous until a working specification has been approved.

[0032] At block 230, a final specification is delivered. The final specification may include a final RTL description and documentation.

[0033] A system herein is used to generate and modify the NoC design during product definition and implementation. An example of the system is shown in FIG. 3.

[0034] Reference is now made to FIG. 3, which illustrates a system 300 for editing a NoC design via natural language. The system 300 uses services provided by a generative Al model that performs code generation. One example of such a generative Al model is a large language model (LLM). An LLM is a natural language processing model trained with self-supervised machine learning on a vast amount of text, designed for natural language processing tasks, especially language generation. The processing tasks include the generation of code in a programming language. For example, a prompt to the LLM can specify the generation of code in a language such as Python, Java or C++. An LLM may be fine-tuned or guided by prompt engineering to perform specific tasks.

[0035] An LLM is illustrated in FIG. 3 (two instances are shown, but both instances refer to the same LLM). The LLM of FIG. 3 is guided by prompt engineering to perform tasks specific to design of a NoC.

[0036] The system 300 includes a NoC design tool 310. The NoC design tool 310 can be used to access a floorplan of an electronic system, and design a NoC within free space defined by the floorplan based on a specification and constraints. Generating a NoC topology, for instance, involves placing and legalizing standard cells, and making wire connections between the NoC elements. The NoC design tool 310 can also be used to edit an existing NoC design.

[0037] After a NoC design has been approved, an RTL IP library 312 may be accessed. The RTL IP library 312 contains a collection of reusable IP cores designed for Register Transfer Language design that are used to create an RTL description of the NoC design.

[0038] The NoC design tool 310 includes an application programming interface (API) 314. In general, an API refers to a set of rules and protocols that allows different softwareAttorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD applications to communicate with each other. The API 314 for the NoC design tool 310 includes editing functions that programmatically edit a NoC design. The editing functions can create, configure and modify NoC elements of a NoC design. Higher-level editing functions can perform automations such as placement and routing, and topology synthesis. Lower-level editing functions can be performed on a NoC element, such as switch insertion and NoC element configuration (e.g., clock configuration). Some editing functions can make multiple modifications in bulk.

[0039] The API 314 for the NoC design tool 310 may also include querying or analysis functions for collecting information about a NoC design. Certain analysis functions can query low-level information (e.g. the clock of a specific unit). Other analysis functions can make bulk requests that query information on a larger part of a NoC design.

[0040] The NoC design tool 310 further includes a user interface 316 having scripting capability. Such a user interface 316 can interact with a NoC design through the API 314. A script refers to one or more instructions in a programming language. The user interface 316 can also execute complete scripts containing editing and / or analysis functions.

[0041] The user interface 316 can display a visual representation of a NoC design, and enable a user to manually edit a NoC design and request information about a NoC design. The user interface 316 further has capability to receive natural language instructions from a user. For instance, the user interface 316 may include a text and / or voice input capability. The natural language instructions request the NoC design tool 310 to perform operations on a NoC design. Examples of natural language instructions might include:“Generate an initial NoC topology in the free space of the floor plan.” “Remove the third switch and reroute all connections in the current NoC design.” Identify contention (if any) in the current NoC topology, and insert one or more buffers to reduce any contention.”“What is the clock of the third initiator NIU.”“Display route latencies in an initiator->target table."“What is the longest route in the NoC design and what is its latency”? Natural language instructions may be issued by novice users and advanced designers alike. The system 300 enable novice users to make advanced modifications.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD

[0042] The system 300 further includes an agent 320. In general, an agent is a software application or web interface that acts for a user or another program in a relationship of agency. A bot is an example of an agent.

[0043] The agent 320 is configured to provide prompts to the LLM. A prompt to the LLM includes a NoC design, a description of the API 314 and any other guidance, and a user input specifying at least one natural language instruction to be performed on the NoC design.

[0044] The NoC design tool 310 may provide a NoC design to the agent 320 via the user interface 316. The user interface 316 may receive natural language instructions from a ser, and provide the natural language instructions to the agent 320.

[0045] The description of the API 314 and any other guidance may be provided directly to the agent 320 via module 322. For instance, the API description may include a full list of API functions along with detailed documentation (e.g., parameters, return format). The other guidance may include descriptions of NoC concepts, tool concepts, and common operations and their meanings. As a first example of other guidance, bandwidth or speed of a given unit is computed by obtaining clock frequency (via clockGetFrequency), obtaining data width (via unitGetSerialization), and taking a product of the clock frequency and the data width. As a second example of other guidance, when a route is set, the same hop does not appear twice. As a third example of other guidance, channels that have less than 95% utilization are disregarded during congestion analysis.

[0046] The agent 320 sends a prompt to the LLM and receives a response from the LLM. The response includes a script having one or more API instructions.

[0047] The user interface 316 may include a window for displaying the code provided by the LLM. In some embodiments, the user interface 316 may provide a user option for reviewing the code for approval before sending it to the NoC editor for execution, or for automatically sending the code to the NoC editor for automatic execution without user approval.

[0048] In some embodiments, the user interface 316 may be configured to allow the any modifications to the NoC design to be rolled back. For instance, if the LLM provided code that resulted in a switch being placed in an undesirable location, that code can be rolled back so as to undo the modification. In some instances, the code may be displayed to the user. In other instances, an actual list of changes resulting from the code may be displayed to the user (which is easier to review than code). The user interface 316 mayAttorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD provide options for rolling back code one instruction at a time, and for rolling back all instructions in bulk. The user interface 316 may also allow displayed code to be saved / exported for reuse in other designs.

[0049] Reference to FIG. 4, which shows operation of the system 300 during a simple session. At block 410, a user accesses the user interface 316 of the NoC design tool 310 and enters natural language instructions to load a specific floorplan, load a specific connectivity table indicating connectivity between targets and initiators in the floorplan, and automatically generate an initial NoC topology in free space of the floorplan that creates wire connections between the initiators and the targets as specified in the connectivity table, subject to any NoC constraints.

[0050] At block 420, the agent 320 receives the natural language instructions and generates a prompt including the natural language instructions and a description of the API 314. The prompt further includes the specified floorplan, a description of the NoC constraints, and the specified connectivity table. The prompt may further include a description of how to use the API 314 as a design tool, and descriptions of NoC concepts and NoC operations. The floorplan, table, and descriptions may be included in the prompt as files or links to the files. The prompt is sent to the LLM.

[0051] At block 430, the agent 320 receives a response from the LLM. The response includes a Python script for adding switches and making connections. The agent 320 forwards the script to the NoC design tool 310.

[0052] At block 440, the NoC design tool 310 executes the script. An initial NoC design is created and displayed by the user interface 316.

[0053] The initial NoC design may be modified many times before a final NoC design is approved. The NoC design tool 310 and the agent 320 may be involved in multiple modifications.

[0054] FIG. 5 shows an example of a script 510 that is generated by an LLM and displayed in a window 500 of the user interface 316 of the NoC design tool 310. The script 510 includes instructions for adding switches to a NoC design, and creating new routes that go through the switches. The window 500 displays a button 520 for rolling back changes made by the script to the NoC design.

[0055] Thus, the system 300 allows the use of natural language to edit a NoC design. An LLM is leveraged to boost productivity by allowing novice designers to generate qualityAttorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD designs quickly and efficiently. As a result, computer resources are used more efficiently, and time to market is reduced.

[0056] Reference is once again made to FIG. 3. A system herein may include additional features. In the system 300 of FIG. 3, those additional features include a chat history database 324, a knowledge database 326, and a knowledge base builder 328.

[0057] The knowledge database 326 contains information about generating NoC designs. The information may include common practices, pitfalls related to NoC design, and reasons for past failed attempts at performing certain actions. The knowledge database 326 may be indexed for easy access by the agent 320.

[0058] The chat history database 324 contains information derived from chat exchanges with users of the system 300, such as advanced users and experts in NoC design. For instance, a modification to a NoC design is proposed and, during a chat session, a user comments on the value of the modification (e.g., whether the modification is good). The user comments are added to the chat history database 324. The information may include useful advice, choices by experts, etc. As another example, a modification is rolled back. User comments explaining the reason for the rollback are added to the chat history database 324.

[0059] The knowledge base builder 328 is an application that takes useful information from chat sessions, and adds that information to the knowledge database 326. The information added can be feedback about modification to the NoC and added to the chat history database. The knowledge base builder 328 may send entries in the chat history database 324 to an LLM, and prompt the LLM to generate a summary of the entries and extract useful information from the summary. For instance, the LLM may be guided to extract useful information involving general guidelines, and reasons for mistakes. The knowledge base builder 328 adds that information to the knowledge database 326. This is a highly effective method to strengthen the knowledge database incrementally and in a continuous fashion.

[0060] In some embodiments, the agent 320 is configured to access information from the knowledge database 326 and use that information to influence modifications to a NoC design. The agent 320 may also be configured to extract reasoning from an LLM response, and consider the reasoning with respect to a modification. For example, the agent 320 may be configured to use retrieval-augmentation generation (RAG) to extract the most relevant information from the knowledge database 326. Comparisons can beAttorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD made by a search engine, which results in a predetermined behavior. Comparisons by the LLM through specific instructions offer more flexibility. As but one example, the LLM could be guided to check topology congestion according to rules on congestion extracted from the knowledge database 326.

[0061] In some embodiments, the agent 320 is further configured to perform function calling (also known as tool calling) for use in an agentic workflow. In general, an agent is further configured with one or more function_tools and can ask an LLM to select those function_tools to help solve a problem. For instance, the agent makes a request to the LLM model with function_tools it could call; receives a tool call from the LLM, executes the called function on the application side (that is, the agent uses the function selected by the LLM or has another entity use the tool on its behalf); makes a second request to the LLM with the function output; and receives either a final response from the LLM or another tool call by the LLM.

[0062] The agent 320 of FIG. 3 may include multiple functions for analyzing a NoC design. Examples of the functions include routeList to get all routes in a NoC design, and unitGetClock to get the clock frequency of a unit in a NoC design.

[0063] The agent 320 may be configured to display a graphical user interface that allows a user to interact with the agent in a natural language. For example, a user can enter “What is the longest route in the design and what is its latency.” The agent 320 makes a request to the LLM with tools that it can call, including a function_tool that identifies the longest route, and another function_tool that computes latency along a given route. The LLM issues a first tool call to the function that identifies the longest route, the agent executes the function and makes a second request to the LLM with the output of the first tool call. The LLM issues a second tool call to the function that calculates latency of the longest route. The agent 320 displays the result of the second tool call to the user.

[0064] In this manner, the agent 320 can implement and run precise programmatical checks (e.g. graph analysis algorithms) on a NoC design instead of making conclusions based on statistical predictions.

[0065] Reference is now made to FIG. 6, which illustrates a method in which the system 300 uses the knowledge database 326 along with certain function_tools. The method will be described in connection with an example of identifying and fixing congestion in a NoC design.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD

[0066] At block 610, a user enters a request to detect and fix an issue and the agent 320 receives the request. In the example, a user enters a request to detect and improve congestion in a NoC design

[0067] At block 615, the agent 320 sends a prompt with the request and the NoC design to an LLM. The LLM responds with a function_tool. In the example, the function_tool is getCongestionMap(*args ).

[0068] At block 620, the agent 320 searches the knowledge database 326 for tips. In the example, the tip is about congestion detection, and the agent 320 retrieves the tip in natural language stating “we generally don’t care about channels that have less than 95% utilization.”

[0069] At block 625, the agent 320 uses the LLM to provide modified function parameters in accordance with the tip. In the example, the parameters (*args ) of getCongestionMap are modified to identify segments having 95% utilization or greater.

[0070] At block 630, the agent 320 executes the function_tool getCongestionMap(*args ) with the modified parameters. The output of the function_tool getCongestionMap(*args ) identifies segments A, B, C and D between blockages X and Y as causes of congestion.

[0071] At block 635, the agent 320 the requests authorization from the user to try to fix the congestion issue with segments A,B, C and D. At block 640, the user gives authorization to proceed, and the agent 320 searches the knowledge database 326 for tips about fixing congestion problems. The agent 320 retrieves a tip. In the example, the tip states, in natural language, that “rerouting the wires is not good because it increases wire length, it is better to merge segments that are going in the same direction.”

[0072] At block 645, the agent 320 sends a prompt including the tip about performing the modification to the LLM. In response, the LLM issues a tool call to the function_tool executeScript(*args) to identify which of segments A, B, C and D are going in the same direction.

[0073] At block 650, the agent 320 executes this function with parameters modified per the tip. An output of the function identifies three segments A, C and D of significant length.

[0074] At block 655, the agent 320 once again searches the knowledge database 326 for tips about any issues that might result from implementing the modification. In the example, the agent 320 retrieves a tip in natural language stating “you merged twoAttorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD segments and now I have bandwidth violations, this is bad, please fix.” The agent 320 sends this tip to the LLM, and the LLM responds with a tool call to the function_tool getPerformanceConstraints(*args). The agent 320 executes this function_tool, which indicates that no violations will occur from merging segments A, C and D.

[0075] At block 660, the congestion problem is fixed. The agent 320 sends a prompt to the LLM to provide a script for editing topology routes to use virtual channels. The LLM responds with a tool call to function_tool executeScript(*args). The agent 320 receives the script, and forwards the script to the NoC design tool 310, which executes the script. In the example, the NoC design is modified to merge segments A, C and D.

[0076] At block 665, the agent 320 then sends a prompt including the modified NoC design and a request to determine whether congestion has been improved. The LLM responds with a tool call to the function_tool getCongestionMap(*args). The agent 320 executes getCongestionMap(*args ), which reveals that congestion in the modified NoC design is less than 95%. The agent 320 sends these results to the LLM, and the LLM responds with a final response “Congestion has been reduced by adding virtual channels.”

[0077] Had congestion not been reduced, the agent 320 may display the script to the user, and give the user the option of rolling back the modifications to the NoC design.

[0078] Reference is made to FIG. 7, which shows a computing system 700 that includes a processing unit 710, computer-readable memory 720, and a network interface 730. In the computing system 700 of FIG. 7, the NoC design tool 310 and the agent 320 are both stored as separate applications in the computer-readable memory 720. In some embodiments, however, the NoC design tool 310 and the agent 320 may be integrated into a single application. For instance, the agent 320 may include an embedded editor having the same functionality as the NoC design tool 310, or vice versa. In other embodiments, the NoC design tool 310 and the agent 320 are stored in separate computers, which are networked together.

[0079] In some embodiments, the chat history database 324, the knowledge database 326, and the knowledge base builder 328 reside on the same computing system as the NoC design tool 310 and the agent 320. In FIG. 7, however, the NoC design tool 310 and the agent 320 are on the same computing system 700, while the chat history database 324, the knowledge database 326, and the knowledge base builder 328 reside at a remote location 740 (e.g., a remote server, a public cloud, a private cloud).Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD

[0080] In some embodiments, the agent 320 can be decomposed into multiple specialized sub-agents. Each sub-agent has a specialized prompt, a dedicated knowledge database, and dedicated function_tools to conduct NoC design analysis. In some embodiments, the dedicated knowledge databases may be separate entities. In other embodiments, the dedicated knowledge databases may be part of a single database (e.g., the knowledge database 326).

[0081] Reference is now made to FIG. 8, which illustrates an example of a hierarchy of sub-agents. One of the sub-agents may be configured as a supervisor, or orchestrator 810. Each of the other sub-agents 820 may be configured to interact with the LLM and the NoC design tool 310. Each sub-agent 820 may have a dedicated knowledge database 830 with information specific to its function. Decomposing the agent 320 can generally result in a smaller context and history bookkeeping, increasing efficiency and performance. Although FIG. 8 shows dedicated knowledge databases 830 that are separate, another embodiment could have the sub-agents 820 access a single database.

[0082] Consider the example of a first sub-agent 820 specialized on floorplan editing, a second sub-agent 820 specialized on routing, a third sub-agent 820 specialized on clock designs, and other sub-agents 820 specialized on other functions. An orchestrator 810 may be configured to be instructed by a deterministic schedule (e.g., “load image from floorplan calling NoC design tool, then call an LLM routing agent, ...”), or it may be instructed to identify the sub-agent 820 that is best-suited to perform a specific task.

[0083] Certain methods, which can be implemented in a product, according to the various aspects of the invention may be performed by instructions that are stored upon a non-transitory computer readable medium. The non-transitory computer readable medium stores code including instructions that, if executed by one or more processors, would cause a system or computer to perform steps of the method described herein. The non-transitory computer readable medium includes: a rotating magnetic disk, a rotating optical disk, a flash random access memory (RAM) chip, and other mechanically moving or solid-state storage media. Any type of computer-readable medium is appropriate for storing code comprising instructions according to various example.

[0084] Some examples are one or more non-transitory computer readable media arranged to store such instructions for methods described herein. Whatever machine holds non-transitory computer readable media comprising any of the necessary code may implement an example. Some examples may be implemented as: physical devices suchAttorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD as semiconductor chips; hardware description language representations of the logical or functional behavior of such devices; and one or more non-transitory computer readable media arranged to store such hardware description language representations.

[0085] Certain examples have been described herein and it will be noted that different combinations of different components from different examples may be possible. Salient features are presented to better explain examples; however, it is clear that certain features may be added, modified and / or omitted without modifying the functional aspects of these examples as described.

[0086] Various examples are methods that use the behavior of either or a combination of machines. Method examples are complete wherever in the world most constituent steps occur. For example, IP elements or units include: processors (e.g., CPUs or GPUs), random-access memory (RAM - e.g., off-chip dynamic RAM or DRAM), a network interface for wired or wireless connections such as ethernet, WiFi, 3G, 4G long-term evolution (LTE), 5G, and other wireless interface standard radios. The IP may also include various I / O interface devices, as needed for different peripheral devices such as touch screen sensors, geolocation receivers, microphones, speakers, Bluetooth peripherals, and USB devices, such as keyboards and mice, among others. By executing instructions stored in RAM devices processors perform steps of methods as described herein.

[0087] Descriptions herein reciting principles, aspects, and embodiments encompass both structural and functional equivalents thereof. Elements described herein as coupled have an effectual relationship realizable by a direct connection or indirectly with one or more other intervening elements.

[0088] Practitioners skilled in the art will recognize many modifications and variations. The modifications and variations include any relevant combination of the disclosed features. Descriptions herein reciting principles, aspects, and embodiments encompass both structural and functional equivalents thereof. Elements described herein as “coupled” or “communicatively coupled” have an effectual relationship realizable by a direct connection or indirect connection, which uses one or more other intervening elements. Embodiments described herein as “communicating” or “in communication with” another device, module, or elements include any form of communication or link and include an effectual relationship. For example, a communication link may be established using a wired connection, wireless protocols, near-filed protocols, or RFID.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD

[0089] To the extent that the terms "including", "includes”, “having", "has", "with", or variants thereof are used in either the detailed description and the claims, such terms are intended to be inclusive in a similar manner to the term "comprising."

[0090] The scope of the invention, therefore, is not intended to be limited to the exemplary embodiments shown and described herein. Rather, the scope and spirit of present invention is embodied by the appended claims.

Claims

Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD CLAIMSWhat is claimed is:

1. A product comprising non-transitory computer readable medium for storing software that, when executed, causes a computer system to run an agent that generates prompts for a generative artificial intelligence (Al) model that performs code generation;wherein the prompts generated by the agent include:a network-on-chip (NoC) design;a description of an application programming interface (API) of a NoC design tool; andan input specifying at least one natural language instruction to be performed on the NoC design;wherein the agent is configured to receive code generated by the Al model in response to the prompts, and enable the code to be used to edit the NoC design as specified in the input, thereby enabling the use of natural language to edit the NoC design.

2. The product of claim 1 , wherein the agent is configured to send the prompts to a large language model (LLM).

3. The product of claim 1 , wherein the prompts generated by the agent further include any or all of a floorplan, a description of NoC constraints, a connectivity table, a description of how to use the API as a design tool, and descriptions of NoC concepts and NoC operations.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD 4. The product of claim 1 , wherein the software, when executed further causes the computer system to run a NoC design tool having the API; wherein the API includes NoC design editing functions; and wherein the NoC design tool is configured to receive a script forwarded by the agent and execute the script to use the editing functions to edit the NoC design as specified in the input.

5. The product of claim 4, the NoC design tool includes capability for rolling back NoC design modifications in the script.

6. The product of claim 1 , wherein the software, when executed, further causes the agent to access information in a knowledge database and use the information to influence the code.

7. The product of claim 6, wherein the software, when executed, further causes the agent to:conduct chat sessions with users of the NoC design tool to obtain feedback about modifications to NoC designs; andadd the feedback to a chat history database.

8. The product of claim 7, wherein the generative Al model is a large language model (LLM); and wherein the software, when executed, further causes the agent to extract reasoning from LLM responses, and consider the reasoning when influencing the code.

9. The product of claim 6, wherein the agent is decomposed into multiple specialized sub-agents, each having a specialized prompt, a dedicated knowledge database, and dedicated functions for performing NoC design analysis.

10. The product of claim 1, wherein the agent includes a NoC design analysis function and wherein the agent is further configured to receive a tool call and parameters from the generative Al model and execute the function with the parameters.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD 11. A computer-implemented method for editing a network-on-chip (NoC) design with a NoC design tool, the method comprising:generating a prompt for a generative artificial intelligence (Al) model that performs code generation, the prompt including:a NoC design;a description of an application programming interface (API) of the NoC design tool; anda user input specifying a natural language modification to the NoC design, wherein the API has functions for NoC design editing;receiving code from the generative Al model in response to the prompt; and executing the code in the NoC design tool to edit the NoC design as specified in the user input, thereby enabling natural language to be used to edit the NoC design.

12. The method of claim 11 , further comprising:accessing information in a knowledge database; andusing the information to influence proposed modifications to the NoC design.

13. The method of claim 12, further comprising:conducting chat sessions with users of the NoC design tool to obtain feedback about actual modifications to NoC designs;adding the feedback to a chat history database;extracting relevant information from the chat history database; andadding the relevant information to the knowledge database.

14. The method of claim 13, wherein the generative Al model is a large language model (LLM); and wherein the method further comprises extracting reasoning from LLM responses, and using the reasoning to influence the proposed modifications.

15. The method of claim 14, further comprising receiving tool calls for NoC design analysis functions and function parameter values from the LLM; and executing the functions with the function parameters from the LLM.Attorney Docket No. ART-192PCT US Provisional Application Serial No.: TBD 16. A computing system comprising a processing unit and computer-readable memory programmed with:a network-on-chip (NoC) design tool configured with an application programming interface (API) having functions for NoC design editing; andan agent configured to generate and send prompts to a generative Al model that performs code generation, the prompts including a description of a NoC design, a description of how to use the API, a user input specifying one or more natural language modifications to the NoC design, and a request for the generative Al model to generate a script that uses the API to edit the NoC design as specified in the user input,wherein the agent is further configured to provide the script to the NoC design tool;andwherein the NoC design tool is configured to execute the script to modify the NoC design.

17. The system of claim 16, wherein the agent is further configured to access information in a knowledge database and use the information to influence proposed modifications to the NoC design.

18. The system of claim 17, wherein the NoC design tool is further configured to conduct chat sessions with users to obtain feedback about modifications to NoC designs and add the feedback to a chat history database.

19. The system of claim 18, further comprising a knowledge base builder for extracting relevant information from the chat history database and adding extracted information to the knowledge database.

20. The system of claim 16, wherein the agent includes a NoC design analysis function and wherein the agent is further configured to receive a tool call and parameters from the Al generative model and execute the function with the parameters.