数字DDR PHY
来源:互联网 发布:15套java架构师 云盘 编辑:程序博客网 时间:2024/06/08 19:04
在ASIC的设计中,PHY是经常要遇到的,它是链接数字逻辑和物理电路的必要环节。通常这部分设计由模拟电路来完成,但是这很可能就意味着局限在某个固定的厂家或者工艺上。
在这之前,我有机会针对DDR2设计了一个数字PHY。虽然在实现上仍然要和后端的工程师有比较密切和有效的沟通,但是对于数字PHY,毕竟在很大程度上不再依赖厂家和工艺,这至少的商务上提供了很大的灵活性。
其实DDR的PH在逻辑上简单的,只要由3部分构成:延时链、控制信号逻辑、数据信号的串并转换。
延时链,这个部分是和普通数字电路区别最到的地方:普通的数字设计希望延时越下越好,最好没有延时;但是这里要用到的恰恰就是门电路的基本延时特性。虽然写出来就是简单的buffer和mux,但是在挑选器件时却要小心,要选用那些上升沿和下降沿时间特性一至的期间。而且在后端实现时,还要考虑到“线”延时对远端延时但愿带来的额外延时。延时电路的好坏,直接决定PHY是否能工作。
控制信号的处理其实是相对简单的。只要你正确的处理时序,并选择好时钟沿,将其按照一定的顺序发送出去就好。
数据的处理是比较复杂的。这里要处理2个信号:DQ和DQS。当然你也可以将DM归于此类。这里要处理的就是时钟的延时和串并时的时钟顺序。如果时钟顺序设计的好,那么将对实现提供很大的冗余度,反之,将会使后端变成灾难。而此时,你也会明白延时链的精度其实就意味着你实现的成功率。
当然必要检测逻辑也是要有的,以保证当PHY接受到不正常的时序时能返回正常的状态。
管脚的选用其实没什么可说的,必须用DDR专用的管脚。CK和CKN要用差分输出管脚。很不幸,我的厂家没有给我提供这样的差分管脚。我用匹配的clock器件输出,并在transerve上做了必要的调整。实践证明还是可以工作的。
PHY既然是数字逻辑,就设计到测试。本来我是不主张再做测试电路的,因为这很可能会使时序变差。尤其是其中的延时链和DQ的最后一级,逻辑上就是不可能去做测试电路的。当然本着严格的数字设计思想,我现在正在努力在新的一版中将测试加上去。
设计PHY对于一个数字前端工程师来说确实是一个不大不小的挑战。我在近10年的设计中还是第一次做数字PHY的设计,在这之前,我曾经企图设计数字的USB PHY,但是由于USB的PHY已经比较便宜,就放弃了。在DDR的PHY的设计中,我更体会到时序对数字逻辑意味着什么。现在的数字设计越来越变的像是写软件了,对功能的重视越来越高,对测试的依赖越来越大,但是不重视对时序的理解,将大大的延缓设计的周期。一个好的前端工程师是要能将正确的时序时刻存放在心里的。要能清楚的理解自己手下写的代码对应的电路面积和延时,而这种修炼可能要很长的时间。
- 数字DDR PHY
- usb-phy,ddr-phy,hdmi-phy,ethernet-phy
- DDR
- DDR
- DDR
- DDR
- Can I use ALTMEMPHY to create a Mobile DDR SDRAM PHY in Cyclone III Devices?
- PHY
- PHY
- PHY
- phy
- Dual DDR 双通道DDR
- 【鼎阳硬件智库原创 | DDR】高速数字总线时序分析及计算方法
- D-PHY、M-PHY、C-PHY
- ISDN DDR
- DDR&nandflash
- DDR内存
- DDR SDRAM
- 别人的银行家算法
- 基于libnids的TCP数据流的还原(多线程实现)
- 由金山WPS中标央企采购大单想到的
- 进制转换
- 数独的解决方案
- 数字DDR PHY
- 无知使一切暗淡无光
- 笑笑2
- [SQLServer2005]交叉表格: cube, rollup
- php 常用正则表达式
- java经典书籍
- 青岛网球场馆简介
- X3D - 一次编写、处处、时时都可渲染的三维图形格式
- MySQL 5.1.42 发布