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

沒有留言 :