SpecLLM: Exploring Generation and Review of VLSI Design Specification with Large Language Model (2401.13266v1)
Abstract: The development of architecture specifications is an initial and fundamental stage of the integrated circuit (IC) design process. Traditionally, architecture specifications are crafted by experienced chip architects, a process that is not only time-consuming but also error-prone. Mistakes in these specifications may significantly affect subsequent stages of chip design. Despite the presence of advanced electronic design automation (EDA) tools, effective solutions to these specification-related challenges remain scarce. Since writing architecture specifications is naturally a NLP task, this paper pioneers the automation of architecture specification development with the advanced capabilities of LLMs. Leveraging our definition and dataset, we explore the application of LLMs in two key aspects of architecture specification development: (1) Generating architecture specifications, which includes both writing specifications from scratch and converting RTL code into detailed specifications. (2) Reviewing existing architecture specifications. We got promising results indicating that LLMs may revolutionize how these critical specification documents are developed in IC design nowadays. By reducing the effort required, LLMs open up new possibilities for efficiency and accuracy in this crucial aspect of chip design.
- J. Achiam, S. Adler, S. Agarwal, L. Ahmad, I. Akkaya, F. L. Aleman, D. Almeida, J. Altenschmidt, S. Altman, S. Anadkat et al., “Gpt-4 technical report,” arXiv preprint arXiv:2303.08774, 2023.
- S. Liu, W. Fang, Y. Lu, Q. Zhang, H. Zhang, and Z. Xie, “Rtlcoder: Outperforming gpt-3.5 in design rtl generation with our open-source dataset and lightweight solution,” arXiv preprint arXiv:2312.08617, 2023.
- J. Blocklove, S. Garg, R. Karri, and H. Pearce, “Chip-chat: Challenges and opportunities in conversational hardware design,” arXiv preprint arXiv:2305.13243, 2023.
- Y. Lu, S. Liu, Q. Zhang, and Z. Xie, “Rtllm: An open-source benchmark for design rtl generation with large language model,” arXiv preprint arXiv:2308.05345, 2023.
- M. Liu, N. Pinckney, B. Khailany, and H. Ren, “Verilogeval: Evaluating large language models for verilog code generation,” arXiv preprint arXiv:2309.07544, 2023.
- S. Thakur, B. Ahmad, Z. Fan, H. Pearce, B. Tan, R. Karri, B. Dolan-Gavitt, and S. Garg, “Benchmarking large language models for automated verilog rtl code generation,” in DATE, 2023.
- S. Thakur, J. Blocklove, H. Pearce, B. Tan, S. Garg, and R. Karri, “Autochip: Automating hdl generation using llm feedback,” arXiv preprint arXiv:2311.04887, 2023.
- M. Nair, R. Sadhukhan, and D. Mukhopadhyay, “Generating secure hardware using chatgpt resistant to cwes,” Cryptology ePrint Archive, 2023.
- M. Liu, T.-D. Ene, R. Kirby, C. Cheng, N. Pinckney, R. Liang, J. Alben, H. Anand, S. Banerjee, I. Bayraktaroglu et al., “Chipnemo: Domain-adapted llms for chip design,” arXiv preprint arXiv:2311.00176, 2023.
- Z. He, H. Wu, X. Zhang, X. Yao, S. Zheng, H. Zheng, and B. Yu, “Chateda: A large language model powered autonomous agent for eda,” in MLCAD Workshop, 2023.
- Y. Fu, Y. Zhang, Z. Yu, S. Li, Z. Ye, C. Li, C. Wan, and Y. Lin, “Gpt4aigchip: Towards next-generation ai accelerator design automation via large language models,” arXiv preprint arXiv:2309.10730, 2023.
- Z. Yan, Y. Qin, X. S. Hu, and Y. Shi, “On the viability of using llms for sw/hw co-design: An example in designing cim dnn accelerators,” arXiv preprint arXiv:2306.06923, 2023.
- R. Kande, H. Pearce, B. Tan, B. Dolan-Gavitt, S. Thakur, R. Karri, and J. Rajendran, “Llm-assisted generation of hardware assertions,” arXiv preprint arXiv:2306.14027, 2023.
- B. Ahmad, S. Thakur, B. Tan, R. Karri, and H. Pearce, “Fixing hardware security bugs with large language models,” arXiv preprint arXiv:2302.01215, 2023.
- ARMv8-M Architecture Reference Manual, "https://documentation-service.arm.com/static/5f8efe85f86e16515cdbe596?token=".
- Intel 64 and IA-32 Architectures Software Developer’s Manua, "https://cdrdv2.intel.com/v1/dl/getContent/671200".
- OpenRISC 1000 Architecture Manua, "https://openrisc.io/or1k.html".
- The NEORV32 RISC-V Processor: Datasheet, "https://stnolting.github.io/neorv32/".
- OpenSPARC T1 Microarchitecture Specification, "https://www.oracle.com/technetwork/systems/opensparc/t1-01-opensparct1-micro-arch-1538959.html".
- OpenSPARC T2 Microarchitecture Specification, "https://www.oracle.com/technetwork/systems/opensparc/t2-06-opensparct2-core-microarch-1537749.html".
- E31 Core Complex Manual, {"https://d2pn104n81t9m2.cloudfront.net/documentation/"}.
- E51 Core Complex Manual, "https://d2pn104n81t9m2.cloudfront.net/documentation/".
- Arm Cortex-A78 Core Technical Reference Manual, "https://developer.arm.com/documentation/101430/latest/".
- Arm Cortex-X2 Core Technical Reference Manual, "https://developer.arm.com/documentation/101803/latest/".
- Arm Neoverse N2 Core Technical Reference Manual, "https://developer.arm.com/documentation/102099/latest/The-Neoverse-N2--core".
- Intel 64 and IA-32 Architectures Optimization Reference, "https://www.intel.com/content/www/us/en/content-details/671488/intel-64-and-ia-32-architectures-optimization-reference-manual.html".
- OpenRISC 1200 IP Core Specification, "https://github.com/openrisc/or1200/blob/master/doc/openrisc1200_spec.pdf".
- Amber ARM-compatible core, "https://opencores.org/projects/amber".
- Efficient Trace for RISC-V, "https://wiki.riscv.org/display/HOME/RISC-V+Technical+Specifications".
- RISC-V External Debug Support, "https://wiki.riscv.org/display/HOME/RISC-V+Technical+Specifications".
- RISC-V IOMMU Architecture Specification, "https://wiki.riscv.org/display/HOME/RISC-V+Technical+Specifications".
- RISC-V Advanced Interrupt Architecture, "https://wiki.riscv.org/display/HOME/RISC-V+Technical+Specifications".
- RISC-V Platform-Level Interrupt Controller Specification, "https://wiki.riscv.org/display/HOME/RISC-V+Technical+Specifications".
- Freedom E310-G000 Manual, "https://www.sifive.com/documentation".
- Freedom U540-C000 Manual, "https://www.sifive.com/documentation".
- OpenSPARC T2 System-On-Chip (SoC) Microarchitecture Specification, "https://www.oracle.com/docs/tech/systems/t2-07-opensparct2-socmicroarchvol1.pdf".
- RISC-V ”V” Vector Extension, "https://inst.eecs.berkeley.edu/~cs152/sp20/handouts/sp20/riscv-v-spec.pdf".
- Intel Advanced Performance Extensions (Intel APX) Architecture Specification, "https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html".
- Intel Advanced Vector Extensions 10 (Intel AVX10) Architecture Specification, "https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html".
- TileLink Specification, "https://www.sifive.com/document-file/tilelink-spec-1.9.3".
- AMBA5 CHI Architecture Specification, "https://developer.arm.com/documentation/ihi0050/latest/".
- AMBA5 ACE Protocol Specification (superseded by CHI), "https://developer.arm.com/documentation/ihi0022/hc".
- AMBA5 AXI Protocol Specification, "https://developer.arm.com/documentation/ihi0022/latest".
- AMBA4 AXI and ACE Protocol Specification, "https://developer.arm.com/documentation/ihi0022/e".
- 10GE MAC Core Specification, "https://opencores.org/ocsvn/xge_mac/xge_mac/trunk/doc/xge_mac_spec.pdf".
- Ethernet IP Core Specification, "http://www.cprover.org/firmware/doc/ethoc/eth_speci.pdf".
- I2C-Master Core Specification, "http://www.cprover.org/firmware/doc/ethoc/eth_speci.pdf".
- UART to Bus Core Specifications, "https://opencores.org/usercontent/doc/1330166592".
- Elliptic Curve Group Core Specification, "https://opencores.org/projects/ecg".
- Tate Bilinear Pairing Core Specification, "https://opencores.org/projects/pairing".
- Tiny Tate Bilinear Pairing Core Specification, "https://opencores.org/projects/tiny_tate_bilinear_pairing".
- AES Core Specification, "https://opencores.org/usercontent/doc/1354351714".
- SHA3 Core Specification, "https://opencores.org/usercontent/doc/1359445372".
- RISC-V Specifications, "https://riscv.org/technical/specifications/".
- C. Celio, D. A. Patterson, and K. Asanovic, “The berkeley out-of-order machine (boom): An industry-competitive, synthesizable, parameterized risc-v processor,” EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2015-167, 2015.
- Y. Xu, Z. Yu, D. Tang, G. Chen, L. Chen, L. Gou, Y. Jin, Q. Li, X. Li, Z. Li et al., “Towards developing high performance risc-v processors using agile methodology,” in MICRO, 2022.
- J. White, Q. Fu, S. Hays, M. Sandborn, C. Olea, H. Gilbert, A. Elnashar, J. Spencer-Smith, and D. C. Schmidt, “A prompt pattern catalog to enhance prompt engineering with chatgpt,” arXiv preprint arXiv:2302.11382, 2023.
- verified_calendar.v in RTLLM, "https://github.com/hkust-zhiyao/RTLLM/blob/main/calendar/verified_calendar.v".
- Amber 2 Core Specification, "https://opencores.org/websvn/filedetails?repname=amber&path=%2Famber%2Ftrunk%2Fdoc%2Famber-core.pdf".
- Y. Chang, X. Wang, J. Wang, Y. Wu, K. Zhu, H. Chen, L. Yang, X. Yi, C. Wang, Y. Wang et al., “A survey on evaluation of large language models,” arXiv preprint arXiv:2307.03109, 2023.