顯示具有 Verilog 標籤的文章。 顯示所有文章
顯示具有 Verilog 標籤的文章。 顯示所有文章

2023年3月22日 星期三

EditPlus 編輯器 Verilog 語法設定

二哥昨天問我說 EditPlus 能不能高亮顯示 Verilog 語法, 我到 EditPlus 的語法外掛網站找還真的有, 最新的是 2007 年版的 :





將下載之 zip 檔解壓縮後會得到語法檔 verilog.stx, 只要將它複製到 C:\Users\user\AppData\Roaming\EditPlus 3\ 底下後開啟 EditPlus, 然後到 Tools/Preference 功能表中設定即可. 

注意, 雖然 EditPlus 主程式是安裝在 C:\Program Files\EditPlus 3\ 下, 但語法設定檔 xxx.stx 與程式模板檔 template.x 卻不是放在 Program Files 這邊, 而是在使用者目錄的 AppData 下面, 但此目錄為隱藏資料夾, 必須在 C 碟 "使用者" 目錄的 "檢視" 中勾選顯示隱藏檔才看得到 : 




點 AppData 進去, 再點 Roaming 資料夾就可看到 EditPlus 3 資料夾了, 首先將上面解開的 verilog.stx 複製到這裡, 然後順便製作 Verilog 的模板檔 template.v, 用 EditPlus 開啟一個空白檔, 輸入最常見的全加器當模板 :

module fulladder (input a, b, c_in, output sum, c_out);
wire s1, c1, c2;

xor g1(s1, a, b);
xor g2(sum, s1, c_in);
and g3(c1, a,b);
and g4(c2, s1, c_in) ;
or g5(c_out, c2, c1) ;

endmodule

然後將其存成 template.v (Verilog 副檔名為 .v), 複製到 AppData/Roaming/EditPlus 3 底下 :




然後就可以到 EditPlus 的 Tools/Preferences 中進行設定, 首先點選左方的 Settings & Syntax, 然後按又上方的 "Add" 鈕, 在彈出視窗中輸入 Verilog, 這樣上方的程式語言框內就會添加 Verilog 了, 可按 Up 或 Down 鈕調整順序 :




點選剛剛新增的 Verilog, 然後按 "Syntax file" 框後面的 "..." 鈕, 點選 AppData/Roaming/EditPlus 3 資料夾下的 verilog.stx 檔, 另外還要在 File extensions 欄輸入副檔名 v (這很重要, 沒設這個就不會有語法高亮顯示效果), 最後按 OK 即完成語法檔設定 : 




接著設定模板檔, 參考 : 


在 Tools/Preferences 選單按左方的 Template, 按右上方的 Add 鈕或按 "File name" 框後面的 "..." 鈕 , 點選 AppData/Roaming/EditPlus 3 資料夾下的 template.v 檔再按 OK 鈕即可 : 




這樣就完成模板檔設定了, 開啟新檔時點選 Verilog 就會從這個檔案載入模板 : 





可見關鍵字都已經被高亮度顯示了. 

不過這個 2007 年版的只有 stx 語法檔, 沒有 acp 自動完成檔, 可以從 EditPlus 外掛網站下載比較早的版本, 例如 2002 年的 : 




解壓縮後將其中的 verilog.acp 檔複製到 AppData/Roaming/EditPlus 3 底下, 然後於 Tools/Preferences 選單的  Auto-completion 欄位中勾選 verilog.acp 即可 :




也可以設定在 EditPlus 上編譯與執行 Verilog 程式, 編譯程式為 iverylog, 執行則為 vvp, 參考 :


設定方式參考下面這篇 : 


2016年9月5日 星期一

Verilog 與 VHDL

最近菁菁週日不想跟我上市集, 所以買完菜如果時間還夠, 我就會順路去市圖逛逛, 看看有甚麼好書沒有. 本周找到這本 "Verilog硬體描述語言實務 (全華 2011, 鄭光欽)" : 


Source : eslite


此為第一版, 這本書已經出第二版 (2013)了.

隨意翻一翻, 感覺我的硬體熱又被激發了. 我以前就是做 ASIC 設計的啊! 但那時代的技術跟現在比起來可差多了, 而且模擬軟體與工作站都很貴, 離開了公司就如同失去了翅膀的飛鷹, 你只能帶走經驗與知識而已, 沒有了平台這些都沒有用了, 個人是沒有財力購買這些昂貴開發設備的, 只能投效 Design House.

但 1984 年 Xilinx 公司發明的 FPGA (現場可程式邏輯門陣列) 與 1983 年出現的 Verilog 與 VHDL 改變了這種態勢, 不僅將硬體設計軟體化, 也使得個人 IC 設計工作室變成可能, 大型客製化 IC 設計變成人人可在書房現學現做的玩意, 再也不是高不可攀的高科技. NI 公司的 LabView 甚至將 VHDL 整合到其視覺化 HLS 開發工具, 使得開發 FPGA 更便利. 關於 FPGA 參考 :

