FPGA从Xilinx 的7系列学起(7)

2.4 BlockRAM的级联

7系列BlockRAM存储器可以把两个相邻RAM使用专用的布线资源级联到一起。这个对于工程师的重要性在于仅仅级联两块RAM的时候,可以考虑节省不少的资源。从上面说讲述中,可以看出来,很显然不可以直接级联两个以上的的RAM。

但是如果你是使用Spartan-6系列,那用户就不能考虑使用这个级联功能,因为他们并没有该功能。

如果你想使用更大规模的RAM存储空间,那么你就借助IP核的工具来实现这一点。IP的工具将增加一些输入的逻辑和一些输出的多路复用器,将更多的RAM级联到一起。这个和上面说的两个BlockRAM进行级联不太一样,上面的不需要额外的逻辑资源,但是IP核工具就需要额外的CLB资源。使用IP工具,你可以构建128K, 256K,512K甚至更大的存储空间,越大消耗的额外的CLB资源就更多。

2.5 内部集成的ECC功能

BlockRAM内部集成错误检测和纠正单元,可以做64位ECC的校验,这个时候72位的bit位都需要被使用。可以纠正所有的单bit的错误,这个错误修正是在数据的输出端口进行的,而不是在内部的存储阵列里面进行的;能够检测但是不能纠正双bit的错误;能够指示出错误地址。当用户需要时,可以故意插入一些错误,进行相关的测试。这个对使用外部高速存储器控制器的用户来说,会很有帮助。

2.6 字节写模式


7系列和Virtex-6一样支持的字节使用的方式。这个对使用嵌入式设置的工程师来说非常重要,在WRITE_FIRST模式下,进行字节操作的时候,当没有整字节操作完成时,输出口会显示为不确定值。这个真实的反映了新的memory的内容。那么用户进行设计的时候就需要时刻关注这个存储空间的内容,当用户进行读操作的时候,只有当READ信号有效的时候才可以进行读。

文章转载自: FPGA那点事儿