概念辨析-Description Language还是Description Library?
 
一. Language的概念
 
Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems.
 
可以看到Verilog是Language。同样,VHDL和SystemVerilog也是。
Chisel虽然嵌于Scala,但只用了一个很小的子集,并且与正常的Scala写法也有很大的区别。再者,Chisel: Constructing Hardware in a Scala Embedded Language,也表明了是嵌于Scala的语言,而非独立的语言。
 
Language之所以成为Language是因为其独特的语法,如关键字和语法结构。
比如VHDL、Verilog、SystemVerilog的关键字和提供的语法糖就有很大不同,表达效率也因此而异。
 
二. 建模
 
无论是什么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等等。
 
三. Library
 
使用其他语言建模硬件,则需要基于该语言针对硬件建模的库,即Library。Library则是基于某种语言的库,为语言提供某一个专业领域的基础能力。比如libc,glibc,就是C语言的运行时库;libc++是C++的运行时库。libssl是ssl的库,凡此种种。
 
举个例子:SystemC(不甚了解):
 
总结一下,无论是Language还是Library都是用于model electronic systems. 只是Language是专用硬件建模语言,而Library则是基于现有语言,提供硬件建模能力。

概念辨析-Description Language还是Description Library?的更多相关文章

  1. 高并发应用中客户端等待、响应时间的推算,及RT/QPS概念辨析

    高并发应用中客户端等待.响应时间的推算,及RT/QPS概念辨析 对于一个网站,已知服务端的服务线程数和处理单个请求所需的时间时,该如何算出高并发时用户从点击链接到收到响应的时间?注意这个时间并不等于服 ...

  2. Python类型转换+序列操作+基本概念辨析速查手册

     第一部分是Python语言中基础中的基础,根据网上资料,合并如下:       1.类型转换     int(x [,base])  将x转换为一个整数     long(x [,base]) 将x ...

  3. AE开发概念辨析

    樱木 原文 AE开发之概念辨析2,AE开发涉及相关概念,AE开发相关概念 1 AE中的类库 AE总共包括了21个子库,分别是SYSTEM,SYSTEMUI,GEOMETRY,DISPLAY,SERVE ...

  4. 概念辨析-Hardware Description还是Hardware Developing?

    https://mp.weixin.qq.com/s/j4Ndo1R4Go9IaGbhE_nsTg   Verilog, standardized as IEEE 1364, is a hardwar ...

  5. 【转载】[C#]枚举操作(从枚举中获取Description,根据Description获取枚举,将枚举转换为ArrayList)工具类

    关键代码: using System; using System.Collections; using System.Collections.Generic; using System.Compone ...

  6. Web Service概念辨析

    Web Service包含两个概念. 其一是Web Service标准体系,由SOAP.WSDL.UDDI三要素组成,是平台和语言无关的.在这个概念里和WCF做比较是错误的,因为前者是行业标准,后者是 ...

  7. Java概念辨析:equals和== equals和hashCode

    1. equals和== ======================================================================================= ...

  8. 编辑器、编译器、文件、IDE等常见概念辨析

    一.编辑器与编译器 1.编辑器与编译器有什么区别? 简单讲,编译器就是将"一种语言(通常为高级语言)"翻译为"另一种语言(通常为低级语言)"的程序.一个现代编译 ...

  9. Java-接口概念辨析

    https://mp.weixin.qq.com/s/HQZhlS-ffgEMqhB2rHax1w 1. 类        是属性成员和方法成员的集合:2. 父类      是子类相同属性成员和方法成 ...

随机推荐

  1. 网络流 A - PIGS POJ - 1149 最大流

    A - PIGS POJ - 1149 这个题目我开始感觉很难,然后去看了一份题解,写的很好 https://wenku.baidu.com/view/0ad00abec77da26925c5b01c ...

  2. 在web项目中使用shiro(记住我功能)

    第一步,添加“记住我”复选框,rememberMe要设置参数 第二步,配置shiro的主配置文件 注意 rememberMeCookie对应的bean中要声明 <constructor-arg ...

  3. Spring杂谈 | 什么是ObjectFactory?什么是ObjectProvider?

    在Spring的学习过程中,总是学的越多,不懂的越多.本来只是想将ApplicationContext的相关内容全部梳理一遍,结果发现涉及的东西越来越多,比如上篇文章中的ResolvableType, ...

  4. 存储过程——异常捕获&打印异常信息

    目录 0. 背景说明 1. 建立异常信息表ErrorLog 2. 建立保存异常信息的存储过程 3. 建立在SQL Server中打印异常信息的存储过程 4. 建立一个用于测试的存储过程抛出异常进行测试 ...

  5. [hdu5402 Travelling Salesman Problem]YY

    题意:给一个n*m的矩形,每个格子有一个非负数,求一条从(1,1)到(n,m)的路径(不能经过重复的格子),使得经过的数的和最大,输出具体的方案 思路:对于row为奇数的情况,一行行扫下来即可全部走完 ...

  6. Linux vim 常用命令(不定时update)

    1.退出 先esc  再:q 2.保存退出 先Esc 再:wq 3.强制退出 先Esc 再:q! 4.寻找关键字 先 shift+ 再/keyword 5.查看行数 set nu 6.跳到指定行(例如 ...

  7. Linux中的vi编辑器使用

    总是忘记,我就谢谢 touch XXX文件名 vi XXX文件名 敲击 i 进入编辑模式 敲击ESC 退出编辑模式 退出编辑模式后 输入:wq!保存并退出 输入:q!不保存退出 查看文件:cat XX ...

  8. transition完成事件

    当transition事件完成时调用函数(移动端导航的动画消失效果). <!doctype html> <html> <head> <meta charset ...

  9. Spring全家桶之spring boot(一)

    spring boot框架抛弃了繁琐的xml配置过程,采用大量的默认配置简化我们的开发过程.使用spring boot之后就不用像以前使用ssm的时候添加那么多配置文件了,spring boot除了支 ...

  10. java学习笔记之原型模式及深浅拷贝

    一.原型模式的基本介绍 在聊原型模式之前,我们来思考一个小问题,传统的方式我们是如何克隆对象呢? 那我们以多利羊(Sheep)为例,来说明上述这个问题,具体代码见下面: 多利羊(Sheep) publ ...