电子发烧友网 > 可编程逻辑 > 正文

基于FPGA Virtex-4器件实现直接时钟控制技术方案的设计

2020年11月26日 10:01 次阅读

大多数存储器接口都是源同步接口,从外部存储器器件传出的数据和时钟/选通脉冲是边沿对齐的。在Virtex-4器件采集这一数据,需要延迟时钟/选通脉冲或数据。利用直接时钟控制技术,数据经延迟,并与内部FPGA时钟实现中心对齐。在这个方案中,内部FPGA时钟采集传出的数据。存储器传出的时钟/选通脉冲用于决定与数据位相关的延迟值。因此,与选通脉冲相关的数据位的数量不受限制。由于无需将选通脉冲分配给相关数据位,所以不需要其他时钟资源。

时钟/选通脉冲和数据位使用的Virtex-4资源是一条64-tap绝对延迟线。该64-tap绝对延迟线可利用IDELAY和IDELAYCTRLprimiTIve实现。时钟/选通脉冲和数据位均通过此64-tap绝对延迟线来布线。虽然选通脉冲不用于采集数据,但它用于确定数据与内部FPGA时钟实现中心对齐所需的tap数量。以下部分将详细解释直接时钟控制技术方案的设计及实现。

选通脉冲边沿检测

与时钟/选通脉冲相关的数据位的延迟值就是内部FPGA时钟上升沿与时钟/选通脉冲中心之间的相位差。假设时钟/选通脉冲和数据实现了边沿对齐。要确定这个相位差,时钟/选通脉冲通过IOB内的64-tap绝对延迟线输入,并利用内部FPGA时钟在增量tap输出端对其进行采样。

要确定时钟/选通脉冲的中心,至少需要检测到时钟/选通脉冲的两个边沿或转换。检测出第二次转换所需的tap数(即第二个边沿的tap)和检测出第一次转换所需的tap数(即第一个边沿的tap)之差,即为时钟/选通脉冲宽度。这个差值的二分之一就是脉冲中心(即脉冲中心的tap)。从内部FPGA时钟上升沿到时钟/选通脉冲中心之间的tap数,即为第一个边沿的tap数与脉冲中心的tap数之和。

表1描述了各类tap数量。

基于FPGA Virtex-4器件实现直接时钟控制技术方案的设计

图1说明了通过使数据延迟相应的tap数,让数据与内部FPGA时钟实现中心对齐的两种情况。第1种情况所示为,由于时钟/选通脉冲的下降沿是被检测到的第一个边沿,因此内部FPGA时钟的上升沿位于延迟数据的中心。第2种情况所示为,由于时钟/选通脉冲的上升沿是检测到的第一个边沿,因此内部FPGA时钟下降沿位于延迟数据的中心。

实现选通脉冲边沿检测

由于具有专用的IDELAY和IDELAY_CTRL电路,所以可以轻松地在Virtex-4器件中实现确定延迟值的电路。实现确定延迟值电路的结构图如图2所示。

利用一个简单的算法检测存储器时钟/选通脉冲的边沿。将初始值为0的时钟/选通脉冲输入IDELAY模块。时钟/选通脉冲将不停地增加1tap的延迟,直到检测到第一个边沿。然后记录下检测出第一个边沿所需的tap数。在检测到第二个边沿之前,时钟/选通脉冲仍然不停地增加1tap的延迟。然后记录下检测出第二个边沿所需的tap数。根据两次记录的值,计算出脉冲宽度。在用tap数确定时钟/选通脉冲宽度后,除以2即得到中间值。中间值与检测出第一个边沿所需的tap数之和为延迟数据所需的tap数。

IDELAY模块可用的tap总数为64。因此,当频率为200MHz或以下时,将无法检测出两个边沿。如果在64tap结束后仅检测出一个边沿,那么延迟数据所需的tap数应为,检测出第一个边沿所需的tap数减去16tap(约1.25ns,每个tap的延时约为75ps)。一个200MHz时钟/选通脉冲周期的四分之一约为16tap。根据时序分析,该值也适用于更低的频率,最低可达110MHz。当频率低于110MHz时,如果在64tap结束后未检测出任何边沿,那么延迟数据所需的tap数应为32tap(约2.5ns,每个tap的延时约为75ps)。该值足以使内部FPGA时钟边沿位于数据窗口内。

