FPGA中RAM和reg有什么区别

在verliog中有reg[7:0] mem[0:255]的写法,那么这跟直接用一个RAM有什么区别,就是FPGA中的M9K块资源能不能拿来当做寄存器使用,FPGA中的寄存器资源丰富吗?

  FPGA的资源就是指查找表和寄存器,加上嵌入的RAM,DSP等硬核。
  RAM和reg当然是不同的,FPGA里面的RAM分成block RAM和distributed RAM,block RAM是嵌入的RAM块,就如你说的M9K,M4K;distributed RAM是分布式RAM,即用FPGA里的寄存器和查找表构成。也就是说RAM可以由reg构成,但是RAM不能直接当寄存器组用。比如你设一个reg[7:0] mem[0:255],在一个时钟里你可以直接访问所有的数据,但是RAM里面你一次只能访问一个地址的数据。还有RAM一般数据宽度不能设置太大,很消耗资源。
  合理的使用distributed RAM可以很好的减少FPGA资源使用。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-04
这个会被 默认综合到M9K,但可以加修饰语句综合成REG追问

您是说reg[7:0] mem[0:255]会被综合到M9K吗?那还可以直接使用men[1],men[2]等等吗,就是在不进行地址操作的时候直接使用,想使用寄存器一样

相似回答