为什么是“硬件描述语言”而不是“硬件设计语言”

“描述”一词说明电路不是凭空设计出来的,而是在能够实现的基础之上通过某种语言来描述他们的互联关系。早期的数字电路设计采用原理图设计方法,其本质上也是对电路的一种描述。它用原理图的形式将各种逻辑电路互联在一起。但随着电路的发展,采用原理图来设计数字电路已经显得力不从心了,因此便采用所谓的硬件描述语言来描述电路的互联关系。

由此也可以看出,硬件描述语言和计算机编程语言有着本质的差别。HDL必须基于硬件的实现基础之上,也就是说硬件描述语言所描述的电路必须是能够实现的。而计算机编程语言则不在乎电路的实现。因此当编写或阅读硬件描述语言的时候,从硬件结构的角度而不是从顺序算法的角度来考虑的话,将更容易理解。

也因为这个缘故,在编写代码的时候,应以导出电路为目的,而不是描述一个顺序的C语言算法。如果不能做到这一点,则会经常导致代码的不可综合,实现复杂,或仿真和综合之间存在差异。例如,同一个变量在多个always块中被赋值。在verilog语法中是允许这种情况,并且可以仿真。但是却无法综合。

🙂

发表评论

电子邮件地址不会被公开。 必填项已用*标注