检测第一个和第二个边沿仅需一个小型状态机。只有在为确定数据延迟tap数而发出的虚读操作过程中,才启用该状态机。在正式工作之前,发送至外部存储器器件的虚读操作命令包含多条背靠背读命令。状态机将控制输入IDELAY电路的信号,即DLYRST、DLYCE和DLYINC。

DLYRST-延迟线复位信号,将延迟线中的tap数重设为按IOBDELAY_VALUE属性设置的值。本设计中被设为“0”。

DLYCE-延迟线使能信号,确定何时激活延迟线递增/递减信号。

DLYINC-延迟线递增/递减信号,可增加或减少延迟模块中的tap数。表2描述了延迟线的运行模式。

用于控制这些延迟模块输入的状态图如图3所示。该状态机的四种状态分别为:DELAY_RST、IDLE、DELAY_INC和DETECT_EDGE。

DELAY_RST

该状态是发起虚读操作时启用的状态机的第一个状态。在这种状态下,延迟模块被重设为“0”tap。该状态之后是多个IDLE状态。

IDLE

在这种状态下,延迟模块保持“无变化”运行模式。除IDLE状态之外,每种状态结束后都会出现数个IDLE状态,以便处理tap输出值。IDLE状态之后是另一个IDLE、DELAY_INC或DETECT_EDGE状态。

DELAY_INC

这个状态使延迟模块tap数加1。该状态之后是数个IDLE状态。

DETECT_EDGE

在这种状态下,比较延迟模块的输出及其上一个值,用于检测信号边沿或转换,同时,延迟模块tap数加1。该状态之后是数个IDLE状态。

在确定了延迟数据所需的tap数后,将启用数据IDELAY电路,并增加到这一数值。按照所需的tap数,使数据IDELAY电路增加相同的时钟周期。数据IDELAY电路的读/写数据通路结构图如图4所示。

数据采集与二次采集

如图4所示,利用内部FPGA时钟,在输入DDR触发器中采集延迟数据。然后,把这些触发器的输出存储到两个FIFO中;一个代表上升沿数据,另一个代表下降沿数据。这些FIFO是利用LUTRAM实现的,其写使能操作由控制器生成的读使能信号提供,并在数据格式校准的基础上与采集的读取数据对齐。

DDR2SDRAM器件并未随读取数据一同提供读有效或读使能信号。因此,控制器将根据CAS延迟和突发长度,生成这个读使能信号。在开始执行读取操作时,必须令该读使能信号有效,并在选通脉冲的最后一个上升沿结束后使其无效。在IDDR触发器的输出端,该读使能信号必须与采集到的读取数据对齐。为了实现读使能对齐,在数据与FPGA时钟对齐后,将已知数据格式写入存储器。然后读回已知数据格式,并在读使能信号与采集到的读取数据对齐之前,利用移位寄存器延迟读使能信号。每字节数据都会生成一个读使能信号。图5为读使能对齐的时序图。

读时序分析

这一部分介绍了利用直接时钟控制技术实现的读时序分析。直接在FPGA时钟域内采集读取数据,因此,用于数据有效窗口分析的存储器参数就是存取时间(TAC)。下面简要介绍了此时序分析中使用的各个参数。

此时序分析中考虑的外部存储器参数有:

TAC-读取数据(DQ)的存取时间(以FPGA传递给存储器的时钟为参照)

TDCD-DCM输出占空比失真

利用FPGA时钟而非存储器时钟/选通脉冲(DQS),来采集读取数据(DQ);因此,该分析考虑了TAC(以时钟为参照的数据存取时间)。在此分析中,未考虑DQS-DQ存储器参数,如TDQSQ和TQHS,因为TAC比这两个参数更重要。

此时序分析中考虑的FPGA参数有:

TCLOCK_TREE-SKEW-紧密放置在该组中的IOB触发器的全局时钟树歪斜

TPACKAGE_SKEW-特定器件/封装的封装歪斜

TSAMP-Virtex-4源同步数据手册中规定的采样窗口

TIDELAYPAT_JIT-Virtex-4数据手册中规定的每个IDELAYtap的数据格式抖动

此外,计算数据位和相关选通脉冲之间的歪斜也需要考虑PCB布局歪斜。

表3所示为在205MHz频率下,对DDR2接口执行的读时序分析。全部参数单位均为皮秒。

