首页 理论教育 FPGA系统设计功能定义

FPGA系统设计功能定义

时间:2023-10-20 理论教育 版权反馈
【摘要】:对于一个Verilog模块来说,模块中功能的定义这一部分,主要就是用来说明这个模块要实现什么功能。组合逻辑电路不需要有外部的时钟触发源,输入信号接入到组合逻辑电路,只要有输入信号,它就能产生输出信号,这就是组合逻辑。大家在学数字电路的时候,书本上最前面几章介绍的没有clk触发就能工作的电路,就是组合逻辑电路。上面这个always语句块里就是用clk来控制它的时序。只不过,用always语句块来描述时序逻辑电路是最传统常见的做法。

FPGA系统设计功能定义

对于一个Verilog模块来说,模块中功能的定义这一部分,主要就是用来说明这个模块要实现什么功能。一个模块能做什么事,通常可以有3种源代码的写法来实现它:

(1)用assign语句来产生逻辑电路

比如例4.1,它就是用了assign语句来产生逻辑电路。一般assign语句可以用来产生组合逻辑电路。组合逻辑电路不需要有外部的时钟触发源,输入信号接入到组合逻辑电路,只要有输入信号,它就能产生输出信号,这就是组合逻辑。大家在学数字电路的时候,书本上最前面几章介绍的没有clk触发就能工作的电路,就是组合逻辑电路。

(2)用always语句块来产生逻辑电路

看下面这个例子:

上面这个always语句块就可以用来产生时序逻辑电路。所谓时序逻辑电路,简而言之,就是这种电路在工作的时候需要有一个信号来控制它的时序步骤。上面这个always语句块里就是用clk来控制它的时序。(www.xing528.com)

但是要注意,根据写法的不同,always语句块既可以用来描述组合逻辑电路也可以用来描述时序逻辑。只不过,用always语句块来描述时序逻辑电路是最传统常见的做法。

(3)用实例元件调用来产生逻辑电路

例如:

一些常用的元器件已经被硬件描述语言写好并形成了元件库,用户在使用的时候可以直接调用这些元件,这就是实例调用。比如上面这一行语句里and就是写好的元件与门。也许会调用好几个这种元件与门,每一个都得有不同的名字。这一个与门就起了个名字u1。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