1. 程式人生 > >概念辨析-Description Language還是Description Library?

概念辨析-Description Language還是Description Library?

desc nor lin ems qpi war attach ext ons

概念辨析-Description Language還是Description Library?
  1. Language的概念
Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems. 引自wiki: https://en.wikipedia.org/wiki/Verilog. 可以看到Verilog是Language。同樣,VHDL和SystemVerilog也是。 Chisel雖然嵌於Scala,但只用了一個很小的子集,並且與正常的Scala寫法也有很大的區別。再者,Chisel: Constructing Hardware in a Scala Embedded Language,也表明了是嵌於Scala的語言,而非獨立的語言。
Language之所以成為Language是因為其獨特的語法,如關鍵字和語法結構。 比如VHDL、Verilog、SystemVerilog的關鍵字和提供的語法糖就有很大不同,表達效率也因此而異。
  1. 建模
無論是什麽language,其目的都是model electronic systems. 建模得到的只是模型,而非electromic systems本身。這也是HDL中D之所以是Description的原因。 任何語言都可以建模。 進而,任何語言都可以model electronic systems. 只是術業有專攻,各種擅長的領域不同。專有的Hardware Description Language或者Hardware Modeling Language,如VHDL, Verilog、SystemVerilog的表達效率高,模型較精確。
但不能否定,其他語言也可以model electronic systems. 如C,C++,C#, Python, Java, Haskell, Ruby等等。 ?技術分享圖片? 引自wiki:https://en.wikipedia.org/wiki/Hardware_description_language
  1. Library
使用其他語言建模硬件,則需要基於該語言針對硬件建模的庫,即Library。Library則是基於某種語言的庫,為語言提供某一個專業領域的基礎能力。比如libc,glibc,就是C語言的運行時庫;libc++是C++的運行時庫。libssl是ssl的庫,凡此種種。 舉個例子:SystemC(不甚了解):
?技術分享圖片? 引自wiki:https://en.wikipedia.org/wiki/Hardware_description_language 總結一下,無論是Language還是Library都是用於model electronic systems. 只是Language是專用硬件建模語言,而Library則是基於現有語言,提供硬件建模能力。

概念辨析-Description Language還是Description Library?