种豆资源网

当前位置:首页 > 经验 / 正文

非过程计算机硬体描述语言

(2021-06-02 12:48:29) 经验
非过程计算机硬体描述语言

非过程计算机硬体描述语言

硬体描述语言(Hardware Description Language,HDL)是电子系统硬体行为描述、结构描述、数据流描述的语言。非过程计算机硬体描述语言是指不显式处理过程细节的硬体描述语言。这里所说的过程细节,不是指待解问题及其解法的本质所要求的的,而是指为计算机上实现求解任务而设定的计算细节及其执行顺序。

基本介绍

  • 中文名:非过程计算机硬体描述语言
  • 外文名:Non process computer hardware description language
  • 学科:软体工程
  • 特点:不显式处理过程细节
  • 有关术语:硬体描述语言
  • 功能:描述电路的功能、行为

简介

非过程计算机硬体描述语言是使人们无须关心问题的解法和计算过程的描述,只要指明输入数据所要完成的加工项目和输出形式,就能得到所需要的结果,而其余工作都由系统予以完成的硬体描述语言,主要特徵如下:数据的联想引用机制;数据的高级操作符;不指明可变性顺序。联想引用机制是指不指明访问路径、只需给出条件或性质的描述;高级操作符是指可直接表示集合、数组的运算的操作符;可变性顺序是指改变执行次序也不影响处理结果的顺序。

硬体描述语言

1970年代以来,积体电路的複杂程度按照半导体业界摩尔定律的趋势急剧增长。电路设计人员的工作量不断增加,这使得他们必须放弃以往那样从特定的电子元件,如CMOS、双极性电晶体为基础,来开始複杂电路的设计工作。设计流程的关注重心开始转到电路系统的数据流动以及有关时序的信息,这样的设计抽象级别被称为“暂存器传输级”。设计人员通过使用硬体描述语言,可以将精力放在电路逻辑功能、时序的设计上,而不需要一开始就考虑具体的器件製造工艺以及它们对电路功能的影响。
在传统的硬体电路设计中,主要的设计档案是电路原理图,而採用HDL设计系统硬体电路时主要使DHL编写源程式。所谓硬体描述语言 是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言,它可以使数字逻辑电路设计者利用这种语言来描述自己的设计思想。
硬体描述语言在很多地方可能和传统的软体程式语言类似,但是最大的区别是,前者能够对于硬体电路的时序特性进行描述。硬体描述语言是构成电子设计自动化体系的重要部分。小到简单的触发器,大到複杂的超大规模积体电路(如微处理器),都可以利用硬体描述语言来描述。常见的硬体描述语言包括Verilog、VHDL等。
硬体描述语言是对电路系统的结构、行为的标準文本描述。硬体描述语言和一些并行程式语言一样存在并行性的表达方式。然而,和大多数用于软体设计的程式语言不同,硬体描述语言可以描述硬体系统在不同时间的时序行为,而时序性正是硬体电路的重要性质之一。在计算机辅助设计中,用于描述电路模组中连线、各层次模组之间互连的硬体描述语言代码,被称为“网表”。硬体描述语言可以在结构级(或称逻辑门级)、行为级、暂存器传输级这几种不同的层次上对电路进行描述,实现同一功能的硬体描述语言也可以使用任一层次的硬体描述语言代码来描述。通过逻辑综合,后两种层次的硬体描述语言代码可以被转换到低抽象级别的门级描述,但是採用不同厂商的工具、使用不同的综合设定策略可能会产生不同的结果。
在实现具体的硬体电路之前,设计人员可以利用硬体描述语言来进行仿真。在硬体实现的过程中,硬体描述语言的源档案通常会被转换成一种类似执行档的中间档案,该档案可以解释硬体描述语言的各种代码、语句的语义。正由于此,硬体描述语言具有了类似软体程式语言的一些性质,但是总体来说,它仍然属于规约语言、建模语言的範畴。模拟电路也有自己的硬体描述语言,但和数字电路的差异较大。

相关硬体描述语言

Verilog是一种用于描述、设计电子系统(特别是数字电路)的硬体描述语言,主要用于在积体电路设计,特别是超大规模积体电路的计算机辅助设计。Verilog是电气电子工程师学会(IEEE)的1364号标準。
Verilog能够在多种抽象级别对数字逻辑系统进行描述:既可以在电晶体级、逻辑门级进行描述,也可以在暂存器传输级对电路信号在暂存器之间的传输情况进行描述。除了对电路的逻辑功能进行描述,Verilog代码还能够被用于逻辑仿真、逻辑综合,其中后者可以把暂存器传输级的Verilog代码转换为逻辑门级的网表,从而方便在现场可程式逻辑门阵列上实现硬体电路,或者让硬体厂商製造具体的专用积体电路。设计人员还可以利用Verilog的扩展部分Verilog-AMS进行模拟电路和混合信号积体电路的设计。
SystemC是一种基于C++语言的用于系统设计的计算机语言,是用C++编写的一组库和宏。它是为了提高电子系统设计效率而逐渐发展起来的产物。IEEE于2005年12月批准了IEEE1666-2005标準。
通常,系统由软体部分和硬体部分组成,系统的一部分功能由软体实现,而另一部分功能则由硬体实现。早期的系统比较简单,系统工程师将準备设计的系统划分为软体部分和硬体部分,分别由软体工程师和硬体工程师进行设计、仿真、实现和改进,最后再将软体部分和硬体部分结合起来形成系统。软体工程师使用C和C++等程式设计语言,因为这些语言专长于描述串列执行的程式,用来仿真软体部分;而硬体工程师则使用VHDL和Verilog等硬体描述语言,因为这些语言专长于描述并行运行的硬体,用来仿真硬体部分。但是,随着电子系统的不断发展,系统结构越来越複杂,系统元件也越来越多,这就要求系统工程师在先期划分软体和硬体时,就对整个系统性能有很好的了解和掌握,以便更好地划分软体和硬体,减小设计中不必要的失误所带来的损失和风险。SystemC也就由此孕育而生,因为它能够满足对软体和硬体协同仿真的需求。
搜索
热门图片
最近更新
随机推荐

Powered By 种豆资源网||