verilog vscode 與AI 外掛

Hello-FPGA發表於2024-09-11

Verilog 輕量化開發環境

背景

筆者常用的開發環境

  • VIAVDO, 體積巨大,自帶編輯器除了linting 能用,編輯器幾乎不能用,模擬介面很友好,但是速度比較慢。
  • Sublime Text, 非常好用的編輯器,各種外掛使用verilog 非常方便,可以自動補全、生成呼叫、linting等;
  • VSCODE,Sublime Text 有的外掛,VSCODE也都有,雖然不一定有sublime text好用,但是VSCODE有AI外掛的加持,顯得更有吸引力,更能提高工作效率。而且完全免費,VSCODE 註定一統江湖。

因此這裡主要說明如何搭建VSCODE輕量化環境。

環境搭建

首先你得有VSCODE,安裝包bing.com 搜尋一下(不要問為什麼不用百度) 自行安裝即可。

安裝外掛

手機的螢幕截圖

描述已自動生成

圖 2‑1 VSCODE Verilog 外掛

安裝Iverilog

Icarus Verilog for Windows (bleyer.org) 下載安裝輕量級開發、編譯工具Iverilog,這樣就可以完全不用VIVADO就完成模組級的程式碼開發。

安裝完成之後設定環境變數:

圖形使用者介面, 文字, 應用程式

描述已自動生成

圖 2‑2 設定iverilog 和 gtkwave 環境變數

設定完成重啟 電腦, WIN11似乎不用重啟 立即生效,只需要重啟VSCODE

設定外掛

文字

描述已自動生成

圖 2‑3 設定linter 為iverilog 執行在檔案所在目錄

編譯 檢視波形

Iverilog 對.sv檔案支援不好,需要編譯的頂層檔案最好是.v 字尾。涉及到模組呼叫,最好在程式碼中用`include 宣告一下。

文字

描述已自動生成

圖 2‑4 模擬頂層

文字

描述已自動生成

圖 2‑5 執行編譯 模擬

注意程式碼中必須包含自動$finish; 還要dump波形檔案。

initial begin

$display("start a clock pulse"); // 列印開始標記

$dumpfile("wave.vcd"); // 指定記錄模擬波形的檔案

$dumpvars(0, pulse_gen_test); // 指定記錄的模組層級

end

也可以用命令列執行編譯和模擬,基本命令如下:

@echo off

iverilog.exe -o target.vvp pulse_gen_test.sv

vvp.exe target.vvp

其中-o是目標檔案,pulse_gen_test.sv是待編譯的模擬檔案,vvp.exe執行對應的模擬。

然後生成目標wave.vcd檔案,透過gtkwave 可以檢視(在終端中執行gtkwave .\wave.vcd)。

圖形使用者介面

描述已自動生成

圖 2‑6 gtkwave 檢視波形

需要說明,VSCODE中的自動例項化模組有點問題,希望後面外掛可以解決。

AI 外掛

VSCODE最強的是他的AI外掛,這個是sublime text 沒有的。

文字

描述已自動生成

圖 3‑1 阿里TONGYI Lingma 外掛

應用市場搜尋安裝即可,國內大模型和外掛,阿里的最靠譜,實際使用體驗不錯,詳細很快能夠追上國外。

相關文章