VerilogProgrammingNotes

關於 Verilog

Verilog 是一種高階的硬體描述語言,我們可以利用它來進行抽象以及模組化的設計。所撰寫出來的程式碼除了可以在合成後被製成硬體以外,也能單純地進行模擬測試、或是能夠燒在 FPGA 板上進行驗證。

以抽象化的想法舉例來說,以前我們如果想要實做一個加法器可能要用 AND, OR, NOT, XOR 等元件來拼湊,但是現在只要用 + 這個符號,Verilog compiler 就會知道你需要加法器,然後自動幫你把加法器放上去。

有沒有開始覺得他的便利性了呢?就如同我們在寫程式語言的時候。現在不太直接的去寫組合語言,直接寫像是 C, java 等高階語言讓編譯器或是直譯器幫你轉成低階語言給電腦看,Verilog 也是有同樣方便的概念。


俗話說的好,要了解一個人,就要了解他的過去。因此,我們就來好好的看一下 Verilog 的歷史吧!

大事年表開始囉~

1983年,Philip Moorby 讓 Verilog 誕生了!
1984~1992年, Verilog 開始走紅
1993年,越來越多人願意支持 Verilog (人氣繼續上昇中)
1995年,IEEE 發佈了 Verilog-1995 的規範(人氣準備開始爆棚囉)
2001年,IEEE 發佈了 Verilog-2001 ,開始越來越多方便的語法
2005年,出現了 SystemVerilog ,一個驗證能力更強大的孿生子

雖然說有些 SystemVerilog 的特性我很喜歡,不過這系列主要還是注目在 Verilog 上啦!所以就之後幾乎不會談到 SystemVerilog 的語法與特性。

我覺得真的要比較 SystemVerilog & Verilog 的話,他們間的關係比較像是 C++ & C 之間錯綜複雜的纏綿吧?!不過 C & Verilog 相比就有蠻大的差異了,對比 C 語言會照著順序執行下來的流程不太一樣, Verilog 比較像是平行程式,開關一開,所有的零件就動了,有些的狀態還會跟時間(clock, Key word 請劃線~)有關。雖然說感覺起來像是在寫程式,但本質裡還是一個硬體的表述。