当我们使用HDL代码在描述硬件功能时,主要有三种描述方式,即结构化描述方式、数据流描述方式、行为级描述方式。在平时编程时,可根据实际情况及个人喜好选择其中一种或者几种混合在一起进行自己的HDL代码编写。下面对三种描述方式进行介绍。
1.结构化描述方式
结构化描述方式时抽象级别最低的描述方式,但同时也是最接近于实际硬件的描述方式。采用结构化描述方式来编写HDL代码,其思路就跟在面包板上搭建数字电路是一样的,编程就是一个一个的器件相连。
但结构化描述不常用,原因有二:
1.使用结构化描述方式不宜描述功能复杂电路。因为我们大脑不仅要抽象出电路逻辑功能,还要抽象出具体实现形式。
2.不同FPGA厂商提供的软件集成开发环境中的原语使用名称是不一样的,代码编写起来不通用。
但结构化描述方式也有优势。父模块调用子模块的过程只能通过结构化的描述方式来实现。
言而总之,结构化描述方式的特征就是实例化语句。
一个例子
输入abcd分别为一比特逻辑,当ab不相等且cd不相等时输出o为1,否则输出o为0.要用结构化描述方式编写代码,必须先抽象出数字电路结构(即具体用到什么门电路)。
比如说采用下图的门电路(答案不唯一)

这里采用两个异或门和一个与门。
verilog实现
module aa(
input a,b,c,d,
output o
);
wire tmp0,tmp1;
XOR2 m0

本文详细介绍了在HDL代码中描述硬件功能的三种主要方式:结构化描述、数据流描述和行为级描述。每种方式都有其独特的优势和适用场景,结构化描述最接近实际硬件,数据流描述关注数据变换,而行为级描述则更侧重于算法描述。
最低0.47元/天 解锁文章
1159

被折叠的 条评论
为什么被折叠?



