首页 理论教育 FPGA系统设计:for循环语句

FPGA系统设计:for循环语句

时间:2023-10-20 理论教育 版权反馈
【摘要】:for循环语句的格式如下:for循环过程语句;例6.46:结合上面这个for循环的例子,我们对for循环的格式进行了解。for循环里的循环过程语句如果有很多行,可以用begin-end语句块把它括起来。例6.47:用for语句实现8位*8位的乘法器in1是乘数,8位;in0是被乘数,8位;out是输出,16位。例6.49:用for语句确定输入的16位数据包含奇数还是偶数个1。

FPGA系统设计:for循环语句

for循环语句的格式如下:

for(循环变量的起始赋值;for循环继续的条件;循环变量增减)

循环过程语句;

例6.46:

结合上面这个for循环的例子,我们对for循环的格式进行了解。

首先定义整数变量m。给counter赋初始值0。

开始for循环:

先给循环变量m一个起始值m=0;执行循环,counter加1,counter=1;循环变量m增加1,m=1;

再判断m是否小于3,小于3成立,再执行循环,循环变量m增加1,m=2;

...

等循环条件不满足时,跳出循环。

for括号里的m=0就是循环变量的起始赋值;for括号里的m<3就是for循环继续的条件;for括号里的m=m+1就是循环变量增减。(www.xing528.com)

for括号里的第三项不一定非得是增加,也可以是减少,不一定非得是步进增减1,也可以增减2或别的步进值。

for循环里的循环过程语句如果有很多行,可以用begin-end语句块把它括起来。

例6.47:用for语句实现8位*8位的乘法器

in1是乘数,8位;in0是被乘数,8位;out是输出,16位。

进入for语句后,i=1,if语句先判断in1的最低位是否为1,为1,则把被乘数in0左移0位,加到输出out;

for语句循环,i=2,if语句先判断in1的右边第二位是否为1,为1,则把被乘数in0左移1位,加到输出out;

...

例6.48:用for语句描述一个3位的乘法器。

例6.49:用for语句确定输入的16位数据包含奇数还是偶数个1。

对于奇偶校验的校验位的确定,该例子把0与输入数据的每一个位依次进行异或,如果有偶数个1,则一个数异或1再异或1,相当于什么都没做,输出为0;若输入in有奇数个1,则输出为1。根据输出的out,可知输入in包含了奇数个还是偶数个1。读者试着思考一下,如果不仅仅想知道有奇数或偶数个1,还想知道1的个数,该怎么做。很自然,可以考虑使用计数器。

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

我要反馈