Prev: Scrubbing in Virtex-4
Next: Xilinx XPS crash on Linux
From: xabi on 25 Feb 2010 07:42 Hi all, Iam experimenting with Scrubbing in Xilinx Virtex-4 devices. According to XAPP1088, pag.18: "For scrubbing operations, there are special considerations for designs utilizing distributed RAMs and SRL16s. When a LUT is configured as either SRL16 or distributed RAM (LUT RAM), scrubbing can corrupt the contents of such primitives if GLUTMASK_B bit is left at its default setting of '1'. Therefore, it is important to ensure the GLUTMASK_B bit is set to '0'. Block RAM content, however, is not covered by the GLUTMASK_B setting. Therefore, block RAM content configuration columns still need to be avoided during scrubbing." Based on this information, I have carried out two experiments: 1) I have generated a bitstream in which all the LUTs of a whole CLB column have been used as SRL16, initialized to a given value. I have checked in this bitstream that the computed ECC codes (in the 21st word of the configuration frame for this CLB column) were equal to 0x000!! As expected, this confirms that LUTs configured as SRL16s are not considered when computing the ECC. 2) I have generated a bitstream in which some of the LUTs of a CLB column have been used as SRL16 and others as LUTs. In this situation the generated bitstream incorporates ECC codes which are not equal to 0 in the 21st word of the configuration frame for this CLB column. Consequently, I have confirmed that when computing the ECC codes for the configuration frames, only those LUTs not configured as SRL16s or LUT-RAMs are taken into account. This creates me a question: How can we know if a LUT is configured in one of these modes? I suppose this information is encoded in the bitstream... Do anyone have any clue about this? I would really appreciate any information. Thanks in advance. Xabi --------------------------------------- Posted through http://www.FPGARelated.com
From: he on 25 Feb 2010 10:12 > According to XAPP1088, pag.18: > "For scrubbing operations, there are special considerations for designs > utilizing distributed RAMs and SRL16s. When a LUT is configured as either > SRL16 or distributed RAM (LUT RAM), scrubbing can corrupt the contents of > such primitives if GLUTMASK_B bit is left at its default setting of > �1�. Therefore, it is important to ensure the GLUTMASK_B bit is set to > �0�. Block RAM content, however, is not covered by the GLUTMASK_B > setting. Therefore, block RAM content configuration columns still need to > be avoided during scrubbing." I avoided these problems by not using SRLs and cutting BRAM contents out of the partial bitfiles. This also makes reconfiguration faster, because the bitfiles become significantly smaller. > How can we know if a LUT is configured in one of these modes? Do you need to? Have you tried reconfiguring your SRLs with the GLUTMASK_B bit set accordingly? -HE
|
Pages: 1 Prev: Scrubbing in Virtex-4 Next: Xilinx XPS crash on Linux |