Apabila anda menyebut ChatGPT, apakah yang anda fikirkan? Apabila anda memikirkan cip, apakah yang anda fikirkan? Anda boleh menulis perkataan pertama yang terlintas di fikiran anda Selepas membaca artikel ini, ia pasti akan mengubah pendapat anda. Jika anda seorang peminat teknologi, tanggapan pertama anda ialah ChatGPT ialah model perbualan yang sangat pintar yang boleh bercakap dengan orang Industri cip adalah keseluruhan yang kompleks, dengan bukan sahaja pereka seni bina peringkat atas, tetapi juga proses peringkat bawah jurutera. Anda mungkin tidak menggabungkan kedua-duanya kerana ia kelihatan sangat tidak berkaitan.
Tetapi sebenarnya, keupayaan penjanaan kod unik model ChatGPT sangat mempercepatkan kelajuan reka bentuk cip. Gelombang transformasi daripada EDA tradisional (Automasi Reka Bentuk Elektronik) kepada EDA pintar akan bermula Dalam artikel hari ini, kita akan melihat bagaimana EDA tradisional berkembang menjadi EDA pintar yang dipacu oleh ChatGPT, dan cara ChatGPT memacu inovasi dalam industri reka bentuk cip. rantai.
Pertama sekali, mari kita lihat aplikasi ChatGPT di barisan hadapan industri cip: pemproses kawalan kuantum ialah bahagian kawalan teras komputer kuantum. Kod pemproses kawalan kuantum yang disintesis menggunakan ChatGPT adalah seperti berikut.
module QuantumControlProcessor ( input clk, input reset, input [7:0] instruction, input [7:0] control, output reg [7:0] qubit_pulse, output reg [7:0] timing_pulse ); // 此处因为篇幅原因省略实现 endmodule
Malah, kod ini mungkin mempunyai beberapa masalah kecil Contohnya, ChatGPT tidak dapat mencapai kawalan pemasaan dengan baik dan akan membazirkan kitaran jam Walau bagaimanapun, kod ini disusun dengan betul reka bentuk yang sah. Mungkin anda akan terkejut, bagaimana ini dilakukan? Apakah prospek untuk ini? Selebihnya artikel ini akan memberi anda jawapannya.
ChatGPT akan menyediakan kod boleh guna semula yang mencukupi untuk industri cip
Jumlah besar kod reka bentuk yang diperlukan oleh industri cip dengan segera memerlukan alat pembangunan yang cekap. Reka bentuk cip ialah industri yang memerlukan banyak pengumpulan kod Contohnya, kod sumber terbuka teras Xuantie OpenC910 Alibaba ialah kira-kira 351KLOC. Seperti yang ditunjukkan dalam Rajah 1, industri biasanya memulakan reka bentuk dari verilog atas, menggunakan alat bahagian hadapan dan bahagian belakang EDA untuk menjana reka letak. Penulisan verilog memerlukan pemasaan reka bentuk, yang biasanya lebih kompleks, jadi ChatGPT boleh mengurangkan banyak kos buruh dengan menjana sekeping kod ini. Keperluan pemasaan cip adalah agak ketat, jadi terdapat juga sejumlah besar modul berkaitan pemasaan dengan fungsi yang agak tetap, seperti antara muka AXI, FIFO, dll. Modul ini semua boleh menggunakan ChatGPT untuk mengurangkan kos buruh. Walaupun pada masa ini terdapat bahasa reka bentuk perkakasan baharu seperti Pahat, Ruang dan MyHDL, bahasa ini sebahagian besarnya tertakluk kepada batasan bahasa hos dan tidak boleh menerangkan litar dengan cara yang hampir dengan bahasa semula jadi.
Rajah 1: EDA Pintar dan carta aliran EDA tradisional
CtGPT menunjukkan ekspresi yang sangat baik dalam penjanaan kod. Hanya berikan gesaan tugas dan kod yang sepadan akan dijana secara automatik. Berbanding dengan sintesis perisian dan algoritma, kerana kod reka bentuk perkakasan tidak mempunyai kepelbagaian senario seperti kod perniagaan perisian, dan parameterisasi dan kawalan masanya adalah kompleks berbanding kebolehan kognitif manusia, terdapat corak tetap untuk diikuti, jadi ChatGPT mempunyai lebih banyak kelebihan yang jelas dalam menjana kod reka bentuk perkakasan secara automatik. Ia mempunyai keupayaan induksi yang baik untuk perkakasan sedia ada dan boleh mengekstrak titik konfigurasi boleh parameter dengan tepat dalam templat reka bentuk.
Pengajar penulis, Dr. Wang Ying, penyelidik bersekutu di Institut Teknologi Pengkomputeran, Akademi Sains China, percaya bahawa walaupun ChatGPT industri sepenuhnya tidak akan dapat membawa ideal keupayaan reka bentuk automatik sepenuhnya dalam jangka pendek, tetapi dengan Trend awan EDA dijangka tidak lama lagi akan berfungsi sebagai pembantu reka bentuk untuk meningkatkan kecekapan pengesahan reka bentuk dan menurunkan ambang pembangunan, terutamanya untuk kerja pengajaran. Di samping itu, tahap automasi yang ditunjukkan oleh ChatGPT dalam pelbagai proses tidak diketahui dalam bidang EDA Berbanding dengan teknologi SOTA yang lain, ChatGPT mempunyai kelebihan semula jadi dari segi kesempurnaan dan interaksi semula jadi. Akhir sekali, ChatGPT telah mengesahkan potensi model besar dalam bidang reka bentuk cip automatik, dan boleh mendorong pembangun untuk mereka bentuk lagi paradigma Prompt di atasnya, dengan itu memberi ruang untuk meningkatkan lagi ketepatan fungsi reka bentuk dan prestasi cip yang dihasilkan.
Tahap intelek ChatGPT dalam bidang reka bentuk cip jauh melebihi kerja serupa sebelumnya
ChatGPT 真的有替代人工的准确性吗?
ChatGPT 和之前最好的代码自动生成的方法比起来好了多少呢?
可以把之前的代码生成方法分为三类,一类是以编程语言社区为代表的基于规则 [11,12,13] 的方法,第二类是基于测试用例的生成方法 [5, 6, 7, 8, 9, 10],第三类是以自然语言处理社区为代表的基于文本和模型的生成方法 [1, 2, 3, 4]。
表:比较 OpenAI 两种最新模型用于代码生成
ChatGPT 和 CodeX 都是 OpenAI 公司基于 GPT-3 研发的模型,从上面的分析中可以看出,ChatGPT 的范围更广,并且 Copilot 的用途单一,仅仅为代码补全。这就为基于 ChatGPT 开发智能代码相关工具提供了更广阔的空间。
ChatGPT 极大地驱动了智能 EDA 技术的发展
在 ChatGPT 出现之前,就有许多自动化代码生成方式,他们为什么不能够驱动智能 EDA 技术呢?
ChatGPT 能够远远地超越传统方法,并且它可以做到零样本学习(Zero-shot learning),相比传统的程序合成并不需要专门的训练(因为 OpenAI 已经完成了),并且配合细致的功能描述,他庞大的知识储备也可以使能高正确率的代码生成。如表 1 所示,ChatGPT 将会逐渐演变为芯片前端的自动化流程中极为关键的一步,在未来很有可能演变成为继 HLS 开创 C 语言设计芯片后的又一种新的范式。在后文,我们将会介绍如何使用 ChatGPT 做 Verilog 的代码生成。
表 1:ChatGPT 在芯片自动生成各个领域的开创性创新(以 Hardware Design Language 为例,软件语言可以参照分析)
如何使用 ChatGPT 生成芯片代码
与芯片设计相关的程序合成方法包含两类,高层次程序生成和时序相关硬件描述代码生成。高层次程序生成可以生成 HLS 等不具有显式时序控制的 C/C++ 代码等,而低层次程序生成可以生成具有显式时序控制的 Verilog 代码。由于 HLS 在实际工业界设计芯片时较少采用,因此我们采用 Verilog 作为主要的目标语言。对于 ChatGPT 而言,我们以自然语言描述作为输入,就可以获得符合要求的芯片描述代码。具体来说,应该如何做呢?我们以 Verilog 为例介绍如何用 ChatGPT 生成代码。
基于 ChatGPT 的通用生成步骤
act as a professional verilog programmer
因为 ChatGPT 是个通用的代码生成工具,而 Verilog 是个专用领域,我们需要先 “催眠” ChatGPT,使得它能够生成 Verilog 程序。向 ChatGPT 中输入下面的 prompt,之后的生成都会是以 Verilog 代码为基础的。
我们接下来的部分都是以片上网络 NoC 模块为例阐述代码生成方法的通用步骤。
Disebabkan ruang terhad, kod lengkap yang dijana oleh ChatGPT tidak akan disenaraikan di sini. Tetapi kita dapat melihat bahawa terdapat banyak cara yang berbeza untuk memahami kata kunci Rangkaian On-Chip, dan ChatGPT telah memilih kaedah pemahaman berasaskan bas. Jika kita mahukan cara pemahaman semantik yang lain, kita harus meneroka cara yang berbeza untuk memasukkan soalan.
Langkah-langkah untuk menggabungkan dan menjana modul
Hanya modul terhad yang dihasilkan sebelum ini, tetapi bolehkah modul digabungkan? Matlamat kami adalah untuk menggabungkan dua modul pelik yang tidak wujud pada asalnya menjadi modul yang tidak pelik. Modul pelik peringkat atas dijana di bawah Terdapat dua penambah pada lapisan bawah, dan outputnya disambungkan kepada penolakan Kami memanggil modul pelik ini.
Mengapa ChatGPT berjaya dalam bidang penjanaan cip
Kejayaan ChatGPT dalam sintesis cip harus dikaitkan dengan pemahamannya tentang kod dan pengiktirafan tepat semantik bahasa semula jadi.
Adakah semuanya bersedia untuk menjana reka bentuk cip dengan ChatGPT?
Walaupun model ChatGPT boleh melengkapkan sebahagian daripada kerja bahagian hadapan reka bentuk cip, masih terdapat cabaran berikut, yang memerlukan penalaan bersama rantai alat manual dan EDA untuk menghasilkan cip yang memenuhi spesifikasi.
Bagaimana industri silikon bertindak balas terhadap krisis EDA pintar
ChatGPT, sebagai proses EDA yang bijak, adalah krisis dan peluang. Ia boleh menggantikan sebahagian daripada kerja bahagian hadapan EDA, tetapi kerana bahagian belakang EDA sangat bergantung pada penentuan dan analisis butiran untuk mendapatkan struktur pengoptimuman yang lebih baik, adalah sukar untuk menyokong kerja pengoptimuman bahagian belakang EDA. Tetapi ia juga mewujudkan kedudukan baharu, seperti kemungkinan jurutera segera model dan jurutera pembetulan ralat.
Rajah 5: Alternatif mengikut jawatan jurutera
Untuk mengklasifikasikan dengan lebih jelas trend kebolehgantian dalam industri silikon dalam kedudukan yang berbeza, kami telah membahagikannya kepada empat peringkat dari atas ke bawah mengikut proses EDA, iaitu peringkat reka bentuk seni bina - peringkat pelaksanaan kod cip - PPA cip Fasa Penalaan - Fasa Pengesahan Cip ditunjukkan dalam Rajah 5. Ambil perhatian bahawa penalaan cip di sini merujuk kepada penalaan yang dicapai dengan menukar beberapa struktur perkakasan dan algoritma pada bahagian hadapan, jadi ia disenaraikan sebelum pengesahan cip. Kotak biru mewakili kedudukan yang sukar diganti, kotak kuning mewakili kedudukan yang mudah diganti, dan kotak kelabu mewakili kedudukan yang baru ditambah. Analisis kebolehgantian berikut mengikut proses tertentu mendedahkan mengapa jurutera dalam beberapa jawatan mudah digantikan oleh ChatGPT, manakala jurutera dalam beberapa jawatan sukar digantikan oleh ChatGPT.
Penyelidik Han Yinhe, pengarah Pusat Pengkomputeran Pintar Institut Teknologi Pengkomputeran, Akademi Sains China, percaya ChatGPT bukan sahaja dapat membantu mempercepatkan proses reka bentuk cip, tetapi juga membawa satu siri cabaran kepada cip itu sendiri, yang mungkin menjadi topik hangat semasa seperti storan dan pengkomputeran Teknologi seperti satu bahagian, penyepaduan cip-ke-cip dan seni bina cip besar membawa aplikasi pembunuh yang ditunggu-tunggu.
Proses yang sukar diganti
Proses yang baru ditambah
Trend Pembangunan Masa Depan
Di bawah gelombang EDA pintar, beberapa kedudukan tidak dapat dielakkan akan diganti, maka dalam susunan apakah mereka akan diganti pada masa hadapan? Dari perspektif pengedaran bahagian hadapan dan bahagian belakang, bahagian belakang sangat tidak boleh diganti kerana tugasnya yang terperinci seperti reka bentuk susun atur. Untuk bahagian hadapan, penggantian pertama ialah jurutera modul dalam pelaksanaan cip, kerana daripada amalan menjana cip di atas, boleh didapati bahawa bahagian penjanaan kod modul asas adalah yang paling intuitif. Kedudukan gantian yang akan muncul selepasnya ialah jurutera reka bentuk komponen Bahagian ini akan diganti selepas jurutera membiasakan diri menggunakan ChatGPT untuk memasang modul. Bagi jurutera lain, ChatGPT lebih kepada nilai tambahan dan bukannya pengganti lengkap.
Oleh itu kita dapat melihat bahawa semakin tinggi tahap, semakin kecil kemungkinan ia menggantikan bahagian yang melibatkan abstraksi seni bina, semakin kecil kemungkinan ia menggantikan bahagian yang melibatkan ketepatan. Susunan penggantian bahagian tengah adalah dari bawah ke atas, daripada modul asas kepada komponen peringkat atas.
Dasar harus merebut peluang EDA pintar
Berdikari dan sepenuhnya menyerap dunia Frontiers bukan tanpa percanggahan. Terdapat sebab yang rumit mengapa EDA tradisional dan model besar muncul di OpenAI tetapi syarikat lain masih belum mengetahuinya. Walau bagaimanapun, dasar masih perlu memisahkan tangan untuk mengalihkan beberapa modal yang terlalu panas daripada projek yang menyelesaikan masalah EDA tradisional dan model besar, dan menggalakkan syarikat untuk merebut peringkat awal pembangunan EDA pintar apabila halangan industri kecil, berani memasuki industri, dan membina. produk baru. Hanya dengan cara ini kita dapat menyelesaikan masalah yang sentiasa digantikan oleh teknologi baru. Jika tidak, kemasukan modal yang terlalu panas ke dalam industri matang akan menyebabkan kemerosotan dalam pulangan modal Pada masa yang sama, teknologi inovatif tidak akan dapat memperoleh sokongan kewangan yang lebih tinggi, menyebabkan syarikat inovatif tidak berani mencuba dan melakukan kesilapan, yang akan berlaku. hampir meningkatkan kos percubaan dan kesilapan syarikat inovatif, menjadikan syarikat Inovatif memilih teknologi yang terbukti pasaran. Oleh itu, dasar sepatutnya menggalakkan syarikat membangunkan teknologi terbitan berdasarkan model besar seperti ChatGPT Terutamanya memandangkan model besar telah menunjukkan keupayaan penjanaan kod yang kukuh, syarikat yang berasaskan teknologi EDA pintar harus merebut peluang itu.
Tumpuan pelaburan pasaran modal harus beralih daripada model besar itu sendiri kepada teknologi derivatifnya
Dalam bidang teknologi maklumat, teknologi canggih terus bergerak daripada umum kepada khusus, dan secara beransur-ansur bergerak ke arah teknologi terbitan berdasarkan teknologi terdahulu, paling jelas dalam bidang reka bentuk pemproses. Pada abad yang lalu, CPU sangat popular, mencipta komputer berprestasi tinggi Pada awal abad ini, GPU secara beransur-ansur menjadi popular, memacu perkembangan permainan Dalam sepuluh tahun yang lalu, NPU telah mula melangkah ke pentas, membolehkan latihan dan penaakulan rangkaian saraf yang cekap tenaga. Ia boleh disimpulkan bahawa apabila model besar matang, teknologi terbitannya juga akan muncul dalam beberapa tahun akan datang.
Teknologi EDA Pintar ialah terbitan teknologi model besar. Walaupun pelaburan dalam teknologi derivatif nampaknya tidak berfaedah pada mulanya, dari sudut ekonomi, pulangan pelaburan akan lebih tinggi sehingga teknologi itu dilancarkan dan membentuk halangan teknikal. Apabila teknologi model besar seperti ChatGPT matang, pelaburan dalam perusahaan akan mengalami kesan marginal yang semakin berkurangan. Pelabur individu dan pelabur institusi harus mengiktiraf peraturan pelaburan teknologi maklumat dan secara beransur-ansur mengalihkan perhatian mereka kepada bidang derivatif model besar, terutamanya aplikasi algoritma berdasarkan model besar dalam bidang cip. Pengamal industri harus menggunakan sepenuhnya kelebihan dana besar yang ditubuhkan di negara saya untuk bidang kecerdasan buatan dan litar bersepadu, dan secara aktif memohon dana yang bersilang dengan kecerdasan buatan dan EDA. Oleh itu, sama ada dari perspektif dasar perindustrian atau peraturan pelaburan, bidang EDA pintar sangat diperlukan dan harus menjadi sasaran pelaburan bagi pelabur China.
Penjanaan kod berdasarkan model teks
[1] Zhangyin Feng, Daya Guo, Duyu Tang, Nan Duan, Xiaocheng Feng, Ming Gong, Linjun Shou, Bing Qin, Ting Liu, Daxin Jiang dan Ming Zhou. 2020. [CodeBERT: Model Pra-Terlatih untuk Pengaturcaraan dan Bahasa Semula Jadi]. Dalam Penemuan Persatuan Linguistik Pengiraan: EMNLP 2020, halaman 1536–1547, Dalam Talian. Persatuan untuk Linguistik Pengiraan.
[2] [GRAPHCODEBERT: PERWAKILAN KOD PRA-LATIHAN DENGAN ALIRAN DATA]
[3] [KodT5: Model Pengekod-Penyahkod Bersepadu Pra-latihan yang sedar pengecam untuk Pemahaman dan Penjanaan Kod]
[4] [UniXcoder: Pra-latihan Bersepadu Cross-Modal untuk Perwakilan Kod]
基于测试用例的代码生成
[5] Rajeev Alur, Rastislav Bodík, Mil. Raghothaman, Sanjit A. Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, Abhishek Udupa, [Syntax-guided synthesis], 2013
[6] Peter-Michael Osera, Steve Zdancewic, [Type-and-example-directed Program Synthesis], 2015
[7] John K. Feser, Swarat Chaudhuri, Isil Dillig, [Sintesisting Data Structure Transformations from Input-output Contoh], 2015
[8] Armando Solar-Lezama, [Program Synthesis by Sketching], 2008
[9] [Kensen Shi ], [Jacob Steinhardt], [Percy Liang], FrAngel: Sintesis Berasaskan Komponen dengan Struktur Kawalan, POPL, 2019
[10] Yu Feng, Ruben Martins, Yuepeng Wang, Isil Dillig, Thomas W. Reps, Sintesis berasaskan komponen untuk API kompleks, [Notis SIGPLAN ACM], 2017
基于逻辑规则的代码
[11] Z. Manna dan R. Waldinger, "Synthesis: Dreams → Programs," dalam IEEE Transactions on Software Engineering, vol. SE-5, tidak. 4, hlm. 294-328, Julai 1979, doi: 10.1109/TSE.1979.234198.[12] Bernd Finkbeiner dan Sven Schewe, Bounded Technol Transfer sintesis, dalam Inst Technol Transfer Softw , (2013), 15:519–539, DOI: 10.1007/s10009-012-0228-z
[13] Peter Faymonville, Bernd Finkbeiner, dan Leander Tentrup, BoSy Rangka Kerja Percubaan untuk Sintesis Terhad, CAV 2017
Atas ialah kandungan terperinci Gelombang EDA pintar akan datang, bagaimana ChatGPT membantu mereka bentuk cip?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!