第一步:讓ChatGPT偽裝成Linux。
我先讓它偽裝成Linux,給它說你安裝了synopsys vcs2018以及uvm-1.1。
讓ChatGPT偽裝成Linux終端。然后把執(zhí)行指令和你告訴它的話區(qū)別開來,這里用{}代表告訴它的話,而不帶{}統(tǒng)統(tǒng)是Linux指令。
創(chuàng)建一個驗證文件夾。
第二步:生成全加器的Verilog設(shè)計文件。
這里特地用{}偷偷告訴它在當(dāng)前文件夾下,創(chuàng)建一個名為"adder.v"的文件,這個文件的內(nèi)容是用verilog HDL語言實現(xiàn)一個全加法器。這個全加器有三個輸入和兩個輸出。三個輸入分別是兩個位寬為4bit的數(shù)據(jù)輸入,以及一個來自低位的進位輸入。兩個輸出分別是位寬為4bit的數(shù)據(jù)結(jié)果以及一個進位結(jié)果。
第三步:生成一套UVM Agent。
用類似的方式,創(chuàng)建一個名為“adder_agent.sv”的文件。該文件內(nèi)容是使用UVM框架,實現(xiàn)一個全加器的agent。在這個agent中,需要包括interface class:adder_if,driver class:adder_driver,monitor class:adder_monitor, sequencer class:adder_seqr, env class:adder_env等組件。需要在env中對上述組件進行必要的創(chuàng)建和連接。這個agent中不需要包括啟動用例的過程。所有打印信息需要使用UVM_INFO的方式進行打印。
UVM的框架看起來還是挺像那么回事的。packet的成員是rand的,driver里竟然還get了interface……不過monitor的邏輯好像有些混亂……
第四步:生成Testbench頂層文件。
在當(dāng)前文件夾中,創(chuàng)建一個名為“top_adder.sv”的文件。該文件內(nèi)容是利用SystemVerilog語言和UVM框架,實現(xiàn)一個top頂層來驗證上述剛剛產(chǎn)生的全加法器。這個testbench中需要例化全加器的設(shè)計,然后用adder_if來與dut進行連接。同時,這個testbench中需要包含生成FSDB波形文件的語句。
看起來是Dump了FSDB的波形。
第五步:生成Makefile。
創(chuàng)建一個名為"Makefile"的文件,其中的命令包括compile、run、all。compile命令會使用vcs編譯我寫好的加法器文件和testbench文件,并生成.simv文件,同時將編譯日志命名為compile.log。run命令會進行vcs的仿真驗證,同時將仿真日志命名為run.log。
好了,現(xiàn)在我們看一下當(dāng)前文件夾下生成了哪些文件:
現(xiàn)在設(shè)計文件、UVM組件、testbench和Makefile都齊活了,可以開驗了。
第六步:使用VCS進行編譯。
告訴他,在終端執(zhí)行“make compile”,并在終端實時打印出編譯日志。
這個log看起來……嗯,挺像回事的。最后還給出了耗時:6.97s。
第七步:使用VCS進行仿真。
告訴他,在終端執(zhí)行“make run”,并在終端實時打印出仿真日志。
可能是log太長了,chatGPT并未給出全部仿真信息。
最后,我們看看chatGPT的成果:
最后的最后,嘗試一下用verdi debug???
ChatGPT只是語言模型,并不能真正的run。
審核編輯:劉清
-
VCS
+關(guān)注
關(guān)注
0文章
78瀏覽量
9581 -
LINUX內(nèi)核
+關(guān)注
關(guān)注
1文章
316瀏覽量
21608 -
HDL語言
+關(guān)注
關(guān)注
0文章
46瀏覽量
8905 -
ChatGPT
+關(guān)注
關(guān)注
29文章
1547瀏覽量
7399
原文標(biāo)題:讓ChatGPT給我跑個VCS仿真
文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論