verilog中的for 循环

这篇具有很好参考价值的文章主要介绍了verilog中的for 循环。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

例1.

module test(
output reg [8:0] sumx ,
input          [4:0] x
);

parameter n = 3'd3;

integer i ;
always @ (*)
begin
 sumx = 1 ;
 for( i=0; i<n; i=i+1 )
 sumx = sumx + x ; 
end
endmodule

令x=3,仿真结果
verilog中的for 循环
综合结果:
for循环n次代表有n个相似的电路模块存在;代码上的“循环反馈”结构在阻塞赋值时代表前后有关联
综合结果既不是一个加法器循环三次(C语言),也不是三个并联的加法器(generate for),而是三个加法器串联
verilog中的for 循环

注:
input [7:0] n
Error (10119): Verilog HDL Loop Statement error at test.v(13): loop with non-constant loop condition must terminate within 250 iterations
循环次数不能超过250,最好参数化

在一个周期内统计14bit din中1的个数 (海思面试)
verilog中的for 循环

例2.
out[0] <= y[0] ^ x[0] ;
out[1] <= y[2] ^ x[1] ;
out[2] <= y[4] ^ x[2] ;

out[31] <= y[62] ^ x[31] ;

这些代码需要输入32行,为了压缩代码,提高效率,我们往往会使用for语句:
always @ (posedge clk)
for ( i=0; i<32; i=i+1 ) out[i] = y[i*2] ^ x[i] ;

例2在loop中并没有出现反馈。综合后就是并联且没互联的32个异或门

https://blog.csdn.net/wordwarwordwar/article/details/79829012文章来源地址https://www.toymoban.com/news/detail-409810.html

到了这里,关于verilog中的for 循环的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Verilog中的parameter

    module parameters有parameter和localparam两种,它们所代表的值都可在编译时进行修改(参数传递),parameter可直接修改,localparam只能间接修改。 在模块中声明后,后续编译时还可以被重新声明的值所覆盖。 ———————————————— 【注】: 1)如果参数在声明时没有指

    2024年02月13日
    浏览(32)
  • Verilog基础:表达式中的整数常量(integer)

    相关文章 Verilog基础专栏 https://blog.csdn.net/weixin_45791458/category_12263729.html ​         整数常量可以由十进制、十六进制、八进制或二进制格式指定。         整数常量有两种表现形式。         第一种表现形式是一个简单的十进制数,应指定为0到9的数字序列,可以选

    2024年02月08日
    浏览(48)
  • linux 中的 nohup 命令(设置后台进程): nohup: ignoring input and appending output to ‘nohup.out’

    Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 在程序结尾来让程序自动运行。 比如我们要运行weblogic在后台: ./startWebLogic.sh 但是加入我们很多程序并不象weblogic一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用 结尾。 但是如果终端关

    2024年02月04日
    浏览(42)
  • 解决IDEA运行时报错Cannot start compilation: the output path is not specified for module “xxxxx“.

    友情提醒: 先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。 报错如下:Cannot start compilation: the output path is not specified for module \\\"xxxxx\\\". Specify the output path in the Project Structure dialog. 翻译成中文: 无法启动编译:未为模块\\\"xxxx\\\"指定输出路径,在

    2024年02月05日
    浏览(46)
  • Verilog中forever、repeat、while、for四类循环语句(含Verilog实例)

            当搭建FPGA逻辑时,使用循环语句可以使语句更加简洁易懂,Verilog中存在四类循环语句,如标题,几种循环语句的具体介绍和用法如下: (1)forever:连续的执行语句         语法格式:foreverstatement         forever循环语句常用于产生周期性的 时钟波形 作为仿真

    2024年02月13日
    浏览(41)
  • Verilog循环语句(for、while、foever和repeat)

    本文主要介绍verilog常用的循环语句,循环语句的用途,主要是可以多次执行相同的代码或逻辑。 verilog的循环语句主要有:for循环、while循环、foever循环和repeat循环。 注意注意,for循环在正式FPGA设计中部分情况下可综合,其余几个循环语句均不可综合,主要用于testbench。 f

    2024年02月04日
    浏览(48)
  • Verilog中的 条件语句\多路分支语句\循环语句

    一、背景 由于初学Verilog,故写篇笔记记录Verilog中的 if-else 、 case-endcase 、 for 、 while 、 repeat 、 forever 语法,以及例子。 二、if-else 定个标准,每个 if-else 的出现都要有 begin-end 语句。 2.1 标准结构 条件语句标准使用结构: 2.2 例子 二输入选择器: 三、case-endcase case 语句是一

    2024年02月11日
    浏览(47)
  • 【FPGA/verilog -入门学习5】verilog中的genrate for 和for 以及数组的用法

    本文参考:verilog generate语法总结-CSDN博客 Verilog数组赋值_笔记大全_设计学院 在Verilog中, generate for 和 for 都是用于循环的结构,但是它们具有不同的应用场合和语义。 for 循环: for 循环主要用于行为描述(behavioral description),通常用于描述算法或数学运算。 for 循环在仿真

    2024年02月03日
    浏览(46)
  • Java中的for循环

        for循环是Java程序中设计使用最多的循环语句之一。一个for循环可以用来重复执行某个语句直到条件得到满足。 在Java中,for是一种,是一种循环结构的引导词 代码如下: 在这个例子中,x是循环的变量,它被初始化为0,每次循环x加1直到x10,而x加1也可以写成x++;这

    2024年02月12日
    浏览(34)
  • linux 服务器出现 Input/output error 处理

    今天突然出现 ls、ss 、 lsof 等命令报错 -bash: /bin/ss: Input/output error 其中有一个服务器上出现提示 *** System restart required *** Last login: Thu Sep 15 12:02:09 2022 from 192.168.0.135 .ssh/rc: 12: .ssh/rc: cannot create /var/log/zabbix-agent/ssh.log: Read-only file system reboot 之后,OK 另一个服务器上更严重 $ sudo

    2024年02月06日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包