首页 百科知识 FOR-GENERATE语句

FOR-GENERATE语句

时间:2022-10-15 百科知识 版权反馈
【摘要】:另外,无论是使用FOR-GENERATE语句,还是IF-GENERATE语句,都必须加“标号”。图5.9是一个由4个D触发器组成的移位寄存器的原理框图,例5-32是利用GENERATE语句来描述该4位移位寄存器的一个程序模块。FOR-GENERATE语句采用触发器元件dff产生4个依次互连的dffx实例,形成移位寄存器,该寄存器的输入信号z与端口a相连,输出信号z与端口b相连。

5.9.1 FOR-GENERATE语句

FOR-GENERATE语句的语法格式为:

img202

FOR-GENERATE语句与FOR-LOOP看起来十分相像,都有循环变量,且循环变量不需要事先定义,在GENERATE语句内可读不可写,但是,FOR-GENERATE自身是用于生成重复结构的并发语句,其内部包含的执行语句也只能是并发语句,而FOR-LOOP语句自身及其包含的执行语句都是描述行为的顺序语句。因此,在使用GENERATE语句时,一定要注意FOR-GENERATE语句与FOR-LOOP虽然形似,但有着本质的区别。另外,无论是使用FOR-GENERATE语句,还是IF-GENERATE语句,都必须加“标号”。

图5.9是一个由4个D触发器组成的移位寄存器的原理框图,例5-32是利用GENERATE语句来描述该4位移位寄存器的一个程序模块。

img203


图5.9 4位移位寄存器原理图

【例5-32】4位移位寄存器的设计

D触发器dff的源程序dff.vhd如下:

img204

img205

4位移位寄存器shift的源程序shift.vhd如下:

img206

例5-32中的4位移位寄存器,端口a是输入端,端口b为输出端,端口clk为时钟输入端。FOR-GENERATE语句采用触发器元件dff产生4个依次互连的dffx实例,形成移位寄存器,该寄存器的输入信号z(0)与端口a相连,输出信号z(4)与端口b相连。

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

我要反馈