1

通过 Stack Overflow 中的整体搜索。我得到了提示:对于使用 memcpy 的二进制数据

for (int i=0; i < N; ++i)
    memcpy(buffer + i * byte_sequence_length, byte_sequence,    
      byte_sequence_length); 

但是即使代码不起作用,请告诉我以下代码中的错误。

代码

void main ( int bit)        
static unsigned lfsr  = 0xCD;               
int  i,j;        
int buff[];                     
for ( i = 0; i < 50; i++)                  
{                      
   bit = ((lfsr >> 0) ^ (lfsr >> 2) ^ (lfsr >> 3) ^ (lfsr >> 4) ) & 1;                                    
   lfsr = (lfsr >> 1) | (bit << 7);             
   buff[i] = bit;         
 }    
for (int j=0; j < 50; ++j)    
{        
    memcpy(buff+ j, lfsr, 50*sizeof(int));    
}
4

1 回答 1

1

如果您将buff数组声明为局部变量,HLS 将不会为您的顶级函数生成内存端口。你应该把它作为函数的参数。

于 2017-05-11T15:34:37.163 回答