问题描述
本发行说明和已知问题答复记录适用于9.2i IP Update 1中发布的内存接口生成器(MIG)v1.73,包含以下信息:
– 一般信息
– 软件要求
– 新功能
– Bug修复
– 已知的问题
有关安装说明,一般CORE Generator已知问题和设计工具要求,请参阅(Xilinx答复25222) 。
解决/修复方法
一般信息
– MIG不再作为单独下载提供,但现已合并到IP更新中。 MIG v1.73可通过9.2i IP Update 1获得.MIG v1.73是带入IP更新的MIG v1.7版本,增加了Spartan-3A DSP支持和一些错误修复,如下所述。
软件要求
– ISE 9.2.01i
– Windows XP(32位)
MIG v1.73新功能
– 支持Spartan-3A DSP的DDR和DDR2 SDRAM
MIG v1.7新功能
一般新功能和变化
– 支持所有设计的“创建新内存部件”。
– 针对Spartan-3A的DDR和DDR2 SDRAM设计。
– Virtex-5支持DDR SDRAM。
– Virtex-5 DDR2 SDRAM和QDR II SRAM支持VHDL。
– MIG现在会弹出特定于生成设计的设计说明。
– 支持针对Spartan-3和Spartan-3E设计的MIG 1.5和MIG 1.6的引脚兼容性。
– ECC复选框更改为组合框以支持流水线和非流水线模式。
– 支持Spartan-3A DDR2和Virtex-4 DDR2的差分和非差分选通。
– 如果用户为Spartan-3 / -3E / -3A的特定FPGA选择无效数据宽度或不支持的数据宽度,则弹出信息注释。
– 通过Project Navigator GUI生成用于运行MIG设计的脚本文件。仅当流供应商为“XST”时才支持此功能。
– 默认设置“地址和控制的DCI”更改为“unChecked”。
– 频率滑块在GUI中更改为可编辑框。
– 仅支持模块名称的字母数字字符和下划线(’_’)以及编辑信号名称中的新名称。
– 通过CORE Generator运行MIG时删除了控制台窗口。
– WASSO表(设置高级选项)仅接受数字字符。
– 如果数据宽度大于32,则Spartan-3的最大频率-5将设置为133 MHz。
– 为设计的文档文件夹中的所有应用程序提供Web链接。
– 在输出窗口中提供了数据表而不是日志表的链接。
– 在保留引脚窗口中读取UCF时支持约束“CONFIG PROHIBIT”。
– WASSO限制每个控制器在Bank中使用的引脚数。例如,在多控制器设计中,如果WASSO在库中设置为10,则工具为该库中的每个控制器分配10个引脚。
– 设计独立于存储器部件包;因此,存储器组件名称的包部分被替换为XX或XXX,其中XX或XXX表示不关心条件。
Virtex-5新功能和变化
DDR2 SDRAM
– 具有多种高性能功能的新控制器。 “应用笔记”中详细介绍了所有功能。
– 增强的数据校准算法,提高可靠性。
– 支持Bank管理功能。
– 支持VHDL。
– 向控制器发出命令时,不再需要用户设置地址A10(并在其存储空间中跳过该位),以防止在DDR2总线上发生自动预充电。控制器现在总是在DDR2总线上将此位强制为0,并且呈现给用户的存储空间现在是线性的。
– 用户界面总线已被修改。命令(读/写)现在显示在与地址不同的总线上。有关用户I / F总线的定义,请参阅MIG用户指南。
– 对引脚分配算法进行了一些增强。因此,MIG1.7和之前版本的引脚将不同。
一个。不使用DCI时提高效率。 MIG现在将为其他信号分配VRP和VRN引脚。
湾WASSO适用于所有存储器接口信号。
C。诸如“错误”输出之类的信号不是WASSO计数的一部分。
DDR SDRAM
– 这是MIG的新设计。支持Verilog和VHDL。
– 支持Bank管理功能。
– 向控制器发出命令时,不再需要用户设置地址A10(并在其存储空间中跳过该位),以防止在DDR总线上发生自动预充电。控制器现在总是在DDR总线上将此位强制为0,并且呈现给用户的存储空间现在是线性的。
QDRII SRAM
– 增加了对VHDL的支持。
– 增加了对72位设计的支持。
– 增加了第一级校准。这包括向存储器写入1和0的虚拟写入。该模式有助于校准CQ / Q延迟。
– 将模式生成移动到phy_write模块。这是在MIG 1.6的test_data_gen中
– 现在正在向后端生成user_qr_valid信号。该信号有助于向读数据FIFO产生User_qen_n信号。 MIG 1.6代码使用来自所有读取数据FIFO的user_qr_empty。此更改是出于时间原因而完成的。
– 对引脚分配算法进行了一些增强。因此,MIG v1.7和之前版本的引脚不同。
一个。不使用DCI时提高效率。 MIG现在将为其他信号分配VRP和VRN引脚。
湾WASSO仅适用于输出信号。
Virtex-4新功能和变化
DDR2 SDRAM直接时钟
– 校准逻辑现在可以对每个数据位进行中心和去偏移。这种改变改善了设计的频率性能。
– 为深度设计中的每个负载生成独立时钟引脚。这种改变减少了时钟引脚的负载。
– 用户可以选择复位极性。此选项位于参数文件中。可以更改参数reset_active_low以进行高电平有效复位。默认情况下,此值设置为1。
– ECC复选框已更改为组合框,以支持流水线和非流水线ECC选项。
– DQS #Enable,突发类型和50欧姆的ODT可从GUI到模式寄存器中选择。
– 删除了UCF中的所有TIG。复位信号现在在每个模块中注册。
– IDELAY模块现在使用CLK0而不是CLK50。 CLK0用于刷新计数器。以前,分频时钟用于刷新逻辑。
– SYS_RESET_IN更改为SYS_RESET_IN_N,以遵循低电平有效信号的标准约定。
– 删除了XC_PROPS。为仿真定义的“defparams”现在适用于XST和Synplicity。
– 用Verilog的localparams替换`。
– 现在,在比较两个正边沿数据和两个负边沿数据之后,生成模式校准逻辑中的读使能。这将删除任何虚假的读取启用。
– 现在有几台状态机使用“One-Hot Encoding”。
– 已修改复位生成逻辑,使其与DCM锁定和DCM输出时钟同步。
– 信号INIT_DONE被带到顶层模块。
– 从VHDL模块中删除了UniSim原始组件声明。
– 现在支持所有8位数据宽度的倍数,即使对于x16存储器器件也是如此。
– 现在支持速度等级为-3和-667的存储器件。
– 对引脚分配算法进行了一些增强。因此,MIG v1.7和之前版本的引脚不同。
一个。不使用DCI时提高效率。 MIG现在将为其他信号分配VRP和VRN引脚。
湾WASSO适用于所有存储器接口信号。
C。诸如“错误”输出之类的信号不是WASSO计数的一部分。
DDR2 SDRAM SERDES时钟
– 实施新的校准方案。这种新算法降低了DCM利用率并改善了时序分析。应用笔记中描述了更多细节。
– 用户可以选择复位极性。此选项位于参数文件中。可以更改参数reset_active_low以进行高电平有效复位。默认情况下,此值设置为1。
– 支持ODT。
– DQS#Enable可从GUI到模式寄存器中选择。
– 删除了UCF中的所有TIG。复位信号现在在每个模块中注册。
– IDELAY模块现在使用CLK0而不是CLK50。 CLK0用于刷新计数器。以前,分频时钟用于刷新逻辑。
– SYS_RESET_IN更改为SYS_RESET_IN_N,以遵循低电平有效信号的标准约定。
– 删除了XC_PROPS。为仿真定义的“defparams”现在适用于XST和Synplicity。
– 用Verilog的localparams替换`。
– 已修改复位生成逻辑,使其与DCM锁定和DCM输出时钟同步。
– 从VHDL模块中删除了UniSim原始组件声明。
– 我们现在支持所有8位数据宽度的倍数,即使对于x16内存器件也是如此。
– 信号INIT_COMPLETE被带到顶层模块。
– 现在支持速度等级为-5E和-40E的存储器件。
– 对引脚分配算法进行了一些增强。因此,MIG v1.7和之前版本的引脚不同。
一个。不使用DCI时提高效率。 MIG现在将为其他信号分配VRP和VRN引脚。
湾WASSO适用于所有存储器接口信号。
C。诸如“错误”输出之类的信号不是WASSO计数的一部分。
DDR SDRAM
– 用户可以选择复位极性。此选项位于参数文件中。可以更改参数reset_active_low以进行高电平有效复位。默认情况下,此值设置为1。
– 删除了UCF中的所有TIG。复位信号现在在每个模块中注册。
– IDELAY模块现在使用CLK0而不是CLK50。 CLK0用于刷新计数器。以前,分频时钟用于刷新逻辑。
– SYS_RESET_IN更改为SYS_RESET_IN_N,以遵循低电平有效信号的标准约定。
– 删除了XC_PROPS。为仿真定义的“defparams”现在适用于XST和Synplicity。
– 用Verilog的localparams替换`。
– 现在,在比较两个正边沿数据和两个负边沿数据之后,生成模式校准逻辑中的读使能。这将删除任何虚假的读取启用。
– 修改了复位生成逻辑,使其与DCM锁定和DCM输出时钟同步。
– 从VHDL模块中删除了UniSim原始组件声明。
– 我们现在支持所有8位数据宽度的倍数,即使对于x16内存器件也是如此。
– 信号“init_done”现在是顶层模块中的一个端口。
– 对引脚分配算法进行了一些增强。因此,MIG v1.7和之前版本的引脚不同。
一个。不使用DCI时提高效率。 MIG现在将为其他信号分配VRP和VRN引脚。
湾WASSO适用于所有存储器接口信号。
C。诸如“错误”输出之类的信号不是WASSO计数的一部分。
RLDRAM II
– 用户有一个新选项可以选择复位极性,该选项位于参数文件中。可以更改参数reset_active_low以进行高电平有效复位。默认情况下,此值设置为1。
– 删除了UCF中的所有TIG。复位信号现在在每个模块中注册。
– 设计现在使用CLK0,而不是CLK50和div16clk。
– 在mem_interface_top模块(设计顶部)中将CLK200更改为差分时钟。
– 信号sysReset更改为sysReset_n,以遵循低电平有效信号的标准惯例。
– 从参数文件中删除了未使用的参数。
– 删除了XC_PROPS。为仿真定义的“defparams”现在适用于XST和Synplicity。
– 用Verilog的localparams替换`。
– 修改了复位生成逻辑,使其与DCM锁定和DCM输出时钟同步。
– 从VHDL模块中删除了UniSim原始组件声明。
– 信号“INIT_DONE”现在是顶层模块中的一个端口。
– 测试平台:backend_rom中的bank地址序列已被修改,因此生成序列从bank 0,1,…..,6,7开始。测试平台中的命令生成也流水线为BL = 2,4,8。
– 在时序电子表格中将“tac”替换为“Q to data output”而不是“Q to any data output”。
– 通过在参数文件中添加新参数“INITCNT”,根据频率对在rld_rst模块中硬编码的INITCNT进行参数化。
– 对引脚分配算法进行了一些增强。因此,MIG v1.7和之前版本的引脚不同。
一个。不使用DCI时提高效率。 MIG现在将为其他信号分配VRP和VRN引脚。
湾WASSO计数仅适用于SIO存储器类型的输出信号。
C。 QVLD是一种输入信号,包含在CIO存储器类型的WASSO计数中。这是当前工具的限制。
QDRII SRAM
– 用户可以选择复位极性。此选项位于参数文件中。可以更改参数reset_active_low以进行高电平有效复位。默认情况下,此值设置为1。
– 信号USER_QEN_n的时序已经改变 – 它是一个周期晚了。该信号的寄存器已从控制器移至用户逻辑。
– 支持无DCM生成设计。
– 部件CY7C1526AV18-250BZC已从存储器部件列表中删除,并添加了CY7C1526V18-250BZC。
– 删除了UCF中的所有TIG。复位信号现在在每个模块中注册。
– IDELAY模块现在使用CLK0而不是CLK50。 CLK0用于刷新计数器。以前,分频时钟用于刷新逻辑。
– 删除了XC_PROPS。为仿真定义的“defparams”现在适用于XST和Synplicity。
– 用Verilog的localparams替换`。
– 修改了复位生成逻辑,使其与DCM锁定和DCM输出时钟同步。
– 从VHDL模块中删除了UniSim原始组件声明。
– 信号“DLY_CAL_DONE”现在是顶层模块中的一个端口。
– 为系统信号生成的I / O标准是LVCMOS18。用户可以根据需要进行更改。
– 增加了对DDR Byte写入的支持。
– 对引脚分配算法进行了一些增强。因此,MIG v1.7和之前版本的引脚不同。
一个。不使用DCI时提高效率。 MIG现在将为其他信号分配VRP和VRN引脚。
湾WASSO仅适用于输出信号。
C。作为输出的K / K#时钟不包括在WASSO计数中。这是当前工具的限制。
DDRII SRAM
– 用户可以选择复位极性。此选项位于参数文件中。可以更改参数reset_active_low以进行高电平有效复位。默认情况下,此值设置为1。
– 信号USER_QEN_n的时序已经改变 – 它是一个周期晚了。该信号的寄存器已从控制器移至用户逻辑。
– 支持无DCM生成设计。
– 部件CY7C1526V18-250BZC已从“存储器部件”列表中删除。
– 删除了UCF中的所有TIG。复位信号现在在每个模块中注册。
– IDELAY模块现在使用CLK0而不是CLK50。 CLK0用于刷新计数器。以前,分频时钟用于刷新逻辑。
– 删除了XC_PROPS。为仿真定义的“defparams”现在适用于XST和Synplicity。
– 用Verilog的localparams替换`。
– 修改了复位生成逻辑,使其与DCM锁定和DCM输出时钟同步。
– 从VHDL模块中删除了UniSim原始组件声明。
– 信号“DLY_CAL_DONE”现在是顶层模块中的一个端口。
– 为系统信号生成的IO标准是LVCMOS18。用户可以根据需要进行更改。
– 增加了对DDR Byte写入的支持。
– 对引脚分配算法进行了一些增强。因此,MIG v1.7和之前版本的引脚不同。
一个。不使用DCI时提高效率。 MIG现在将为其他信号分配VRP和VRN引脚。
湾WASSO适用于所有存储器接口信号。
C。 WASSO计数中包含诸如“错误”输出之类的信号。
Spartan-3,Spartan-3E,Spartan-3A新功能和变化
– 用户可以选择复位极性。此选项位于参数文件中。可以更改参数reset_active_low以进行高电平有效复位。默认情况下,此值设置为1。
– 删除了UCF中的所有TIG。复位信号现在在每个模块中注册。
– 删除了XC_PROPS。为仿真定义的“defparams”现在适用于XST和Synplicity。
– 用Verilog的localparams替换`。
– 从VHDL模块中删除了UniSim原始组件声明。
– 即使对于x16和x4内存器件,我们现在支持所有8位数据宽度的倍数。
– 信号“cntrl0_data_valid_out”现在是顶层模块中的一个端口。
– DQS#使能,突发类型和ODT可以通过模式寄存器从MIG GUI中选择。
– VHDL和Verilog提供的Spartan-3E入门套件的电路板文件。
– 对控制器实施了若干更改以改善时序。
– 更改了Spartan-3 / 3E引脚分配规则,以提高效率。先前的规则是对应于特定DQS的DQ可以在DQS之上的5个瓦片和5个瓦片之下。现在,DQ可以是上面的5个瓦片,也可以是DQS下面的6个瓦片。
– 支持Spartan-3A。
Bug修复
MIG v1.73的错误修复
– CR 439543:Virtex-5 DDR2接口 – 第1阶段校准可能找不到最佳校准点。有关此问题的更多信息,请参阅(Xilinx答复25232) 。
– CR 442726:当地址FIFO为空且存在自动刷新请求时,DDR / DDR2 SDRAM Virtex-5设计中发生Twr违规。有关此问题的更多信息,请参阅(Xilinx答复25436) 。
– 在启用MULTI_BANK_EN参数的情况下仿真Virtex-5 DDR2 SDRAM控制器时,仿真一次最多不会显示4个库。它不断显示预充电,并表现得好像不支持Bank管理。有关此问题的更多信息,请参阅(Xilinx答复25261) 。
– 修改了所有Spartan设计中的“component_name_cal_ctl_0.v / vhd模块/实体,以包含200Mhz的第二个边缘检测。这在以前的版本中是缺失的。现在,当”phase_cnt“等于1时,”enb_trans_two_dtct“标志被设置。 ,直到“phase_cnt”等于3时才设置标志。
– 在所有Spartan设计中,cal_ctl UCF区域组约束已移近DCM和BUFG放置。这最小化了LUT延迟链的时钟净延迟。
MIG v1.72的错误修复
已知的问题
– 有关一般CORE Generator支持项目,请参阅(Xilinx答复24979) 。
– 请参阅(Xilinx答复24432)有关将用户接口地址映射到Virtex-4 DDR / DDR2 SDRAM控制器的自动预充电位A10以及映射Virtex-5 DDR / DDR2用户接口地址的一般信息的信息SDRAM控制器。
– Spartan-3 / -3E / -3A x4设计仅支持最高72位的数据宽度。当选择顶部/底部存储体时,更宽的接口实现不正确的本地时钟布线。仅针对x4内存组件和顶部/底部库存在此问题。这将在MIG 2.0中修复。
– 在Spartan-3 / -3E / -3A设计中,用户可以从“设置高级选项”中选择“写入管道阶段”。 “写入管道阶段”的默认值为4.如果选择任何其他值(3,2,1,0),则test_bench模块应在写入数据和数据屏蔽信号上包含额外的管道阶段。这在设计中缺失。默认的Write Pipe Stage为4没有问题。这将在MIG 2.0中修复。
– 有关MIG GUI中“验证我的UCF”选项的信息,请参阅(Xilinx答复24964) 。
– 您应该了解目标Spartan-3器件的步进级别以及它如何影响生成的存储器组件可实现的最大频率。 MIG工具不会调整使用中任何特定步进级别的频率。有关步进的更多信息,请参阅相关的器件数据手册或勘误表。这些文件位于:
http://www.xilinx.com/support/library.htm。
没有回复内容