# 現場可程式邏輯門陣列 (FPGA)
# FPGA 技術介紹:5 大優點
# FPGA 基本概念
# 轉玩 FPGA
# CPLD/FPGA介紹與VHDL之使用

FPGA 簡言之, 就像可反覆寫入的 DVD RW 一樣, 裡面的電路圖與佈線是可以隨時規劃, 立即生效的. 而 FPGA 所依賴的規劃工具就是 Verilog 與 VHDL 硬體描述語言, 參考 :

# https://zh.wikipedia.org/wiki/Verilog
# https://zh.wikipedia.org/wiki/VHDL

Verilog 與 VHDL 的比較摘要如下 :

 項目 Verilog VHDL
 誕生 1983 1983
 研發者 Gateway 公司 美國國防部
 來源語言 C Ada
 最近版本 IEEE 1364-2005 IEEE 1076-2000
 低階描述能力 有 無
 使用率 80% 20% (主要是美國政府)

所以有 C 或 Java 背景的人學 Verilog 會比較容易上手, 教學文件參考 :

# Verilog HDL 教學講義
# 由C語言學習Verilog的思維轉換 (C/C++) (C) (IC Design) (Verilog)

其他兩本 Verilog 的中文書參考 :

# 數位邏輯設計與晶片實務(Verilog) (全華 2014, 劉紹漢)
# Verilog 硬體描述語言數位電路:設計實務(五版) (儒林 2015, 鄭信源)

目前 FPGA 有兩大供應商 Xilinx (賽靈思, 台積電的大客戶) 與 Altera (阿爾泰拉), 還有一家規模較小的 Lattice, 我之前有想要購買它生產的 SPLD (簡單可程式邏輯裝置) GAL 系列, 參考 :

# 可程式化陣列邏輯 GAL16V8

Xilinx 是 FPGA 的始祖, 但感覺怎麼好像很多書都介紹 Altera 的產品呢? 據下列這篇文章說法, 可能是 Altera 的開發工具 Quartus 介面比較友善易學之故 :

# 該如何選擇FPGA

Altera 的開發工具 Quartus 有免費版本可自由下載 :

# Quartus Prime software Lite edition

在露天找到一些開發板如下 :

# Altera MAX II EPM240 CPLD 開發板 學習板 實驗板 ★ 259295 -035 ★ $390
# Altera EPM240開發板送EPM240擴展板FPGA/CPLD送雙DVD 海量資料送(8G) $500
# FPGA開發板,核心板,主晶片ALTERA公司Cyclone I 的EP1C3T100C8N $580
# FPGA開發板/學習板/最小系統核心板 Altera Cyclone EP1C3T144 $720
# Xilinx FPGA開發板Spartan3 XC3S50AN開發板 核心板 最小系統板 $780

裡面有些是 CPLD (複雜可程式邏輯裝置), 它與 FPGA 都是可程式的 IC, 主要差別是 :
  1. CPLD 邏輯閘數目在數千至數萬規模, 而 FPGA 則在數萬至數百萬.
  2. CPLD 的系統架構較簡單, 在可規劃程度上比 FPGA 欠缺靈活性. 而 FPGA 則大多含有高階的內建模組如加法器或乘法器, 且支援系統組態部分或全部重新配置.  
其實近期我也沒有打算重操舊業玩 IC 設計, 因為現在還用不到, 光是 Arduino Nano 這塊板子就可以做很多應用了, 用韌體去控制 ATmega328P, 其實就是把它變成一顆特製 IC, 根本還不需要自己設計一顆. 只是偶然看到 Verilog 書裡面的邏輯設計, 又讓我一時手癢想要一探究竟而已, 以上只是一些調查摘要罷了.

2016-10-07 補充 :

我在總館借到下面這本旗標的 "正確學會 Verilog 的 16 堂課" :




此書是以 Verilog 來重新描述邏輯設計, 使用 Altera 公司的 Quartus 2 作為開發工具.


2019-03-19 補充 :

最近為了準備正修 Logic Design 授課, 看到圖書館架上好多 VHDL 與 Verilog 的書, 雖然這次課程不包含這部分, 但對該選哪一種來學有點困惑, 看了下面這篇後覺得還是選 Verilog 好了 :

# Verilog HDL和VHDL的比較
# Verilog,VHDL,system C 三者的差異

2019-06-04 補充 :

最近看下面這本書發覺裡面有隨著各元件介紹其 VHDL 寫法, 例如講到正反器時後面就會說明如何用 VHDL 表示正反器, 此書值得一讀 :

# Digital Fundamentals, Global Edition (11 edition)


Source : Amazon