千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:杭州千锋IT培训  >  技术干货  >  硬件描述语言与软件编程语言有什么本质的区别?

硬件描述语言与软件编程语言有什么本质的区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-21 03:09:06

一、硬件描述语言与软件编程语言的本质的区别

用途不一样。VHDL等硬件描述语言主要用于CPLD、FPGA的大规模可编程逻辑器件;而C语言等高级编程语言主要用于计算机等方面。做单片机方面,汇编语言是必学的,虽然单片机编程所用的大部分是C语言。VhdL语言是针对FPGA和CPLD的硬件描述语言,两者没多大共同点,是针对两个不同领域的语言。

首先说VHDL:它是描述电路的计算机工具,早期的CPLD等器件是基于与-或阵列的,更容易说明这点,VHDL是描述电路行为的,当下载到器件后,它就是具体的电路,这个电路全由与-或阵列组成。后期的FPGA也一样,只是它是基于查找表的。再说C语言:我们可以认为它是用于控制特定电路的工作。我们都知道可以C编程的控制器都有程序存储器,它里面就存放了C编译后的二进制代码。而VHDL里下载后根本就不需要这个存放程序的地方。

延伸阅读:

二、Verilog的抽象层次

Verilog的抽象层次是指,要实现一个功能,我们可以怎么用怎样的Verilog语言去描述他。Verilog一共有五种抽象层次,分别是:系统级、算法级、寄存器级、门级、开关级,其中系统级和算法级又称作是行为级,寄存器级又称为数据流级,门级和开关级又称作是结构级。

行为级是通过模块之间的数据流描述系统实现,并不关心具体的硬件层次。这一层次抽象层次较高,描述也最灵活。这一层次和C语言时类似的,语法逻辑上十分相似。

数据流级是通过通过描述模块内部或者模块之间,数据在寄存器间的流动和数据处理。数据流级抽象层次较低,一般数据流级描述可以进行逻辑综合。和C语言不同,数据流级描述涉及到具体的线路连接(如线网驱动和寄存器驱动)。

结构级是用具体的逻辑门(如与、或、非门等)和具体的开关器件实现模块功能。这一抽象层次级别最低,灵活性也较差。但是,同一个逻辑表达式表达的功能,用不同的电路结构去实现,最终的电路面积功耗速度稳定性等性能参数是完全不同的。这一层次上考虑的问题,C语言是完全不会考虑的。

总言之,Verilog有着比C语言更加丰富的抽象层次,这使得进行代码优化时,Verilog不仅可以像C语言一样,从算法逻辑上进行优化,灵活性高,还可以从电路设计实现的角度进行优化,更大程度上提高电路性能。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

pythonSymPy求极值

2023-11-14

python归并排序和快速排序比较

2023-11-14

pythonif-elif-else语句的使用注意

2023-11-14

最新文章NEW

python怎么传参数

2023-11-14

python如何查看对象属性

2023-11-14

python如何确定是否为可迭代对象

2023-11-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>