FPGA中for语句问题

作者&投稿:苦兰 (若有异议请与网页底部的电邮联系)
verilog 里 for循环问题 fpga开发~

for循环里面I<I是什么意思?I应该小于一个常数才对。
而且一般最好不用for语句,综合出来的东西让人觉得有点无厘头。
加延时会占用很多资源。很浪费。

seg_decoder d1(.N(Q),.iA(sec_0),.oY(oY),.AN(AN));

是什么?
这是一个模块?一个函数?

在RTL级建模中,FOR语句更多地是表示一种电路复制的含义,它根据循环次数对电路进行复制。
下面是一个5bit循环异或门按一定规律复制了4次,for(i=1;i<=5;i=i+) gray_cnt_temp[i-1]=cnt[i-1]^cnt[i]; 下面还有一个错误的例子:用FOR语描述一个计数器,for(i=1;i<1000;i=i+1) counter<=counter+1;事实上,将例将会把一个加法器电路复制1000次,违反了设计原则。一般的FOR语句也是不会放到always语句里面的,通常把放到task中,还实现子程序类似功能。可参考下面的参考资料。

最好用在always里。我记得有书说过综合的话只能用在always里。
仿真时用generate命令。
上楼解释的有些问题。

verilog中的for循环和C语言中的for循环不一样,表示的是电路的硬件行为,循环几次,就是将相同的电路复制几次!因此循环次数越多,占用面积越大,综合就越慢

fpga中reg [29:0] rom_10Hz_jingpin [0:99];类型的存贮器用for循环初 ...
答:先说for语句一上电执行,你是如何判断的呢?你的逻辑中并没有对startwrite初始化为零,reg startwrite = 0,你有上电复位信号吗,那么有没有可能startwrite一开始就是个1呢?你可以用示波器去测试一下。再有,你提到for语句可以被综合,确实如此,而且有时候用for语句是正确而简单的方式,但是你知不...

在FPGA中使用for循环一定浪费资源吗
答:其实也不是,for 在 FPGA 中综合后,就是并行结构。也就是for循环几次,就会出现几个相同的结构,所以才会觉得浪费资源。

verilog中使用for语句是不是在FPGA中占用的资源非常大?
答:一般来说大量的寄存器组的赋值我都用for循环的 写FIR滤波器里面用到的数据移位我也用for循环的 for循环可以减少代码量的 但关键是你要明白自己写的代码综合出来是个什么东西

verilog 里 for循环问题 fpga开发
答:for循环里面I<I是什么意思?I应该小于一个常数才对。而且一般最好不用for语句,综合出来的东西让人觉得有点无厘头。加延时会占用很多资源。很浪费。

CRC校验(FPGA/verilog)
答:Verilog实现 在Verilog代码中,CRC16的硬件实现展示了LFSR编码器结构,通过for循环对输入数据进行逐位处理。如任务crc_16_x25_8,它接受8位数据data_in,并根据长度计算16位校验码crc_out。初始值通常设置为16'hFFFF,计算过程中会用到位操作和异或逻辑,确保校验的精确性。代码片段与实例以输入数据0x26...

verilog中的for循环的改写
答:Verilog For循环属于不可以综合的,不知道你的具体要求。不过在用数字电路实现时,因为有时钟驱动,每个时钟周期都会执行always语句一次。建议你还是把Verilog搞清楚再进行移植。

verilog实现矩阵乘法,我是FPGA初学者, 现在要实现一个矩阵相乘,即输入...
答:3.在软件编程中利用的是for循环,在用verilog实现时,是设置一个标志位来决定运算什么时候结束吗?硬件设计的思维方式和软件设计的不同,软件中的for是循环利用循环体内的代码执行,硬件中的for要实实在在的硬件电路来实现的。我的思维比较混乱,求大家给我指点指点~思维的确混乱,概念不清楚,还是打好...

在FPGA编程reg [15:0] data_out0[2:0]data_out0[3]<= 16'h0; 但Index...
答:reg [15:0] data_out0[2:0]定义了一个数组,这个数组共有3个数[2:0]看出来的。每个数都是16位,[15:0]看出来的,data_out0[2]表示第2个数,data_out0[0]表示第0个数,没有data_out0[3]第三个数,所以超出了范围

关于fpga/cpld的不可综合语句
答:第一,注释也是非常重要的,良好的代码中至少要有三分之一是注释。第二,随着FPGA的快速发展,目前最大规模已经达到200万个查找表。仿真也是一个非常大的工程,不可综合的断言、延时、宏等语句在仿真之中可以起到非常大的调试作用。当您的代码在数万行之上,您会发现其强大的作用。这些不可综合的语句...

Error (10533): VHDL Wait Statement error at fpga_topp.vhd(18...
答:wait for 语句一般是用在testbench里面的。楼主的程序看起来来并不是testbench(起码没看到连接什么例化模块),那在综合的时候自然是要报错的。个人意见哈