tag 标签: altmephy

相关博文
  • 热度 35
    2014-2-9 15:58
    5366 次阅读|
    8 个评论
    Altera ALTMEPHY DDR2 应用和仿真 -- 基于 QuartusII 下例化的 IP KevinWan Modelsim 仿真 (本文是基于 QuartusII 下例化的 IP ,非 Qsys ) 编译如下库:   需要编译一下子文件,可以添加在 .do 文件里,让 Modelsim 自动编译 然后自己编写简单的 testbench 既可以仿真。 本文采用 .do 文件让 Modelsim 自动仿真,自动仿真的方法由另外一篇文章有介绍。   自己可以建一个 .bat 文件,直接运行即可:   DDR2 的仿真波形图   代码设计和硬件调试          在 QuartusII 下代码主要判断 local ready 信号和 local_rdata_valid 信号有效,对于初始化,两者具有相同的特性。 写信号波形   读信号波形  
  • 热度 27
    2014-2-9 15:55
    2608 次阅读|
    0 个评论
    Altera ALTMEPHY DDR2 详细介绍(三) KevinWan 接口规则 配置 DDR2 SDRAM 控制器 DDR2 SDRAM 的配置中的大部分参数都是相关数据手册中的参数,通常需要修改的包括时钟对数量,片选数量,地址总线位宽,数据总线位宽, Bank 地址位宽等。 设置好各项参数后就可以完成 DDR2 SDRAM 控制器的基本配置,顶层 I/Os 的分配见下 图:                                     图 2 ‑ 4 DDR2 SDRAM 顶层 I/Os 连接 添加约束 相对于普通 SDRAM 或者 SRAM , DDR2 SDRAM 的约束要复杂的多,主要体现在 I/Os 的分配和 I/Os 的约束条件上。 首先是给 DDR2 SDRAM 分配好管脚连接,主要由以下几个步骤。 分配关联的 DQ/DQS 。在所有的 Altera FPGA 中, DDR2 SDRAM 都只能按照 DQ/DQS 组连接。一个完整的 DQ/DQS 组应该包含 DQ , DQS 和 DM 三类信号,这些信号的位置都是固定的 (DQ 可以在组内交换 ) 。 分配时钟。虽然 Cyclone III FPGA 不支持 Differential SSTL-18 标准 IO ,但还是推荐将 DDR2 SDRAM 的时钟 CK_N/CK_P 分配到差分对上。并通过分配 CKn/CK Pair 将其关联起来。 分配地址和其他控制信号。地址和控制信号可以分配到任意可用的 I/O 上,但需要注意的是,在 Cyclone III FPGA 中,任何 12 个连续的 pads 中不得分配超过 9 个输出或双向的引脚 ( 仅在有 VERF 的条件下 ) ,因此强烈建议在通过完整编译后再确定 I/Os 的分配。 分配好所有 I/Os 之后接下来还需要添加约束条件,这些约束条件包括电平规范、驱动电流和终端电阻。
  • 热度 19
    2014-2-9 15:52
    3364 次阅读|
    0 个评论
    Altera ALTMEPHY DDR2 详细介绍(二) KevinWan 器件选型 有效带宽计算公式为: 带宽 = 数据位宽×数据速率×效率 对于 Cyclone III 和 DDR2 SDRAM 的系统,效率可以按照 80% 初步计算。比如一个 32 位的 DDR2 SDRAM 系统,如果接口时钟为 125MHz ,其有效带宽为 32bit × 125MHz × 2 × 80% = 6.4Gbps 。 比如要为一个 200MHz 的 32 位数据流选择一个存储器,其带宽为 6.4Gbps ,可以使用一个 32 位的 DDR2 SDRAM 。 32 位存储器数据总线需要的 x8DQ/DQS 组为 4 组,最低需要一个 FBGA/UBGA 256 封装的 FPGA 。考虑到 32 位的 DDR2 SDRAM 需占用较多的资源,因此可以选择 3C10F256 或者 3C16F256 。 以此完成对数据的高速大容量存储。由于采用一个 DDR2 的 IP 核进行控制,所以 4 片 DDR2 以地址和控制线共用、数据线独立的方式进行管脚连接。 一般来讲: CycloneIV 器件 TOP 和 BOTTOM 边的 BANK 支持 200MHz DDR2 接口(因为 DDR2 管脚的特殊要求, DQS 、 DQ 、 DM 管脚在 FPGA 上都需要专用管脚),且最高速率可达 200MHz 。 Column I/O 是指 Top 和 Bottom I/O , Row I/O 是指 Right 和 Left I/O 。 Hybrid mode 是指由 Column 和 Row I/O 混合。 DDR2 的地址和控制线在 FPGA 上没有专用管脚,可以任意使用其它 IO (只要符合输入输出位置限制); 在 SSTL-18 电平标准中,为了实现更高的信号频率,输入信号需要和一个参考电压( VREF )进行比较输出后才被认为是实际输入。因为 DDR2 采用 1.8V 的 SSTL 电平进行数据传输,所以 DDR2 所在 FPGA 的 Bank 电压必须是 1.8V , FPGA 就必须在该 Bank 使用 VREF 参考电压。  
  • 热度 18
    2014-2-9 15:36
    3733 次阅读|
    0 个评论
    Altera ALTMEPHY DDR2 详细介绍(一) KevinWan 基本描述        在 Cyclone IV 器件中用于外部存储器接口的数据管脚中,用于写数据的管脚称为 D , 读数据的管脚称为 Q ,共享读写数据的管脚称为 DQ 。读数据选通或者读时钟称为 DQS 管脚。 Cyclone IV 器件支持双向数据选通以及单向读取时钟。根据外部存储器标准, DQ 和 DQS 均为双向信号 ( 在 DDR2 和 DDR SDRAM 中 )        ALTMEMPHY 是一个自校准的宏功能,这个模块得到了增强使其简化了不同存储器接口中读数据路径的实现。 ALTMEMPHY 的自校准功能在工艺、电压和温度 (PVT) 变化范围内对时钟相位及频率进行优化, 从而实现了易于使用的特性。通过使用 ALTMEMPHY 宏功能,可以节省 Cyclone IV 器件中的全局时钟资源 ( 因为 DQS 被忽略来实现读捕捉 ) 。 重同步的问题不会出现,因为不会发生从存储器域时钟 (DQS) 到系统域的数据传输 ( 该数据传输用于捕捉数据 DQ) 。        一些 DDR2 SDRAM 和 DDR SDRAM 器件支持错误纠正编码 (ECC) 功能 , 它一种在数据传输中检测错误并自动纠正错误的方法。在 72-bit DDR2 或 DDR SDRAM 中有 8 个 ECC 管脚和 64 个数据管脚。将 DDR2 和 DDR SDRAM ECC 管脚连接到 Cyclone IV 器件中单独的 DQS 或者 DQ 组。存储控制器需要额外的逻辑对 ECC 数据进行编码和解码。        地址信号和控制 / 命令信号通常以同一数据速率发送。您可以使用 Cyclone IV 器件 I/O 块上的任意用户 I/O 管脚来生成存储器件的地址和控制 / 命令信号。 在 DDR2 和 DDR SDRAM 存储器接口中,存储器时钟信号 (CK 和 CK#) 用于捕捉地址信号和控制 / 命令信号。同样, QDR II SRAM 器件使用写时钟 (K 和 K#) 来捕捉地址和命令 信号。生成的 CK/CK# 和 K/K# 信号通过使用 Cyclone IV 器件中的 DDIO 寄存器来对写 数据选通进行模仿 (resemble) 。        Cyclone IV 器件在纵向及横向 I/O 块中支持校准后的片上系列终端 (RS OCT) 。如要使 用校准后的 OCT, 则必须将 RUP 和 RDN 管脚用于每一个 RS OCT 控制模块 ( 在器件的每侧各一个 ) 。 您可以使用任意一个 OCT 校准模块对采用同样的 VCCIO 的对应侧的某种终端进行较准。     当与外部存储器连接时, PLL 用于生成存储器系统时钟、写时钟、捕捉时钟以及逻辑内核时钟。系统时钟生成 DQS 写信号、命令及地址。写时钟从系统时钟偏移 -90 °,并在 写操作期间生成 DQ 信号。您可以使用 PLL 重配置功能来校准读捕捉相移,从而平衡建 立和保持裕量        PLL 在 ALTMEMPHY 宏功能中被例化。当例化 ALTMEMPHY 宏功能来连接外部存储器时,将使用 PLL 的所有输出。 PLL 重配置在 ALTMEMPHY 宏功能中使用,以校准并跟踪读捕捉相位,从而保持最佳裕量。   ALTMEMPHY 功能框图:   AFI 框图: