RTL code generation from natural language inputs

?

The Gen AI is widely explored in every area these days. I came across this research paper on front end chip design using Generative AI framework called ChipGPT.

?Currently I see this ChipGPT as an intern joined in a team, requires training to gain domain knowledge, split bigger task and smaller tasks and provide required skills to perform the job. During this process, intern also requires feedback or finetuning on outcomes. But, once enough training is completed, intern becomes an asset to the team :).

High level synthesis tools are already able to generate RTL code but they can convert only the high-level language inputs such as C++ code. The use of LLMs enables RTL logic generation from natural language input.

?

The authors in this paper named "ChipGPT: How far are we from natural language hardware design" explained how an power, performance and area (PPA) efficient RTL can be generated. This is achieved by adding additional modules Prompt Manager (PM), Output Manager (OM) and search method.? The prompt manager placed before the GPT model helps to improve the program quality and output manager helps to improve the generated RTL and finally search method helps to meet PPA (power, performance, Area) requirements of generated RTL. The tuning used doesn’t change the original LLM.

?

Picture credit: Kaiyan Chang, Et all, "ChipGPT: How far are we from natural language hardware design"

The chipGPT front end EDA frame work assists humans in compiling specifications to logic design. It works with below steps:

?split(spec) = {eg, if ace, func, compose}

rawcode = GP T(PM(if ace, func, compose, f d))

code = OM(rawcode, EM) codelist = codelist ∪ code

optcode = Search(codelist, requirements)

?

  1. Specification split method: Translate the specifications into a formal and unambiguous form
  2. Specification serialization method in prompt-manager:? To make these irregular split partitions become an available GPT input sequence
  3. Output Manager : To improve the quality of the code(raw program) generated by the GPT model. At this stage typically PPA requirements are not met.
  4. Search method : This is compatible with the previous stages that ranks GPT-generated programs and identifies the version according to the requirements.

?

Picture credit: Kaiyan Chang, Et all, "ChipGPT: How far are we from natural language hardware design"

In my view, these kind of frameworks are going to assist front end engineers thus reduces RTL development phase. It is very unlikely to write entire RTL based on natural language specifications. What do you think on these front EDA frameworks?? Feel free to comment.

?Disclaimer: The views or opinions expressed in this article are mine alone and do not represent those of my employer

References :?

Kaiyan Chang, Et all, ChipGPT: How far are we from natural language hardware design 2305.14019.pdf (arxiv.org)

?

?

?



Bimal Patel

R&D Director at Synopsys Inc

1 年

That's a promising AI application. Thanks for this article!

要查看或添加评论,请登录

Srinivas Gaddam的更多文章

  • High-Speed Serial Interfaces Overview

    High-Speed Serial Interfaces Overview

    High-Speed Serial Interfaces Overview High-speed serial interfaces or High-speed IO (input/output)s refer to…

    2 条评论
  • PAM4 coding in 56G and 112G SERDESes

    PAM4 coding in 56G and 112G SERDESes

    PAM stands for Pulse Amplitude Modulation. As the demand for high speed data is increasing, there is a need for high…

    3 条评论
  • Timing diagram is made easy

    Timing diagram is made easy

    I recently came across this free waveform drawing tool called “Wavedrom”. It takes lot of effort to draw a timing…

    19 条评论

社区洞察

其他会员也浏览了