UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 39999

Spartan-6 FPGA 设计咨询 - 9K Block RAM 初始化支持

描述

当采用 BitGen 生成比特流时,程序会发出如下警告:

WARNING:PhysDesignFules:2410 - 该设计正在使用一个或多个 9K Block RAM (RAMB8BWER)。9K Block RAM 初始化数据(用户定义的和默认的)都可能是不正确的且不应被使用。如需了解更多信息,敬请参考 Xilinx 答复 39999。

使用 ISE 13.1 和以前的软件版本时,对于所有 Spartan-6 器件在配置过程中,9K 模式下使用的 Block RAM (RAMB8BWER) 未能初始化用户指定的数据或默认值(全为零)。 

ISE 设计套件 13.2i 或更高版本中未使用加密处理时,该警告已被修复。

解决方案

此答复记录介绍了 Spartan-6 勘误表(包括 EN148)中列出的 Spartan-6 9K Block RAM 初始化问题:

ISE 设计套件 13.2 以及更高版本:

已在 BitGen 中修复了该问题,并在默认情况下生效。 

修复后可正确配置所有 9K block RAM 的初始值,无论该值是由用户设置还是被设置为默认值零。 

不过,如果进行了加密,BitGen 修复就不起作用。

这种情况下 XST 和 MAP 中还添加了一些其它选项用来实施解决办法。

仍发出 BitGen 警告信息,为用户提供详细说明:

BitGen 修复(默认,Yes):
 

  • 概览 - BitGen 选项 -g INIT_9K:设置(可设置YesNo)被添加到 ISE 设计套件 13.2。
    Yes 代表使用新的比特流格式,No 代表使用原始格式,后者无法正确初始化 9K block RAM。
     
  • 用法 - 如果设计中使用了任何 9K block RAM,就会生成新的比特流 (-g INIT_9K:Yes)。
    否则,生成旧的比特流。
     
  • 限制 - 加密处理不能与新的比特流格式一起使用。
    如果试图对 9K block RAM 进行加密处理, BitGen 就会发出错误信息指向此答复记录 (Xilinx 答复 39999),并说明必须设置 -g INIT_9K:No,以生成比特文件。
     
  • 附加信息 - 新的比特流格式使比特流略微变大(<1%)。
    如欲了解新比特流的大小,敬请参考 Spartan-6 FPGA 配置用户指南 (UG380) 中的比特流概览部分。
    此外,仍发出 BitGen 警告信息(如上所示),作为提示消息指向此答复记录。
    可以安全地忽略此信息。

MAP 开关(默认关闭):

  • MAP 选项:-convert_bram8 被添加到 ISE 设计套件 13.2。
    若使用该选项,其可将设计中所有 9K block RAM 切换至 18K block RAM(如果提供这些资源)。
    此开关可在命令行添加。
    如果您在运行中使用 GUI,那么在高级处理属性(Advanced Process Properties) 中有一个用来输入"其它 Map 命令行选项" 的方框。
    默认情况下该选项未设置。

XST 开关(默认为 Yes):

  • XST 开关:-infer_ramb8 设置(可设置YesNo)被添加到 ISE 设计套件 13.2。
    使用此开关(设置为 No)时,可阻止 9K block RAM 在 XST 中的推理。
    默认情况下设置为 Yes,这在之前所有软件版本中均未更改过。
    如果设置为 No,XST 便不会推理 RAMB8 原语,但任何实例化的 RAMB8 均保留。
    此开关可在命令行添加。
    如果您在运行中使用 GUI,那么在高级处理属性(Advanced Process Properties) 中有一个用来输入"其它 XST 命令行选项" 的方框。

ISE 13.1 和之前的软件版本

描述:

  • 9K 模式下不支持 9K block RAM (RAMB8BWER) 的比特流初始化。
  • 不支持 9K block RAM 的默认初始化值。如果不存在用户指定的初始化值,默认情况是将所有程序内容初始化为零。这在 9K block RAM 中无法保证。
  • 为确定您的设计是否包含 9K block RAM 或 XST 推理的 9K block RAM,敬请查看 MAP 报告并查找 RAMB8BWER。
  • block RAM 的其它操作不受影响:
    • 9K block RAM 的一般读写操作工作正常。
    • 18K block RAM 的初始化、读、写操作工作正常。

规避措施:

  • 使用 ISE Design Suite 13.2.
  • 如果使用或需要 block RAM 的初始内容(用户指定或默认值),应使用 18K block RAM。
    • 对 RAMB16BWER 进行实例化,而非 RAMB8BWER。
  • 在配置后通过写入操作对 9K block RAM 进行初始化(而非使用比特流初始化或使用默认值)。
    • CORE Generator:

      • 如果使用或需要 block RAM 的初始内容(用户指定或默认值),那么 9K 模式中不要使用 Block Memory Generator。
  • 如果对于某个设计以上选项都不可行,敬请联系 Xilinx 技术支持 以获取进一步帮助。

软件影响:

  • XST 基于大小来推理 9K block RAM。如果推理出的 RAM 适合 RAMB8BWER,那么可以使用。
    • 在 12.4 和所有早期软件版本中均为这种方式。
    • 若要改用 18K block RAM,必须对 RAMB16BWER 进行实例化。

受影响的 IP:

相关问题:

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
34856 Design Advisory Master Answer Record for Spartan-6 FPGA N/A N/A

子答复记录

Answer Number 问答标题 问题版本 已解决问题的版本
40529 Spartan-6 - 9K Block RAM Initialization Not Supported (List of Affected IP) N/A N/A

相关答复记录

AR# 39999
日期 09/02/2014
状态 Active
Type 设计咨询
器件
  • Spartan-6 LX
  • Spartan-6 LXT
Tools
  • ISE Design Suite - 12.1
  • ISE Design Suite - 12.2
  • ISE Design Suite - 12.3
  • More
  • ISE Design Suite - 12.4
  • ISE Design Suite - 13
  • ISE Design Suite - 13.1
  • ISE Design Suite - 13.2
  • ISE Design Suite - 13.3
  • Less
IP
  • Block Memory Generator
的页面