再谈SDRAM的布线——有关Mentor WG、DxDesinger、Expedition、CES
SDRAM布线规则及技巧
SDRAM布线规则及技巧SDRAM(Synchronous Dynamic Random Access Memory)是一种同步动态随机存取存储器,广泛应用于计算机系统中。
SDRAM的性能受到布线的影响,因此在设计SDRAM布线时需要遵守一些规则和技巧,以保证其性能和稳定性。
首先,布线规则是确保时序要求满足的基础。
时序要求是指控制信号在SDRAM上正确传输和演变的时间约束。
布线规则的主要目标是减少时序延迟和时序失真,确保信号的准确到达。
一些常见的布线规则包括:1.长度匹配:确保信号线的长度尽量相等,可以通过差分对和匹配长度来实现。
2.延迟匹配:保证信号线的延迟尽量相等,可以通过使用等长路径和准确的电缆长度来实现。
3.信号间隔:确保信号线之间的间隔足够,避免相互干扰。
4.层间切换:尽量减少信号线在不同层之间的切换,减少反射和串扰。
其次,布线技巧可以帮助优化布线效果和避免一些常见的布线问题。
1.差分对布线:差分对布线是一种常见的布线技巧,用于减少信号线之间的串扰和提高抗干扰能力。
差分对布线需要保持差分对的长度和延迟匹配。
2.绕行规则:在布线时需要避免绕行,尽量使用直线布线路径,减少信号线的长度和延迟。
3.层交叉规则:避免信号线在不同层之间频繁切换,减少反射和串扰。
如果需要交叉布线,应尽量避免延迟不匹配。
4.电源和地线:为SDRAM提供稳定的电源和地线是非常重要的。
布线时需要确保电源和地线的可靠连接、低噪声和低电阻。
最后,还有一些其他的技巧可以帮助优化SDRAM布线:1.参考设计:可以参考已有的成熟设计和布局规则,避免重复工作和一些常见的布线问题。
2.仿真与验证:使用电磁仿真工具和布线验证工具进行仿真和验证,确保布线符合设计要求并满足性能要求。
3.信号完整性分析:通过信号完整性分析工具,检测和分析信号线中的时序失真和耦合问题,从而优化布线布局。
总结起来,SDRAM布线规则和技巧可以帮助优化布线效果、提高信号完整性,确保SDRAM的性能和稳定性。
SDRAM的布线规则 基于Allegro嵌入式高速电路布线设计
SDRAM的布线规则基于Allegro嵌入式高速电路布线设计1 引言随着嵌入式微处理器主频的不断提高,信号的传输处理速度越来越快,当系统时钟频率达到100MHZ以上,传统的电路设计方法和软件已无法满足高速电路设计的要求。
在高速电路设计中,走线的等长、关键信号的阻抗控制、差分走线的设置等越来越重要。
笔者所在的武汉华中科技大学与武汉中科院岩土力学所智能仪器室合作.以ARM9微处理器EP9315为核心的嵌入式系统完成工程检测仪的开发。
其中在该嵌入式系统硬件电路设计中的SDRAM和IDE等长走线、关键信号的阻抗控制和差分走线是本文的重点,同时以cirrus logic公司的网络物理层接13芯片cs8952为例详细介绍了网络部分的硬件电路设计,为同类高速硬件电路设计提供了一种可借鉴的方法。
2 硬件平台 2.1 主要芯片本设计采用的嵌入式微处理器是Cirrus Logic公司2004年7月推出的EP93XX系列中的高端产品EP9315。
该微处理器是高度集成的片上系统处理器,拥有200兆赫工作频率的ARM920T内核,它具有ARM920T内核所有的优异性能,其中丰富的集成外设接口包括PCMCIA、接口图形加速器、可接两组设备的EIDE、1/10/100Mbps以太网MAC、3个2.0全速HOST USB、专用SDRAM通道的LCD接口、触摸屏接口、SPI串行外设接口、AC97接口、6通道I2S接口和8*8键盘扫描接口.并且支持4组32位SDRAM的无缝连接等。
主芯片丰富的外设接口大大简化了系统硬件电路.除了网络控制部分配合使用Cirrus Logic公司的100Base—X/10Base-T物理层(PHY)接口芯片CS8952外,其他功能模块无需增加额外的控制芯片。
2.2 系统主体结构由图1可见.系统以微处理器EP9315为核心,具有完备的外设接口功能,同时控制工程检测仪。
IDE/CF卡接口为工程检测数据提供大容量移动存储设备;扩展32M的SDRAM作为外部数据存储空间;3个主动USB 接口支持USB键盘鼠标;LCD接口支持STN/TFT液晶和触摸屏.为用户提供友好的交互界面;1/10/100 Mbps以太网为调试操作系统时下载内核及工程检测时远程监控提供途径;面板按键为工程人员野外作业无法使用键盘鼠标时提供人机交互接口。
DDRSDRAM布线规则
DDRSDRAM布线规则DDRSDRAM布线规则是指在电路板上设计和布置DDRSDRAM的电路和连线时需要遵循的一些规则和原则。
DDRSDRAM是一种双倍速率同步动态随机存储器,用于高速数据存储和访问,因此布线规则尤为重要,可以确保信号的完整性和稳定性,提高系统的性能和可靠性。
以下是DDRSDRAM布线规则的一些重要方面:1.线长匹配:DDRSDRAM的布线中,所有的时钟、地址、数据和控制信号必须尽量保持相等的线长。
由于DDRSDRAM使用双倍速率,信号频率较高,线长差异可能导致信号到达时间不一致,影响系统的稳定性。
通过保持线长相等,可以降低信号的传输延迟,减少时钟失真和时序错误。
2.地与电源平面:DDRSDRAM的布线中,要为信号线和电源线提供良好的地和电源环境。
通过使用地和电源平面,可以降低信号线上的互损耗和串扰,提高信号的信噪比和阻抗匹配。
电源平面还可以提供稳定的电源供应,减少功率噪声和波动对信号传输的影响。
3.信号隔离:DDRSDRAM的布线中,需要将不同类型的信号线进行隔离,避免互相干扰。
例如,时钟信号和数据信号应尽量分开布线,以减少互相之间的串扰。
同时,还应将高速信号线和低速信号线进行分离,避免高速信号对低速信号的影响。
4.差分信号:DDRSDRAM的部分信号采用差分传输方式,例如,地址和数据线。
在布线时,要确保差分线对称和匹配。
差分线对称性可以减少共模噪声的影响,而差分线匹配可以提高差分信号的传输效率和抗干扰能力。
5.终端电阻:DDRSDRAM的布线中,需要正确设置终端电阻来匹配信号线的特性阻抗。
终端电阻的作用是反射信号的能量,减少信号反射和回波干扰。
正确设置终端电阻可以提高信号的传输质量,减少时序错误和噪声。
6.时序调整:DDRSDRAM的布线中,需根据具体的DDRSDRAM芯片和系统要求进行时序调整。
时序调整包括延迟设置、预充电设置和时钟节拍调整等。
通过合理设置时序参数,可以确保DDRSDRAM正常工作,提高数据传输的稳定性和速度。
DDR2 DDR3 SDRAM的PCB布线规则指导
Signal Integrity and PCB layout considerations for DDR2-800 Mb/s and DDR3 MemoriesFidus Systems Inc.900, Morrison Drive, Ottawa, Ontario, K2H 8K7, CanadaChris Brennan, Cristian Tudor, Eric Schroeter, Heike Wunschmann, and Syed BokhariSession # 8.13AbstractThe paper addresses the challenge of meeting Signal Integrity (SI) and Power Integrity (PI) requirements of Printed Circuit Boards (PCBs) containing Double Data Rate 2 (DDR2) memories. The emphasis is on low layer count PCBs, typically 4-6 layers using conventional technology. Some design guidelines have been provided.1. IntroductionDDR2 usage is common today with a push towards higher speeds such as 800 Mbps [1] and more recently, 1066 Mbps. DDR3 [2] targets a data rate of 1600 Mbps. From a PCB implementation standpoint, a primary requirement is delay matching which is dictated by the timing requirement. This brings into it a number of related factors that affect waveform integrity and delay. These factors are interdependent, but where a distinction can be made, they can be termed PCB layer stackup and impedance, interconnect topologies, delay matching, cross talk, PI and timing. Cadence ALLEGRO™SI-230 and Ansoft’s HFSS™ are used in all computations.Table 1: Comparison of DDR2 and DDR3 requirementsSignals common to both technologies and a general comparison of DDR2 and DDR3 is shown in Table 1. It must be noted that “matching” includes cases where the clock net may be made longer (termed DELTA in ALLEGRO SigXP). We have assumed a configuration comprising a Controller and two SDRAMs in most illustrations that follow.2. PCB Layer stackup and impedanceIn a layer constrained implementation, a 4 layer PCB (Figure 1) is a minimum with all routing on TOP and BOTTOM layers. One of the internal layers will be a solid ground plane (GND). The other internal plane layer is dedicated to VDD. Vtt and Vref can be derived from VDD. Use of a 6-layer PCB makes the implementation of certain topologies easier. PI is also enhanced due to the reduced spacing between power and GND planes. The interconnect characteristic impedance for DDR2 implementation can be a constant. A single-ended trace characteristic impedance of 50 Ohms can be used for all single-ended signals. A differential impedance of 100 Ohms can be used for all differential signals, namely CLOCK and DQS. Further, the termination resistor pulled up to VTT can be kept at 50 Ohms and ODT settings can be kept at 50 Ohms.In the case of DDR3 however, single ended trace impedances of 40 and 60 Ohms used selectively on loaded sections of ADDR/CMD/CNTRL nets have been found to be advantageous. Further, the value of the termination resistor pulled up to Vtt needs to be optimized in combination with the trace impedance through SI simulations. Typically, it is in the range 30 – 70 Ohms. The differential trace impedance can remain at 100 Ohms.Figure 1 : Four and Six layer PCB stackup3. Interconnect TopologiesIn both cases of DDR2 and DDR3, DQ, DM and DQS signals are point-to-point and do not need any topological consideration. An exception is in the case of multi-rank Dual In Line Memory Modules (DIMMs). Waveform integrity is also easily addressed by a proper choice of drive strengths and On Die Termination (ODT). The ADDR/CMD/CNTRL signals, and sometimes the clock signal will involve a multipoint connection where a suitable topology is needed. Possible choices are indicated in Figure 2 for cases involving two SDRAMs. The Fly-By Topology is a special case of a daisy chain with a very short or no stub.For DDR3, any of these topologies will work, provided that the trace lengths are minimized. The Fly-by topology shows the best waveform integrity in terms of an increased noise margin. This can be difficult to implement on a4-layer PCB and the need for a 6-layer PCB arises. The daisy chain topology is easier to implement on a 4 layer PCB. The tree topology on the other hand requires the length of the branch AB to be very close to that of AC (Figure 2). Enforcing this requirement results in the need to increase the length of the branches which affects waveform integrity. Therefore, for DDR3 implementation, the daisy chain topology with minimized stubs proves to be best suited for 4-layer PCBs.For DDR2-800 Mbps any of these topologies are applicable with the distinction between each other being less dramatic. Again, the daisy chain proves to be superior in terms of both implementation as well as SI.Where more than two SDRAMs are present, often, the topology can be dictated by constraints on device placement. Figure 3 shows some examples where a topology could be chosen to suit a particular component placement. Of these, only A and D are best suited for 4-layer PCB implementation. Again, for DDR2-800 Mbps operations all topologies yield adequate waveform integrity. For a DDR3 implementation, in particular at 1600 Mbps, only D appears to be feasible.Vtt RtRtRtTree topology Fly-By topologyFigure 2: ADDR/CMD/CNTRL topologies with 2 SDRAMS(A)Figure 3: ADDR/CMD/CNTRL topologies with four SDRAMS4. Delay matchingImplementing matched delay is usually carried out by bending a trace in a trombone shape. Routing blockage may require layer jumping. Unfortunately, while physical interconnect lengths can be made identical in layout, electrically, the two configurations shown in Figure 4 will not be the same.The case of trombone delay has been well understood, and the case of a via is obvious. The delay of a trombone trace is smaller than the delay of a straight trace of the same center-line length. In the case of a via, the delay is more than that of a straight microstrip trace of length equal to the via length. The problem can be resolved in two different ways. In the first approach, these values can be pre-computed precisely and taken into account while delay matching. This would become a tedious exercise which could perhaps be eased with userRtRtRt(B)(C)(D)Rtdefined constraints in ALLEGRO 16.0. In the second approach, one would use means to reduce the disparity to an acceptable level.Trombone traceStraight traceL 3L 2 L 4 ≠L 1L 5Figure 4: Illustration of Trombone traces and ViasFigure 5: Circuit for estimation of trombone effect and resulting waveforms.≠Straight traceVia cross sectional viewConsider the case of a trombone trace. It is known that the disparity can be reduced by increasing the length of L3 (Figure 4). Details can be found in reference [3]. A simulation topology can be set up in SigXP to represent parallel arms of a trombone trace as coupled lines. A sweep simulation is carried out with L3 (S in Figure 5) as a variable and the largest reasonable value that reduces the delay difference with respect to a reference trace is selected. For microstrip traces, L3 > 7 times the distance of the trace to ground is needed.Delay values are affected in a trombone trace due to coupling between parallel trace segments. Another way to reduce coupling without increasing the spacing is to use a saw tooth profile. The saw tooth profile shows better performance as compared to a trombone although it eventually ends up requiring more space. In either case, it is possible to estimate the effect on delay precisely by using a modified equation for the computation of the effective trace length [3]. This would need to be implemented as a user defined constraint in ALLEGRO.Consider the case of a through hole via on the 6 layer stackup of Figure 2. Ground vias placed close to the signal vias play an important role in the delay. For the illustration, the microstrip traces on TOP and BOTTOM layers are 150 mils long, and 4 mils wide. The via barrel diameter = 8 mils, pad diameter is 18 mils and the anti-pad diameter is 26 mils.Three different cases are considered. In the first case, the interconnect with via does not have any ground vias in its immediate neighborhood. Return paths are provided at the edges of the PCB 250 mils away from the signal via. In the second case, a reference straight microstrip trace of length = 362 mils is considered. The third case is the same as case 1 with four ground vias in the neighborhood of the signal via. Computed s-parameters with 60 Ohm normalization are shown in Figure 6. It can be seen that the use of 4 ground vias surrounding the signal via makes its behavior more like a uniform impedance transmission line and improves the s21 characteristic. In the absence of a return path in the immediate neighborhood, the via impedance increases. For the present purpose, it is important to know the resulting impact on the delay.A test circuit is set up similar to Figure 5. The driver is a linear source of 60 Ohms output impedance and outputs a trapezoidal signal of rise time = fall time = 100 ps and amplitude = 1V. It is connected to each of the 3 interconnects shown in Figure 6 and the far end is terminated in a 60 Ohm load. The excitation is a periodic signal with a frequency of 800 MHz. The time difference between the driver waveform at V = 0.5 V and the waveform at the receiver gives the switched delay.Results are illustrated in Figure 7 where only the rising edge is shown. It can be seen that the delay with four neighboring ground vias differs from that of the straight trace by 3 ps. On the other hand, the difference is 8 ps for the interconnect with no ground vias in the immediate neighborhood.It is therefore clear that increasing the ground via density near signal vias will help. However, in the case of 4 layer PCBs, this will not be possible as the signal traces adjacent to the Power plane will be referenced to a Power plane. Consequently, the signal return path would depend on decoupling. Therefore, it is very important that the decoupling requirement on 4 layer PCBs addresses return paths in addition to meeting power integrity requirements.The clock net is differential in both DDR2 and DDR3. In DDR2, DQS can be either single ended or differential although it is usually implemented as differential at higher data rates. The switched delay of a differential trace is less than that of a single ended trace of identical length. Where timing computations indicate the need, the clock and DQS traces may need to be made longer than the corresponding ADDR/CMD/CNTRL nets and DATA nets.and DQ nets.Since DQ and DM nets run at the maximum speed, it is desirable that all of these nets in any byte lane be routed identically, preferably without vias. Differential nets are less sensitive to discontinuities and where layer jumping is needed, the DQS and CLOCK nets should be considered first.Figure 6: s-parameters of interconnects with vias (60 Ohm normalization)Figure 7: Driver and Receiver waveforms for the 3 cases of Figure 6. (Plot colors correspond)5. CrosstalkCross talk contributes to delay uncertainty being significant for microstrip traces. This is generally reduced by increasing the spacing between adjacent traces for long parallel runs. This has the drawback of increasing the total trace length and therefore a reasonable value must be chosen. Typically the spacing should be greater than twice the trace distance to ground. Again, ground vias play an important role. Near and far end coupling levels are illustrated in Figure 8. Use of multiple ground vias reduces coupling levels by 7 dB. To derive the interconnect budget, a simulation of a victim trace with two aggressors on both sides is adequate. Using a periodic excitation on all nets will yield the cross talk induced jitter. Using a pseudo random excitation on all nets will show the effect of both cross talk as well as data dependencies. Time domain results are not shown here, but it is easily done by setting up a 5 coupled line circuit in SigXP with the spacing between traces set up for sweeping. Reasonable spacing values that keep the jitter in the waveform due to both cross talk as well as pattern dependence at an acceptable level are chosen.Figure 8: s-parameters of coupled traces (60 Ohm normalization)6. Power IntegrityPower Integrity here refers to meeting the Power supply tolerance requirement under a maximum switching condition. Failure to address this requirement properly leads to a number of problems, such as increased clock jitter, increased data dependent jitter, and increased cross talk all of which eventually reduce timing margins.The theory for decoupling has been very well understood and usually starts with the definition of a “target impedance” as [4]CurrentTransient tolerance Voltage Z et t =arg (1)An important requirement here is knowledge of the transient current under worst case switching condition. A second important requirement is the frequency range. This is the range of frequencies over which the decoupling network must ensure that its impedance value is equal to or below the required target impedance. On a printed circuit board, capacitance created by the Power-Ground sandwich and the decoupling capacitors needs to handle a minimum frequency of ~100 kHz up to a maximum frequency of ~100-200 MHz. Frequencies below 100 kHz are easily addressed by the bulk capacitance of the voltage regulator module. Frequencies above 200 MHz should be addressed by the on-die and in some cases on-package decoupling capacitance. Due to the finite inductance of the package, there is no need to provide decoupling on the PCB to handle frequencies greater than 200 MHz. The actual computation of power integrity can be very complex involving IC package details, simultaneously switched signals and the PCB power distribution network. For PCB design, the use of the target impedance approach to decoupling design is simpler and provides a practical solution with very little computational effort.The three power rails of concern are the VDD, VTT and Vref. The tolerance requirements on the VDD rail is ~ 5% and the transient current is determined as the difference between Idd7 and Idd2 as specified by JEDEC [1,4]. This is accomplished by using plane layers for power distribution and a modest number of decoupling capacitors. It is preferable to use decoupling capacitors of 10 different values distributed in the range of 10 nF to 10 uF. Further, the capacitor pad mounting structure should be designed for reduced mounted inductance.The Vref rail has a tighter tolerance, but it draws very little current. Its target impedance is easily met using narrow traces and one or two decoupling capacitors. It is important however that the capacitors be located very close to the device pins.The VTT rail proves to be challenging because it not only has a tighter tolerance, but it also draws a transient current close to that of the VDD rail. The transient current is easily calculated as described in reference [5]. Again, the target impedance requirement can be met using an increased number of decoupling capacitors.On a 4 layer PCB, the planes are too far apart and consequently the advantage of inter-plane capacitance is lost. The number of decoupling capacitors needs to be increased and higher frequency capacitors with values less than 10 nF may be needed. These computations are easily done using ALLEGRO SI Power Integrity option.7. TimingTiming computation is carried out as described in reference [6]. A table needs to be setup for the following eight cases: 1. 2. 3. 4. 5. 6. 7. 8. Write Setup analysis DQ vs. DQS Write Hold analysis DQ vs. DQS Read Setup analysis DQ vs. DQS Read Hold analysis DQ vs. DQS Write Setup analysis DQS vs. CLK Write Hold analysis DQS vs. CLK Write Setup analysis ADDR/CMD/CNTRL vs. CLK Write Hold analysis ADDR/CMD/CNTRL vs. CLKAn example is shown for the case of Write setup analysis in Table 2. Actual numbers have been omitted as they are not precisely known yet for DDR3. These numbers are obtained from data sheets of Controller and memory manufacturers. The numbers in the interconnect section are determined by SI simulations. All the eight cases need to be analyzed for DDR2. For DDR3, 5 and 6 are not needed due to its write leveling feature. In the PCB implementation, length match tolerances must ensure that the total margin is positive. ElementControllerSkew Componenta.)DQ vs. DQS skew at transmitter output b.) Data / Strobe PLL jitter a+b Setup requirement (tDSb @ Vih/Vil level) DQ slew rate DQS slew rateSetupUnitsps ps ps psCommentsFrom controller design data Used if not included in transmitter skewTotal Controller SDRAM (or DIMM)V/ns V/ns psTotal SDRAM setup requirement InterconnecttDSb + slew rate adjustmentFrom SDRAM datasheet; this number is to be adjusted based on DQ and DQS slew rates Measured as per JEDEC specification from SI simulation results Measured as per JEDEC specification from SI simulation results Includes slew rate adjustmenta.) Data Xtalk b.) DQS Xtalk c.) Length matching tolerance d.) Characteristic impedance mismatch Total Interconnect Min. Total Setup Budget Setup margin Interconnect skew (a + b + c + d) 0.24*tckps ps ps ps2 aggressors (one each side of the victim); victim – repetitive; aggressor- PRBS 2 aggressors (one each side of the victim); victim – repetitive; aggressor- PRBS Extracted from SI simulation results longest data net, worst case PVT corner can be omitted if routing of DQ and corresponding DQS signals are done on same layerps ps From SDRAM datasheet (includes clock duty cycle variation) Must be positiveMin. Total Setup Budget – (Total Controller + Total SDRAM + Total Interconnect )psTable 2: Illustration of DDR3 Write Setup timing analysis summary for DQ vs. DQS8. PCB LayoutImplementation on a PCB involves a number of tradeoffs to meet SI requirements. Often, the question is how far does one need to go? PCB layout tasks are facilitated using the following approach: 1. Set up topology and constraints in ALLEGRO Constraint Manager. 2. Design Controller BGA breakout. A controller pin arrangement with ADDR/CMD/CNTRL pins in the middle and DQ/DQS/DM byte lanes on either side is best suited. Within these groups, individual pins may need to be swapped to ensure routing with minimum cross-over. 3. Attempt routing with reduced stub length and a minimum trace spacing as obtained from cross talk simulation. Often, most stubs can be eliminated but it will not be possible for all the pins. One may try two traces between BGA pads of the memory devices. This would require narrow PCB traces which can increase manufacturing cost. Yet, it will not be possible for all signals unless micro via and via-in-pad technology is used. Complete routing with coarse length matching tolerances. 4. Place Vref decoupling capacitors close to the Vref pins. Vtt decoupling can be placed at the far end of the last SDRAM and will not come in the way of routing. VDD decoupling can be placed close to devices where possible without blocking routing channels. The smaller valued capacitors should be placed closer to the devices. With a proper decoupling design, it will not be necessary to cram all capacitors close to the devices. All decoupling capacitors should use a fan out for the footprint designed for reduced inductance. This is typically two short wide traces perpendicular to the capacitor length. This can be automated by using a user defined capacitor footprint that can be attached to all the decoupling capacitors in the schematic. 5. Implement fine length matching and insert multiple ground vias where signal traces jump layers. It is better to use the delay matching option in ALLEGRO and one must include z-axis delay. Typically, P and N nets of differential pairs should be matched with a tolerance of +/- 2ps and the tolerance for all other matched nets can be +/- 10 ps or more based on the timing margin computation.9. DIMMConsiderations described above apply to the case of PCBs containing one or more DIMMs. The only exception is that the decoupling requirement for the memories can be relaxed as it is already accounted for on the DIMM PCB. SI analysis of registered DIMMs is also much simpler where the DIMM is treated as a single load. While the routing topology for ADDR/CMD/CNTRL nets is usually a daisy chain with reduced stubs, tree topologies can also be used for registered DIMMs. Analysis of un-buffered DIMMs can become tedious as the timing requirement at all the SDRAMs must be analyzed. DIMM routing on 4-layer PCBs is relatively simpler compared to the case of SDRAMs.10. ExamplesThe detail described above has been used in the implementation of a DDR2 PCB, a DDR3 PCB and a DDR3 – DIMM PCB. The controller is from MOSAID [7] which is designed to provide both DDR2 as well as DDR3 functionality. For the SI simulations, IBIS models have been used. Models for the memories are from MICRON Technology, Inc [8]. The IBIS models for the DDR3 SDRAMs were available at 1333 Mbps speed. These were used at 1600 Mbps. For the unbuffered DDR3 DIMM (MT_DDR3_0542cc) EBD models from Micron Technology were used. All waveforms are for the typical case and are computed at the SDRAM die. The 6 layer PCB stackup of Figure 2 is used with routing on TOP and BOTTOM layers only. The memory consists of 2 SDRAMsrouted as a daisy chain. In the case of the DIMM, a single unbufferred DIMM is used. TOP/BOTTOM layer routing and Signal Integrity waveforms are shown in Figures. 9-11.Snapshots ofFigure 9: Illustration of TOP and BOTTOM layers of a DDR3 PCB with computed waveforms at the farthest SDRAM. Waveform on left is an ADDRESS net compared to that of the CLOCK net. Waveform on the right is a DATA net compared to that of a DQS net. Clock frequency = 800 MHz and data rate is 1600 Mbps.Figure 10: Illustration of TOP and BOTTOM layers of a DDR2 PCB with computed waveforms at the farthest SDRAM. Waveform on left is an ADDRESS net compared to that of the CLOCK net. Waveform on the right is a DATA net compared to that of a DQS net. Clock frequency = 400 MHz and data rate is 800 Mbps.Figure 11: Illustration of TOP and BOTTOM layers of a DDR3 – DIMM PCB with computed waveforms at the 8th (last) SDRAM on DIMM. Waveform on left is an ADDRESS net compared to that of the CLOCK net. Waveform on the right is a DATA net compared to that of a DQS net.Lastly, Figure 12 shows a comparison of computed and measured DATA eye patterns of an 800 Mbps DDR2. In all cases waveform integrity can be seen to be excellent.Figure 12: Computed (Red) and Measured (blue) waveforms of a data net of an 800 Mbps DDR2 PCB.11. ConclusionIn this paper, all aspects related to SI, and PI of DDR2 and DDR3 implementation have been described. Use of Constraint Manager in ALLEGROTM makes implementation easy. While a four layer PCB implementation of 800 Mbps DDR2 and DDR3 appears to be feasible, DDR3-1600 Mbps will prove to be challenging. It will become clearer as the memory devices become available and one has a good handle on timing numbers.References[1] DDR2 SDRAM Specification, JEDEC JESD79-2B, January 2005. [2] DDR3 SDRAM Standard, JEDEC JESD79-3, June 2007. [3] Syed Bokhari, “Delay matching on Printed Circuit Boards”, Proceedings of the CDNLIVE 2006, San Jose. [4] Larry D Smith, and Jeffrey Lee, “Power Distribution System for JEDEC DDR2 memory DIMM, Proc. IEEE EPEP conference, Princeton, N.J., pp. 121-124, October 2003. [5] Hardware and layout design considerations for DDR2 SDRAM Memory Interfaces, Freescale semiconductor Application Note, Doc. No. AN2910, Rev. 2, 03/2007. [6] DDR2 design guide for 2 DIMM systems, Technical Note, Micron Technology Inc. TN-47-01, 2003. [7] /corporate/products-services/ip/SDRAM_Controller_whitepaper_Oct_2006.pdf [8] /products/dram/ddr2/partlist.aspx?speed=DDR2-800 [9] /products/dram/ddr3/partlist.aspx?speed=DDR3-1066。
SDRAM布线规则
SDRAM布线规则一:SDRAM 类高速器件布线规则通用基本法则:(1)DDR和主控芯片尽量靠近(2)高速约束中设置所有信号、时钟线等长(最多允许50mil的冗余),所有信号、时钟线长度不超过1000mil (3)尽量0过孔,元件层下面一定要有一个接地良好的地层,所有走线不能跨过地的分割槽,即从元件层透视地层看不到与信号线交叉的地层分割线。
这样的话200M的DDR基本上是没有太大问题。
其它的一些3W 20H法则能做到就尽量做到吧时钟信号:以地平面为参考,给整个时钟回路的走线提供一个完整的地平面,给回路电流提供一个低阻抗的路径。
由于是差分时钟信号,在走线前应预先设计好线宽线距,计算好差分阻抗,再按照这种约束来进行布线。
所有的DDR差分时钟信号都必须在关键平面上走线,尽量避免层到层的转换。
线宽和差分间距需要参考DDR控制器的实施细则,信号线的单线阻抗应控制在50~60 Ω,差分阻抗控制在100~120 Ω。
时钟信号到其他信号应保持在20mil以上的距离来防止对其他信号的干扰。
蛇形走线的间距不应小于20 mil。
串联终端电阻RS值在15~33Ω,可选的并联终端电阻RT 值在25~68 Ω,具体设定的阻值还是应该依据信号完整性仿真的结果。
数据信号组:以地平面为参考,给信号回路提供完整的地平面。
特征阻抗控制在50~60 Ω。
线宽要求参考实施细则。
与其他非DDR 信号间距至少隔离20 mil。
长度匹配按字节通道为单位进行设置,每字节通道内数据信号DQ、数据选通DQS和数据屏蔽信号DM长度差应控制在±25 mil内(非常重要),不同字节通道的信号长度差应控制在1 000 mil内。
与相匹配的DM和DQS串联匹配电阻RS值为0~33 Ω,并联匹配终端电阻RT值为25~68Ω。
如果使用电阻排的方式匹配,则数据电阻排内不应有其他DDR信号。
地址和命令信号组:保持完整的地和电源平面。
特征阻抗控制在50~60 Ω。
SDRAM介绍及PCBLayout处理
SDRAM介绍及PCBLayout处理SDRAM的特点是操作和数据的同步,数据的读写都是在时钟信号的驱动下进行的。
相较于其他类型的DRAM,SDRAM具有更高的带宽和更快的访问速度。
它的数据传输是按照时钟信号的边沿触发进行的,数据的传输速率取决于时钟频率。
在PCBLayout处理中,布局和布线是两个主要方面。
对于SDRAM的布局,需要考虑以下几个因素:1.电源和地线:为SDRAM提供稳定的电源和接地,可以采用多层板设计,将电源和地线尽可能地贴近SDRAM芯片。
2.时钟线:时钟信号对于SDRAM的读写操作非常重要,应避免与其他信号线相交,减少互相干扰。
可以采用较短的时钟线长度,以减小传输延迟。
3.数据线:数据线也是SDRAM的关键信号,需要将其布置得尽可能短且对称。
对称布线可以减小信号传输的抖动,提高数据传输的稳定性。
4.地域规划:在整个布局过程中,需要合理规划SDRAM芯片的位置和周围的元器件。
将相应的引脚和信号线放置在合适的位置,以提高信号传输的效率和可靠性。
在布线处理中,需要考虑以下几个因素:1.长度匹配:对于时钟线和数据线,需要保持匹配的长度,以避免信号传输的不同步。
可以使用电荷平衡的技术来实现长度匹配。
2. 隔离:对于时钟信号和数据信号,需要尽量避免相互干扰。
可以采用隔离插入(isolation insertion)的方法,在时钟线和数据线之间插入隔离段,使它们互不干扰。
3.地域规划:在布线过程中,需要合理规划地面线。
保持地面线的平稳和连续性,减小信号的回流路径,避免信号互相干扰。
4.控制线:除了时钟和数据线外,还需要合理布置控制线。
控制线主要用于SDRAM的读写控制和激活操作,需要与其他信号线保持一定的距离,以防止相互干扰。
总之,在PCBLayout处理中,要考虑SDRAM的布局和布线因素,以保证SDRAM的正常工作和高性能。
合理的布局和布线可以减小信号传输的延迟和抖动,提高数据传输的速度和稳定性。
SDRAM布线
再谈SDRAM的布线——有关Mentor WG、DxDesinger、Expedition、CES2008-06-18 14:57•前言的前言这篇文章我写了很久很久,因为最近很忙很忙。
现在我逐渐开始接触开关电源和可靠性设计的东西,好像离原来我定义的EE越来越远了。
也许以后我要向模电或管理人员发展了……我还是纯朴地希望自己能一直保持做一个不断钻研的EE工程师。
不说了,做人要厚道,转载请注明来自我是一只鱼同学的EE小站,邮件地址cosine@。
•前言最近一个多月都在研究Mentor WG,已经对DxDesigner + Expedition的画板流程有了比较清醒的认识,我对Mentor WG评价可以套用对目前国产汽车的评价——配置齐全、做工粗糙。
虽然WG有很强的功能,但是BUG实在是数不胜数,而且有些BUG可能导致你的工程彻底报废,所以建议使用时辅以自动备份软件,减小工程崩溃带来的损失。
今天要谈的话题都是基于WG的,因为PADS、Protel / DXP之类的软件没有这样的功能或功能不完整。
不过,也可以使用其他软件进行PCB前仿、手动完成线长匹配等工作;工具只是人的技巧的辅助和延伸,要是没有高速PCB设计的知识,同样完不成高速数字PCB的设计。
本文为我是一只鱼同学EE小站的原创文章,转载请注明出处;本文对初学者而言,技术难度较高,如果有不明白的地方,可以留言。
另外继续废话几句,事实上SDRAM对布线的要求是很低的,DDR才是真正有挑战的东西,可惜我目前没有DDR的项目,也没有办法验证我对理论的理解,希望以后有机会和大家分享我的心得。
下面正式开始:•什么是高速数字PCB,怎么入手?高速数字PCB简单来说可以理解为关键部分如存储器总线的工作频率高于数十至一百MHz的PCB,更严格的定义应该用传输线来描述,当PCB上的信号的传输延迟大于上升时间的1/10时,这个信号的传输路径就应该视为传输线;即应当用与传统低速数字电路不同的方法对待。
DDR2 BGA布局、布线经验谈
DDR2 SDRAM×32布局、布线经验谈对于DDR2的布局、布线来说,最关键的就是要非常地熟悉DDR2中DQ、DM、DQS 和FPGA芯片中DQ/DQS Pins的分布情况,为了更直白的说明这个问题,咱们来看图说话,解析:考虑到DDR2走高速信号时的信号完整性质量,首先要满足最基本的布线要求(还有信号线的等长):(1)DQ[0:7]、DM0、DQS0这10根信号线要在同一层;(2)DQ[8:15]、DM1、DQS1这10根信号线要在同一层;(3)DQ[16:23]、DM2、DQS2这10根信号线要在同一层;(4)DQ[24:31]、DM3、DQS3这10根信号线要在同一层;其中(1)和(3)可以在同一层(如S1)实现顺利布线,而(0)和(2)可以在同一层(如S2)实现顺利布线。
上面这个图中我特意用笔把所有Pins的分布情况给大致分割了一下,这样看起来会一目了然。
布线时应该把上面一个部分(即A、B、C、D)里面的DQ、DM、DQS总共10根信号线作为一个单元,对应FPGA芯片里特定的一个PIN区域,下面E、F、G、H这个部分也是类似的。
不过布线时还应该注意的地方就是:FPGA里的那个所谓的“特定部分”中只有DQS这个Pin是固定不可被替代的,其他的9个Pins中DQ[n:n+7]和DM线是可以任意换序的,因为DQ和DM信号线所对应的Pins在FPGA芯片中是同一个电气属性的。
这个相当关键,不然的话,会给布线带来比较大的麻烦。
关于那个“特定的部分”,我截个图如下所示,不同的颜色即为一个“独立的特定的区域”,我布线时主要用的是下方中间四个“独立的特定的区域”——用于两个DDR2的布线需要,实现32位并行数据流。
画这个板子时我设置的是六层结构(四个信号层+两个参考层),布局、布线结束后的各信号层结果如下:TOP LAYER:LAYER S1:LAYER S2:BOTTOM LAYER:ALL LAYERS:。
嵌入式DDR布线分析 DDR信号布线介绍
嵌入式DDR布线分析DDR信号布线介绍嵌入式DDR(Double Data Rate,双数据速率)设计是含DDR的嵌入式硬件设计中最重要和最核心的部分。
随着嵌入式系统的处理能力越来越强大,实现的功能越来越多,系统的工作频率越来越高,DDR的工作频率也逐渐从最低的133 MHz提高到200 MHz,从而实现了更大的系统带宽和更好的性能。
然而,更高的工作频率同时也对系统的稳定性提出了更高的要求,这需要硬件设计者对电路的布局走线有更多的约束和考虑。
而影响整个系统能否工作正常且稳定的最重要的部分就是DDR部分的电路设计。
嵌入式系统使用DDR内存,可以在传统的单数据数率内存芯片上实现更好的性能。
DDR 允许在不增加时钟频率和数据位宽的条件下,一个时钟周期内能够处理两个操作。
增加的数据总线性能是由于源同步数据选通允许数据同时在选通脉冲的上升沿和下降沿被获取。
DDR虽然能够给嵌入式设计带来更好的性能,但是设计者必须比以往的SDR设计更小心地处理DDR部分的PCB布线部分,否则不仅不能实现好的性能,整个嵌人式系统的稳定性也会受到影响。
DDR比传统的SDR有更短的信号建立保持时间、更干净的参考电压、更紧密的走线匹配和新的I/O口信号,并且需要合适的终端电阻匹配。
这些都是要面对的新的挑战。
1 DDR总线结构对于DDR内存,JEDEC建立和采用了一个低压高速信号标准。
这个标准称为短截线串联终结逻辑(StubSeries Terminated Logic,SSTL)。
SSTL能够改进数据通过总线传输的信号完整性,这种终端设计的目的是防止在高速传输下由于信号反射导致的数据错误。
在一个典型的内存拓扑结构中,如果使用了串联匹配电阻(RS),那么它应该放在远离DDR 控制器的位置。
这种方法能够节约控制器附近宝贵的电路板空间,避免布线拥塞和繁琐的引脚扇出;而且也优化了从控制器到内存芯片的信号完整性,在这些位置往往有很多地址和命令信号需要可靠地被多个内存接收。
SDRAM内存详解(经典)
SDRAM内存详解(经典)我们从内存颗粒、内存槽位接口、主板和内存之间的信号、接口几个方面来详细阐述SDRAM内存条和主板内存系统的设计思路... 虽然目前SDRAM内存条价格已经接底线,内存开始向DDR和Rambus内存过渡。
但是由于DDR内存是在SDRAM基础上发展起来的,所以详细了解SDRAM内存的接口和主板设计方法对于设计基于DDR内存的主板不无裨益。
下面我们就从内存颗粒、内存槽位接口、主板和内存之间的信号接口几个方面来详细阐述SDRAM内存条和主板内存系统的设计思路。
内存颗粒介绍对于DRAM(Dynamic Random Access Memory)内存我想凡是对于计算机有所了解的读者都不会陌生。
这种类型的内存都是以一个电容是否充有电荷来作为存储状态的标志,电容冲有电荷为状态1,电容没有电荷为状态0。
其最大优点是集成度高,容量大,但是其速度相对于SRAM (Static Random Access Memory) 内存来说慢了许多。
目前的内存颗粒封装方式有许多种,本文仅仅以大家常见的TSSOP封装的内存颗粒为例子。
其各个管脚的信号定义和我们所使用的DIMM插槽的定义是相同的,对于不同容量的内存,地址信号的位数有所不同。
另外一个需要注意的地方就是其供电电路。
Vcc和Vss是为内存颗粒中的存储队列供电,而VccQ和VssQ是为内存颗粒中的地址和数据缓冲区供电。
两者的作用不同。
我们对内存颗粒关心的问题主要是其颗粒的数据宽度(数据位数)和容量(寻址空间大小)。
而对于颗粒自检、颗粒自刷新等等逻辑并不需要特别深入的研究,所以对此我仅仅是一笔带过,如果读者有兴趣的读者可以详细研究内存颗粒的数据手册。
虽然内存颗粒有这么多的逻辑命令方式,但是由于目前北桥芯片和内存颗粒的集成度非常高,只要在布线和元器件的选择上严格按照内存规范来设计和制造,需要使用逻辑分析仪来调试电路上的差错的情况比较少,并且在设计过程中尽量避免出现这种情况。
DDR-内存布线指导(Micron观点)
DDR内存布线指导在现代高速数字电路的设计过程中,工程师总是不可避免的会与DDR或者DDR2,SDRAM打交道。
DDR的工作频率很高,因此,DDR的Layout也就成为了一个十分关键的问题,很多时候,DDR的布线直接影响着信号完整性。
下面本文针对DDR的Layout问题进行讨论。
信号引脚说明VSS为数字地,VSSQ为信号地,若无特别说明,两者是等效的。
VDD为器件内核供电,VDDDQ为器件的DQ和I/O供电,若无特别说明,两者是等效的。
对于DRAM来说,定义信号组如下:∙数字信号组DQ,DQS,xDM,其中每个字节又是内部的一个信道Lane组,如DQ0~DQ7,DQS,LDM 为一个信号组。
∙地址信号组:ADDRESS∙命令信号组:CAS#,RAS#,WE#∙控制信号组:CS#,CKE∙时钟信号组:CK,CK#印制电路板叠层,PCB Stackups推荐使用6层电路板,分布如下:∙电路板的阻抗控制在50~60ohm∙印制电路板的厚度选择为1.57mm(62mil)∙填充材料Prepreg厚度可变化范围是4~6mil∙电路板的填充材料的介电常数一般变化范围是3.6~4.5,它的数值随着频率,温度等因素变化。
FR-4就是一种典型的介电材料,在100MHz时的平均介电常数为4.2。
推荐使用FR-4作为PCB的填充材料,因为它便宜,更低的吸湿性能,更低的电导性。
一般来说:DQ,DQS和时钟信号线选择VSS作为参考平面,因为VSS比较稳定,不易受到干扰;地址/命令/控制信号线选择VDD作为参考平面,因为这些信号线本身就含有噪声。
电路板的可扩展性根据JEDEC标准,不同容量的内存芯片一般引脚兼容,为了实现电路板的可扩展性,可以做如下处理,如128Mb与256Mb的兼容应用。
未用的DQ引脚对于x16的DDR器件来说,未用的引脚要作一定的处理。
例如x16的DDR来说,DQ15:DQ8未用,则处理如下,将相关的UDM/DQMH拉高用来屏蔽DQ线,DQ15:DQ8通过1~10k的电阻接地用来阻止迸发写时的噪声。
DDR布线应注意的问题(精华部分)
DDR布线应注意的问题(精华部分)首先区别DDR SDRAM与SDRAM:SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR则是一个时钟周期内传输两次数据,在时钟的上升期和下降期各传输一次数据。
SDRAM的工作电压为3.3V,而DDR的工作电压为2.5V;SDRAM采用公共时钟同步,公共时钟同步是指在数据的传输过程中,总线上的驱动端和接收端共享同一个时钟源,在同一个时钟缓冲器(clock buffer)发出同相时钟的作用下,完成数据的发送和接收。
DDR SDRAM采用源同步,源同步就是指时钟选通信号clk伴随发送数据一起由驱动芯片发送。
所以在DDR的控制端需要有延迟补偿电路。
SDRAM关心建立时间,而DDR关心保持时间,DDR比SDRAM 要求有更短的信号建立保持时间、更干净的参考电压、更紧密的走线匹配和新的I/O口信号,并且需要合适的终端电阻匹配。
因此在布线的时候注意等长布线。
关于建立时间和保持时间的概念详见附录。
DDR布线应注意的问题:内存的作用是用来存储数据的,写入1读出1,写入0读出0,因此必须保证数据访问正确。
产生数据访问错误的情况主要有如下两种:1、判决错误,0判成1,1判成0。
可能参考电平不准(为什么不准?信号线内阻造成的压降),也可能是加性干扰,或者阻抗不匹配引起信号畸变。
2、时序错误,不满足建立/保持时间,或者采样点相位错误,不在有效信号位置上。
触发器需要维持一段时间的能量供给才能正常工作,这个时间就是建立/保持时间。
只要解决好这两个问题,保证内存正确访问,内存电路就设计成功了。
为了满足建立保持时间,同频同相,采样正确,我们对走线的布线要求是:等长布线。
但是由于DDR有高速时钟信号,高速跳变的边沿,就必须考虑到在PCB板上存在传输线效应的问题,对于布线长度有了要求。
避免传输线效应的方法1、严格控制关键网线的走线长度。
如果采用CMOS或TTL电路进行设计,工作频率小于10MHz,布线长度应不大于7英寸。
SDRAM 布线要领
Data
1. 信号分组,我们把它分为三组
(1) DDR_A/C(包含Address、Control信号)
(2) DDR_CLK(包含所有的CLK+/-信号)
(3) DDR_DQ/DQS(包含Data、Ecc、Dqs信号)
2. 布局时应注意以下几点:
(1)对于DIMMs,匹配电阻应靠近第一DIMMs放置
SDRAM 布线要领
摘要:同步动态随机存储器(Synchronous DRAM,SDRAM):是目前主推的PC 100和PC 133规范所广泛使用的内存类型,它的带宽为64位,3.3V电压,目前产品的最高速度可达5ns。它与CPU使用相同的时钟频率进行数据交换,它的工作频率是与CPU的外频同步的,不存在延迟或等待时间。
Sdram
Resistor
Driver
(b)
Resisor至Sdram尽可能的小于0.5inch
(2) 对于Addr、Ctrl信号
Resistor
Sdram
Driver
Sdram
Resistor
Resistor至Sdram尽可能的小于0.3inch
(3) 对于FD_CLK、Startburst信号
Driver
Resistor
Resistor
6.布线要点:
(1) CLK0+、CLK0-以差分形式布线,抑制共模噪声
(2) CLK1+、CLK1-以差分形式布线,抑制共模噪声
(3) 同组DQ信号可以任意交换,以改善布线
(4) 在同一SDRAM中,每两组信号可以任意交换,以改善布线
SB..PLL=Sibyte至PLL Clock buffer的长度
SDRAM布线规则
SDRAM布线规则SDRAM (Synchronous Dynamic Random Access Memory)是一种常用于计算机主板上的随机访问存储器。
在设计SDRAM布线时,需要遵循一些规则,以确保信号传输的可靠性和稳定性。
以下是SDRAM布线的一些建议和规则:1.路线长度匹配:SDRAM使用同步时钟来同步数据传输,因此,所有的信号线应具有相似的长度,以保持同步。
如果存在长度差异,则可能产生信号延迟或抖动,导致数据错误。
为了匹配长度,可以使用不同的连线层或添加等长的延迟。
布线工程师应考虑敏感信号的传输时间,并相应地调整线路长度。
2.信号分组:将相似的信号分组放置在一起,以最小化相互干扰的概率。
将地址线,控制线和数据线组织成几个独立的组,每个组内的信号彼此相邻。
同时,应尽量将信号组放置在板上物理位置上,以最小化信号传输路径的长度。
3.地线和电源线分离:将地线和电源线分开布线,以避免互相干扰。
这样可以减少地线引起的共模噪声对信号的影响。
此外,还应确保地线和电源线的足够宽度,以降低电阻和电感,从而提供稳定的电源和地线连接。
4.控制线布线:控制线的布局应设计为最小化对数据线和地址线的交叉干扰。
这可以通过在控制线周围放置地线和电源线来实现。
同时,控制线应尽量与其他线路相垂直,以减少信号耦合。
5.地线引脚:SDRAM芯片有许多地线引脚,这些引脚应尽可能地靠近芯片。
这样可以减少引脚之间的电阻和电感,提供稳定的地线连接。
6.数据线布线:数据线应尽量短,并且按照组织进行布线。
布线长度的不匹配会导致时序问题,因此需要在布线过程中考虑数据线的长度。
7.阻抗匹配:为了防止信号反射和串扰,应将信号线和所用电阻之间的阻抗进行匹配。
在布线过程中,需确保选择正确的电阻值和线宽。
8.PCB层数:信号线数目较多的SDRAM布线可能需要使用多层PCB以提供足够的空间和良好的信号隔离。
在布线时,应尽量将耦合效应减到最小。
9.PCB排布:在整个主板设计中,需要设定SDRAM芯片的位置和布局,以尽量缩短信号线的长度,减少信号传输的时延和损耗。
sdram布线及建立时间
sdram布线及建立时间,保持时间的问题收藏SDRAM,133MHz的应该没有什么大关系的,不过还是要做一下的。
差分时钟控制在+-50mil以下,严格的差分走线;控制信以及地址线要和时钟线等长,线长不超过+-100mil.至于数据线,没有必要和时钟线,地址线以及控制线等长。
每8个bit也就是一个Byte及其对应的DQS,DQM为一组。
以32位DDR2为例:其实一共可以分为五个组来控制走线长度:第一组:时钟以及控制线,地址线,所有的走线等长,误差在+-100mil之间,时钟要求更高,该组走线长度不宜短于数据线长度。
第二组:Byte0(D0-D7)以及DQS0,DQM0为一组,要求等长,误差在+-100mil之间,可适当放宽。
第三组:Byte1 (D8-D15)以及DQS1,DQM1为一组,要求等长,误差在+-100mil之间,可适当放宽。
_第四组:Byte2(D16-D23)以及DQS2,DQM2为一组,要求等长,误差在+-100mil之间,可适当放宽。
第五组:Byte3(D24-D32)以及DQS3,DQM3为一组,要求等长,误差在+-100mil之间,可适当放宽如果用Allegro来做的话,可以很方便的利用Net,Xnet等办法来设置等长。
====================================================================== ==========================建立时间和保持时间和亚稳态之类一直都是概念类题的经典!题目:时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。
组合逻辑电路最大延迟为T2max,最小为T2min。
问,触发器D2的建立时间T3和保持时间应满足什么条件。
Tffpd:触发器输出的响应时间,也可以理解为触发器输出在clk上升沿到来后的时间内发生变化, 之后稳定,也可以理解输出延迟。
Tcomb: 触发器输出的变化经过组合逻辑元件所需的附加时间,也就是题目中的组合逻辑延迟tsetup:建立时间thold:保持时间tclk: 时钟周期建立时间容限:这里用容限的概念是为了数学推导方便,时间容限仅仅是一个概念,在这里我们对建立时间容限的要求是大于0,当然有的地方可能就是小于0了。
DDR布线规则
日志[转] DDR布线规则2011.12.8阅读(10)首先区别DDR SDRAM与SDRAM:SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR则是一个时钟周期内传输两次数据,在时钟的上升期和下降期各传输一次数据。
SDRAM的工作电压为3.3V,而DDR的工作电压为2.5V;SDRAM采用公共时钟同步,公共时钟同步是指在数据的传输过程中,总线上的驱动端和接收端共享同一个时钟源,在同一个时钟缓冲器(clock buffer)发出同相时钟的作用下,完成数据的发送和接收。
DDR SDRAM采用源同步,源同步就是指时钟选通信号clk伴随发送数据一起由驱动芯片发送。
所以在DDR 的控制端需要有延迟补偿电路。
SDRAM关心建立时间,而DDR关心保持时间,DDR比SDRAM要求有更短的信号建立保持时间、更干净的参考电压、更紧密的走线匹配和新的I/O口信号,并且需要合适的终端电阻匹配。
因此在布线的时候注意等长布线。
关于建立时间和保持时间的概念详见附录。
DDR布线应注意的问题:内存的作用是用来存储数据的,写入1读出1,写入0读出0,因此必须保证数据访问正确。
产生数据访问错误的情况主要有如下两种:1、判决错误,0判成1,1判成0。
可能参考电平不准(为什么不准?信号线内阻造成的压降),也可能是加性干扰,或者阻抗不匹配引起信号畸变。
2、时序错误,不满足建立/保持时间,或者采样点相位错误,不在有效信号位置上。
触发器需要维持一段时间的能量供给才能正常工作,这个时间就是建立/保持时间。
只要解决好这两个问题,保证内存正确访问,内存电路就设计成功了。
为了满足建立保持时间,同频同相,采样正确,我们对走线的布线要求是:等长布线。
但是由于DDR有高速时钟信号,高速跳变的边沿,就必须考虑到在PCB板上存在传输线效应的问题,对于布线长度有了要求。
避免传输线效应的方法1、严格控制关键网线的走线长度。
如果采用CMOS或TTL电路进行设计,工作频率小于10MHz,布线长度应不大于7英寸。
SDRAM 等长布线总结
SDRAM 等长布线总结(注:以下内容来自网络,正确与否请自行判断)等长布线总结等长线是为了减少信号相对延时,常用在高速存储器的地址和数据线上,简单来说:等长线的作用,就是让信号传输的速度一致。
I2C总线无需画等长线,虽然i2C信号与内存一样都是有相对时序要求,但由于信号频率较低,此时由导线长度引起的延时不足以影响正常时序,所以无需等长。
当然如果等长也没什么不好的。
差分线与一样,高速信号要注意等长,比如USB,低速信号无需特别注意线长度,比如485。
差分线在布线时要2根线要尽可能保持等距。
高速信号有效的建立保持窗口比较小,要让数据和控制信号都落在有效窗口内,数据、时钟或数据之间、控制信号之间的走线长度差异就很小。
具体允许的偏差可以通过计算时延来得到。
其实一般来说,时序逻辑信号要满足建立时间和保持时间并有一定的余量。
只要满足这个条件,信号是可以不严格等长的。
然而,实际情况是,对于高速信号来说(例如DDR2、DDR3、FSB),在设计的时候是无法知道时序是否满足建立时间和保持时间要求(影响因素太多,包括芯片内部走线和容性负载造成的延时差别都要考虑,很难通过计算估算出实际值),必须在芯片内部设置可控延时器件(通过寄存器控制延时),然后扫描寄存器的值来尝试各种延时,并通过观察信号(直接看波形,测量建立保持时间)来确定延时的值使其满足建立时间和保持时间要求。
不过同一类信号一般只对其中一根或几根信号线来做这种观察,为了使所有信号都满足时序要求,只好规定同一类信号走线全部严格等长。
上面说的是高速并行信号。
对于高速的串行信号,如果是带时钟的,时钟和串行数据也必须满足建立保持时间要求,所以也要控制好长度。
有些高速串行信号虽然带时钟,但这个时钟不是用来锁存数据而是一个频率较低的参考时钟,那么数据和时钟以及多个通道之间的数据的skew就可以宽松很多,不用严格等长,因为接收芯片是能够正确找出每个通道的起始位并且把参考时钟经过PLL倍频和相移来锁存数据的。
DDRSDRAM布线规则
DDRSDRAM布线规则首先区别DDR SDRAM与SDRAM:SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR则是一个时钟周期内传输两次数据,在时钟的上升期和下降期各传输一次数据。
SDRAM的工作电压为3.3V,而DDR的工作电压为2.5V;SDRAM采用公共时钟同步,公共时钟同步是指在数据的传输过程中,总线上的驱动端和接收端共享同一个时钟源,在同一个时钟缓冲器(clock buffer)发出同相时钟的作用下,完成数据的发送和接收。
DDR SDRAM采用源同步,源同步就是指时钟选通信号clk伴随发送数据一起由驱动芯片发送。
所以在DDR的控制端需要有延迟补偿电路。
SDRAM关心建立时间,而DDR关心保持时间,DDR比SDRAM 要求有更短的信号建立保持时间、更干净的参考电压、更紧密的走线匹配和新的I/O口信号,并且需要合适的终端电阻匹配。
因此在布线的时候注意等长布线。
关于建立时间和保持时间的概念详见附录。
DDR布线应注意的问题:内存的作用是用来存储数据的,写入1读出1,写入0读出0,因此必须保证数据访问正确。
产生数据访问错误的情况主要有如下两种:1、判决错误,0判成1,1判成0。
可能参考电平不准(为什么不准?信号线内阻造成的压降),也可能是加性干扰,或者阻抗不匹配引起信号畸变。
2、时序错误,不满足建立/保持时间,或者采样点相位错误,不在有效信号位置上。
触发器需要维持一段时间的能量供给才能正常工作,这个时间就是建立/保持时间。
只要解决好这两个问题,保证内存正确访问,内存电路就设计成功了。
为了满足建立保持时间,同频同相,采样正确,我们对走线的布线要求是:等长布线。
但是由于DDR有高速时钟信号,高速跳变的边沿,就必须考虑到在PCB板上存在传输线效应的问题,对于布线长度有了要求。
避免传输线效应的方法1、严格控制关键网线的走线长度。
如果采用CMOS或TTL电路进行设计,工作频率小于10MHz,布线长度应不大于7英寸。
SDRAM走线仿真
SDRAM 信号完整性分析SDRAM在车载视觉核心板布线中是最关键的一环,需要慎重考虑其具体的布线策略。
此部分工作频率高,数据吞吐量大,且容易受到外界环境的干扰,也容易影响到其它电气设备的工作,如果数据传输因此出现错误则可能导致严重后果。
一、SDRAM走线规则设定考MICRON提供的关于SDRAM走线建议并根据实际情况对规则设定如下:1、时钟线、控制线、地址线、数据线进行分组,其中数据线和地址线由于线数较多,又分为几个小组(四位一组);2、设定时钟线、控制线、地址线和数据线的线宽,参考MICRON提供的技术资料,都设定为7mil;3、设定各信号组组内和组间间距,组内保持至少14mil的间距(含与过孔间的间距),组间保持20mil以上的间距;4、相邻两层之间走线尽量保持垂直,减小重合面积,从而减小两线之间的串扰;5、关于去耦电容及SDRAM供电电源引脚走线均采用20mil线宽;6、去耦电容及供电电源脚过孔大小统一设定为内径10mil,外径20mil;二、SDRAM走线仿真规则设定1、驱动时钟的设定驱动时钟根据信号分组中不同信号的工作频率设定不同的驱动时钟周期以及占空比,其中占空比统一设置为50%,地址线组和数据线组的驱动时钟周期统一设定为100MHz,时钟周期也设定为100MHz;2、关于上升沿过冲的设定参考SDRAM 数据手册上关于供电电压和I/O口输入电压的最大电压值(对地4.6V)可以知道允许的最大过冲电压为1.3V,超过该电压很可能导致器件的损坏;3、关于上升沿下冲的设定该值需要参考最小输入高电平电压(2.000V)值,设定为1.3V;4、关于下降沿过冲的设定由于I/O输入最大电压是参考VSS而言,因此也设定为1.3V;5、关于下降沿下冲的设定此处参考SDRAM的IBIS模型中关于阈值电平的电压值1.5V,设定下降沿下冲的最大值为1.5V;6、关于阻抗设定由于DSP和SDRAM的端口特性阻抗皆为50ohm,因此原则上讲应当设定PCB走线的特性阻抗为50ohm,但考虑到电路板的实际情况,设定为40~60ohm;三、布线及仿真中遇见的问题1、关于阻抗匹配的问题由于PCB走线的特征阻抗与其本身的宽度、厚度以及周围的介质有关系,通常带状线和为带线的阻抗也不尽相同,按照目前的PCB层叠结构以及所选用的铜箔的厚度以及填充介质等因素,参考DSP及SDRAM输入输出端口的特征阻抗50ohm,通过软件Polar Si6000计算要使PCB走线的特征阻抗也为50ohm,这需要使线宽约为15.6mil,显然不太合适;考虑降低芯板的厚度来减小走线的宽度,要达到50ohm的特征阻抗,参考欣豐卓群科技(北京)有限公司提供的关于芯板及填充介质的常用厚度,在芯板厚度为4.7mil的情况下,为带线的特性阻抗在线宽为7mil 时能够满足要求;但考虑到电路板是安装在汽车上,汽车会有剧烈的振动,因此如果PCB 板太薄,机械强度很可能不够同时也可能因为产生较大的形变从而使电路板上元器件按损坏导致系统的崩溃,因此拟采用外加匹配电阻的方式来实现阻抗匹配,从而降低反射;2、关于匹配电阻放置位置的问题由于DSP 与SDRAM 之间存在做数据的双向传输,因此严格来说各自都是源端同时也是终端,串联电阻放置在哪段都可以。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
再谈SDRAM的布线——有关Mentor WG、DxDesinger、Expedition、CESPCB 2009-12-01 16:49:27 阅读212 评论0 字号:大中小∙前言的前言这篇文章我写了很久很久,因为最近很忙很忙。
现在我逐渐开始接触开关电源和可靠性设计的东西,好像离原来我定义的EE越来越远了。
也许以后我要向模电或管理人员发展了……我还是纯朴地希望自己能一直保持做一个不断钻研的EE工程师。
不说了,做人要厚道,转载请注明来自我是一只鱼同学的EE小站,邮件地址cosine@。
∙前言最近一个多月都在研究Mentor WG,已经对DxDesigner + Expedition的画板流程有了比较清醒的认识,我对Mentor WG评价可以套用对目前国产汽车的评价——配置齐全、做工粗糙。
虽然WG有很强的功能,但是BUG实在是数不胜数,而且有些BUG可能导致你的工程彻底报废,所以建议使用时辅以自动备份软件,减小工程崩溃带来的损失。
今天要谈的话题都是基于WG的,因为PADS、Protel / DXP之类的软件没有这样的功能或功能不完整。
不过,也可以使用其他软件进行PCB前仿、手动完成线长匹配等工作;工具只是人的技巧的辅助和延伸,要是没有高速PCB设计的知识,同样完不成高速数字PCB的设计。
本文为我是一只鱼同学EE小站的原创文章,转载请注明出处;本文对初学者而言,技术难度较高,如果有不明白的地方,可以留言。
另外继续废话几句,事实上SDRAM对布线的要求是很低的,DDR才是真正有挑战的东西,可惜我目前没有DDR的项目,也没有办法验证我对理论的理解,希望以后有机会和大家分享我的心得。
下面正式开始:∙什么是高速数字PCB,怎么入手?高速数字PCB简单来说可以理解为关键部分如存储器总线的工作频率高于数十至一百MHz的PCB,更严格的定义应该用传输线来描述,当PCB 上的信号的传输延迟大于上升时间的1/10时,这个信号的传输路径就应该视为传输线;即应当用与传统低速数字电路不同的方法对待。
那么怎么入手?我是学机械出身的,电路原理和模电都是三脚猫知识;我个人认为High-Speed Digital System Design是本不错的书。
首先看书,弄明白在频率高了以后会出现什么样的现象,有什么东西需要考虑之后,再继续后面的设计。
不过我可以做个简单的概括,高频数字电路设计的大部分工作是解决传输线中信号反射问题和延迟问题。
BTW,很久以前我还很菜的时候写了一篇文章/blog/cns!4201FDC93932DDAF!171.entry,这是关于PCB后仿的(这个词下面马上解释),大家有兴趣可以看看。
∙高速PCB设计的流程元件布局——〉前仿真——〉布线——〉后仿真——〉出CAM文件其他不多说了,就解释下前仿真和后仿真。
前仿真就是在器件IBIS模型、网络拓扑结构和器件分布的基础上做的对PCB可实现性仿真。
举个例子解释前仿真的作用,如果器件、板子的机械结构都已经定下来了,CPU和SDRAM插座相隔10000mil,那么在布完这个板子之前,怎么知道这个板子能不能正常工作?关于如何使用WG进行前仿真,后面再说。
后仿真就是在板子走线已经成型之后,对布线结果进行验证而作的仿真。
后仿真会在前仿真基础上加上过孔模型、串扰、电磁兼容性等仿真内容。
刚才提到的我的菜菜鸟文章/blog/cns!4201FDC93932DDAF!171.entry,说的就是后仿真。
SDRAM对布线有什么要求?首先必须明白SDRAM是一种什么样的存储器,搞清其接口工作的逻辑时序。
SDRAM是一种同步动态存储器,所有接口信号都是通过时钟同步和采样的。
这就对SDRAM的布线提出了要求——保证采样的正确性。
于是,应用高速数字电路的知识结合某种具体SDRAM器件和你的PCB进行分析,发现在正常工作频率(如100MHz)下,在PCB走线上的信号传输时间大于其上升时间1/10。
于是,接下来考虑高速数字电路两大问题反射和延迟:反射造成SDRAM时钟线信号出现振铃,多次穿越门限造成误触发;数据线和时钟线的传输延迟不相同,造成时钟上升沿采样不到所需要的数据。
接下来应用解决方法:时钟线串联电阻做阻抗匹配;布线时控制数据线和时钟线的长度差在一定范围内。
当然,我这里说的是一个很简单的演绎过程,还有拓扑结构、最大布线长度等重要问题没有考虑,请大家仔细阅读我是一只鱼同学刚才推荐的课本。
提示下,拓扑结构和最大布线长度的选择可以通过前仿真进行验证。
进一步的问题,SDRAM布线用什么拓扑结构好?这个问题困扰了我很久很久,终于在学会前仿真后解决了,哈哈。
其实大家已经很清楚SDRAM要尽量使用Y型分支结构(也叫T型分支),因为链式结构会产生两个问题:一、两片SDRAM的传输延迟不一样,影响CPU对数据输出进行采样;二、链式结构的节点处阻抗不连续,是一个反射点,而且反射点和源的距离太大,反射效果明显。
但是,如果使用Y型分支结构,到底是先分支好呢还是后分支好呢?经过前仿真的验证,分支点靠近CPU的时候效果稍微好那么一点点。
我想这是因为分支点本身是一个阻抗不连续点,也是会发生反射的。
如果分支点靠近源端CPU,反射就会因为传输线的缩短而显得不太明显。
我给分枝点靠近CPU的这种拓扑结构起个名字,叫短桩Y型分支结构。
怎样用WG进行PCB前仿真?WG中PCB的前仿真的步骤:DxDesigner画原理图——〉Expedition布局——〉CES指定IBIS模型——〉CES指定网络的拓扑结构——〉ICX Pro 前仿真。
我们来看图说话。
对于下面这样一个已经完成布局的PCB,从Expedition的工具栏中选择CES在CES的窗口中见的选项卡中,选择Parts例如对SDRAM的走线进行前仿真,就需要制定CPU、SDRAM以及其他连接在数据总线上的器件的IBIS模型。
相应的模型可以在器件的官方网站上下载到。
在Parts里选中要指定模型的器件。
在弹出的窗口中按照步骤1、2、3(后续图片中的1、2、3、4亦表示步骤)选择IBIS模型文件选好后就OK,重复以上步骤直到把要进行仿真的信号所连接的所有器件的IBIS模型都选上。
有的IBIS文件中含有多个器件的模型,选择你需要的在SDRAM信号设计的时候往往会使用电阻对信号进行阻抗匹配,这时候SDRAM布线的拓扑结构就会变成下面这样这个电阻也必须包含到前仿真中去。
但是在实际设计中,往往有很多需要匹配的信号,所以一般是使用排阻的。
但是默认情况下,CES是不认识排阻的,这需要设置。
选择Setup菜单下的Settings…在弹出的窗口中选择Discrete Component Prefixes选项页,将你所用的排阻前缀输入(如RM),然后确认随后你就会发现CES把你的排阻认为是串行器件了。
顺便提下,如上面这张图所示,CES会把这些已经定义前缀的器件识别为串行器件。
识别为串行器件有好处也有坏处,好处是对于真正用于阻抗匹配等目的的器件,前后的网络会被归为一个网络进行识别(CES在原来的网络名后面加上“^^^”符号,将两个网络合并);坏处是很多功能性质的电阻,如运放中设定放大比例的电阻两端的网络也会被归为一个网络识别,这时候就需要把下面这张图中所示的钩号去掉。
接下来,点击Parts边上的Nets选项卡,选择SDRAM的信号随后配置网络拓扑结构。
对于SDRAM的控制线来说,它们不连接在SDRAM之外的其他上,因此其拓扑结构一般都是之前描述的这种:对于一般的地址线而言,往往需要连接除SDRAM芯片之外的其他器件,如NOR Flash,其拓扑结构可能是这样的我建议将NOR Flash连接在一个SDRAM的之后,因为如果再搞短桩Y 型分支,那么将会有3组分支线,布线就很困难了。
当然,连接在哪里要根据前仿真的结果来调整,我提供的这种连接对于某些器件应该会有问题。
下面要把SDRAM的信号定义成上面这2种拓扑结构中的一种,在Nets 列表里找到Topology这一列,点击下拉列表。
对于SDRAM时钟信号SDCK这种串联阻抗匹配电阻的拓扑结构而言,选择Complex。
随后点击工具栏上的Netline order按钮(这个按钮左边的几个按钮可以定义其他不同的拓扑结构,与上图列表中对应,依次是MST、Chained、T、Star、HTree、Custom,这些不同拓扑结构的含义可以Google下或者参看Mentor WG CES的手册)出来这样一个对话框之前已经提到SDRAM的地址和控制信号应当是短桩Y型分支,如果还有别的器件就连接在SDRAM之后。
先说明下,因为定义了排阻为串行期间,所以CES自动的将CPU到排阻的连接识别出来并列在管脚对列表里了;管脚列表里蓝色背景的部分是已经在管脚对列表中存在的管脚。
随后就需要定义Y型分支,点击Y型分支拓扑结构图标,再依次点击信号源管脚和两个负载管脚,如下图所示在管脚列表中就会出现如下显示这说明已经定义了一个Y型分支。
定义之后的Y型分支可以删除和修改,具体细节请看CES手册。
随后点击对话框下面的那个复选框,“Automatically create pin pairs from from-tos”,确定,CES的Nets列表中,刚才定义的Net下就出现如下图所示的内容那些L:VP_T_1_1_1181, L:D19-38之类的东西就是产生的拓扑结构描述。
刚才已经提到SDRAM的地址线因为还需连接其他器件,拓扑结构的设置还需要有一步添加自定义管脚对。
以地址线A2举例,同样选择其为Complex结构然后选择工具栏上的Netline order,在出现的对话框中将CPU和SDRAM 之间的连接配置为Y型分支,如下图所示随后配置和NOR Flash芯片的连接,先点击“From pin / pin set”下面的文本框,然后依次点击SDRAM和NOR Flash的管脚,再点击右边的下箭头,如下图于是一个自定义的Pin Pair就出现了,同时管脚列表中对应的管脚背景色也会变蓝,显示这个管脚被指派过了。
需要注意的是,NOR Flash连接在那个SDRAM器件的管脚上是没有要求的,但是为了走线方便,还是建议连接在理NOR Flash相应管脚较近的SDRAM器件上。
接下来同样选中“Automatically create pin pairs from from-tos”复选框,确定,A2的拓扑结构就配置好了。
这里还需要提一个概念——Virtual Pin(虚拟管脚),这是WG为了方便对拓扑结构的管理而设定的一种虚拟的控制点。
还是用图来说明,对于SDRAM的连接拓扑结构WG把图中红圈标示的那个分支点分立出来,当作一个可以控制的元素Virtual Pin,这个元素可以移动、定位;一个Y型分支的拓扑结构就拆分成了各个元件到这个Virtual Pin连接的结构。