TDATA_PERIOD是时钟周期的二分之一减去TMEM_DCD。TDATA_PERIOD与不确定值之和的差,就是有效数据窗口(43ps)。因此,在205MHz频率下,-11Virtex-4器件将产生43ps的余量。

参考设计

存储器接口生成器(MIG)工具中集成了直接时钟控制数据采集技术的参考设计。该工具已被集成到XilinxCoreGenerator工具中。

结论

Virtex-4I/O架构增强了源同步存储器接口的实现。本应用指南及参考设计中使用的架构特性包括:

IDELAY模块-连续校准的tap延时很小的延迟元件。

FIFO16primiTIve-用作FIFO的BlockRAM,无需使用生成状态标志所需的其他CLB资源。

高速差分全局时钟资源提供了更好的占空比。差分时钟减少了参考设计所需的全局时钟资源数量。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

FPGA开发者误区—送给第四期FPGA学员的五条开发建议

FPGA开发是程序员中最直接,最底层操作硬件的一类工程师。初学者往往容易当成一门纯软件的变成,FPGA虽然写的是代码,但
发烧友学院发表于 2020-11-27 00:00 1800次阅读
FPGA开发者误区—送给第四期FPGA学员的五条开发建议

FPGA基础篇:Verilog基础语法

可综合模块最终生成的bit文件会烧录进芯片运行,而仿真模块编译过后是在仿真软件(例如modelsim....
发表于 2020-11-27 14:27 0次阅读
FPGA基础篇:Verilog基础语法

在医疗设备中,FPGA能用在什么地方

FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性著称。起初,....
发表于 2020-11-27 11:29 95次阅读
在医疗设备中,FPGA能用在什么地方

DRAM的发展史及结构解析

开始导入DRAM运作频率和CPU的总线频率同步。所以称为同步DRAM.同步控制的技术使得CPU和内存....
发表于 2020-11-27 11:08 55次阅读
DRAM的发展史及结构解析

电源管理芯片市场再起风云

近日,IC设计厂商联发科通过旗下立锜斥资8500万美元收购英特尔旗下Enpirion电源管理芯片产品....
发表于 2020-11-27 10:52 117次阅读
电源管理芯片市场再起风云

Xilinx FPGA设计进阶(提高篇)

发表于 2020-11-27 10:00 0次阅读
Xilinx FPGA设计进阶(提高篇)

DG5000系列函数/任意波形发生器的特点及应用...

DG5000系列函数/任意波形发生器集任意波形发生器、脉冲发生器、IQ基带源/中频源、跳频源、码型发....
发表于 2020-11-27 09:44 35次阅读
DG5000系列函数/任意波形发生器的特点及应用...

FPGA器件在医疗领域的应用分类

FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性著称。起初,....
发表于 2020-11-27 09:38 69次阅读
FPGA器件在医疗领域的应用分类

普源DS8000-R系列数字示波器的功能及应用优...

DS8000-R系列数字示波器是基于RIGOL自主知识产权的ASIC芯片和UltraVision I....
发表于 2020-11-27 09:34 46次阅读
普源DS8000-R系列数字示波器的功能及应用优...

MRAM与现行各类存储器对比分析

MRAM在读写方面可以实现高速化,这一点与静态随机存储器(SRAM)类似。由于磁体本质上是抗辐射的﹐MRAM芯片...
发表于 2020-11-26 16:23 101次阅读
MRAM与现行各类存储器对比分析

开源软件opencores I2C master...

FPGA 芯片通过 I2C 总线连接 EEPROM 24LC04, I2C 的两根总线各上拉一个 4....
发表于 2020-11-26 14:30 122次阅读
开源软件opencores I2C master...

芯华章发布高性能多功能可编程适配解决方案“灵动”

2020年11月26日,EDA(电子设计自动化)智能软件和系统领先企业芯华章今日发布高性能多功能可编....
发表于 2020-11-26 12:27 244次阅读
芯华章发布高性能多功能可编程适配解决方案“灵动”

一种基于DSP与FPGA实现场发射平板显示器视频信号处理系统的方案

发表于 2020-11-26 11:42 101次阅读
一种基于DSP与FPGA实现场发射平板显示器视频信号处理系统的方案

基于QuartusⅡ6.0和Lab-Window...

DDS(Direct Digital Frequency Synthesis,直接数字频率合成器)是....
发表于 2020-11-26 10:25 159次阅读
基于QuartusⅡ6.0和Lab-Window...

基于APEX20K和ARM7 TDMI-S微处理...

设置数据通信接口主要是考虑芯片还可以同外部CPU或网络构成更加复杂的测控系统。为了方便芯片的设计,节....
发表于 2020-11-26 10:11 523次阅读
基于APEX20K和ARM7 TDMI-S微处理...

如何移植一个CNN神经网络到FPGA中?

训练一个神经网络并移植到Lattice FPGA上,通常需要开发人员既要懂软件又要懂数字电路设计,是个不容易的事。好在...
发表于 2020-11-26 07:46 0次阅读
如何移植一个CNN神经网络到FPGA中?

请问FPGA在人工智能时代有哪些独特的优势?

  什么是暗硅效应   FPGA:解决暗硅效应的有效途径   使用FPGA的独特优势是什么   什么是Catapul...
发表于 2020-11-26 06:36 0次阅读
请问FPGA在人工智能时代有哪些独特的优势?

水位开关的作用_水位开关的线能短接吗

水位开关有什么用?水位开关在我们生活中是使用较为常见的一个开关,它可以实现为对液面位置信息进行实时的....
发表于 2020-11-25 17:34 66次阅读
水位开关的作用_水位开关的线能短接吗

基于可编程逻辑器件和IPX2805实现SPI4....

SPI-4.2(System Packet Interface)是 OIF(Optical Inte....
发表于 2020-11-25 17:19 258次阅读
基于可编程逻辑器件和IPX2805实现SPI4....

什么是虚拟存储器,虚拟存储器的特征

虚拟存储器是存储管理中一个特别重要的概念,你要认真掌握虚存的定义和特征。此外,你还要知道为何要引入虚....
发表于 2020-11-25 16:37 81次阅读
什么是虚拟存储器,虚拟存储器的特征

中国企业开始成为存储市场的新兴力量

半导体存储器是现代以数据为中心社会的关键战略市场,并受到重要的大趋势的推动,这些大趋势包括移动性,云....
发表于 2020-11-25 15:35 534次阅读
中国企业开始成为存储市场的新兴力量

关于MRAM与现行各类存储器之间的比较

MRAM在读写方面可以实现高速化,这一点与静态随机存储器(SRAM)类似。由于磁体本质上是抗辐射的﹐....
发表于 2020-11-25 14:32 38次阅读
关于MRAM与现行各类存储器之间的比较

中国预计到2030年成为世界最大的半导体生产基地

在首届慕尼黑华南电子展上,探索科技(TechSugar)作为本届展会的官方采访媒体之一,通过走访发现....
发表于 2020-11-25 11:20 486次阅读
中国预计到2030年成为世界最大的半导体生产基地

FPGA加速的厉害之处在哪里?

轰轰烈烈的双十一落下了帷幕,2020年的双十一成绩依旧斐然。天猫11月11日0点刚过,天猫双11的订....
发表于 2020-11-25 11:17 194次阅读
FPGA加速的厉害之处在哪里?

巨磁阻效应为硬盘磁纪录的设计

电子自旋的发现,来自一场「想不到可以成功」的实验。1913年,波耳(Niels Bohr)提出角动量量子化的概念,也就是在...
发表于 2020-11-25 10:36 0次阅读
巨磁阻效应为硬盘磁纪录的设计

fpga程序烧写问题

各位大佬,我自己做的一个板子用的是ep4ce15m8i7芯片,在使用JTAG烧写的时候提示Error (209014): CONF_DO...
发表于 2020-11-25 08:44 125次阅读
fpga程序烧写问题

基于ARM和FPGA的微加速度计数据采集设计方案

加速度计是一种应用十分广泛的惯性,它可以用来测量运动系统的加速度。目前的加速度计大多采用微机电技术(MEMS)...
发表于 2020-11-25 06:17 0次阅读
基于ARM和FPGA的微加速度计数据采集设计方案

华为FPGA设计规范

发表于 2020-11-24 14:42 101次阅读
华为FPGA设计规范

基于Xilinx Kintex-7系列FPGA高端设计的TLK7-EVM评估板简介

基于Xilinx Kintex-7系列FPGA高端设计的TLK7-EVM评估板简介 TLK7-EVM评估板简介创龙科技TLK7-E...
发表于 2020-11-24 11:31 101次阅读
基于Xilinx Kintex-7系列FPGA高端设计的TLK7-EVM评估板简介