基于fpga设计的ddr接口注意事项_第1页
基于fpga设计的ddr接口注意事项_第2页
基于fpga设计的ddr接口注意事项_第3页
基于fpga设计的ddr接口注意事项_第4页
基于fpga设计的ddr接口注意事项_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DDR/DDRII Things to consider Objectives This presentation covers aspects not addressed in DDR SDRAM Megawizard demonstration. Aims to help answers questions like How many controllers can I get in this device What do I need to consider at layout What if I want to run below 100 or above 200 MHz Are there additional considerations for Hardcopy Where can I find more information Etc etc Unfortunately this does make the presentation “bitty”. What is DDR? (Brief) (This section for those at the beginning of the learning curve.) What is DDR DDR stands for “double data rate”. Generally when people talk about DDR they are talking about transferring data to and from memory. DDR simply means there is data on both edges of the strobe. Data Strobe (dqs) Data (dq) Why would I use it? To increase your bandwidth for the same number of pins (compared to SDRAM). And because it is cheap (commercial part used in PCs). Your customers use it. Look at the market share of DDR and DDR2 0%20%40%60%80%100%1 Q 0 3 2 Q 0 3 3 Q 0 3 4 Q 0 3 1 Q 0 4 2 Q 0 4 3 Q 0 4 4 Q 0 4 1 Q 0 5 2 Q 0 5 3 Q 0 5 4 Q 0 5D D R 2 S D R A M D D R S D R A M S D R A M F P M / E D O D R A M R D R A M O t h e rSource: Gartner Dataquest (May 2004) What is involved? Data passes backwards and forwards on a high speed bi-direction bus. A data strobe (DQS) travels with the data. DDR2 Memory Memory Controller On-Chip DLL Phase Shift for DQS Delay Circuitry t DQ_i DQS_i DQ DQS DQ Read Operation DQS What is involved The FPGA must align the data and strobe (dq and dqs) on the way out (writes) and delay the strobe (dqs) by 90 degrees on the way in (reads) to use dqs as capture strobe. The operation clearly involves going “off chip” so we need to be careful of timing analysis. And it is (or can be) high speed so we need to watch out for things like termination. Where can I find more information? (All: Rejoin presentation here) What collateral already exits? The Memory Solutions Webpage on the Altera site. Hardware boards & demonstrations. Many whitepaper and application notes on the website. Core delivered with some whitepapers + FAQs. Memory solutions Centre /technology/memory/mem-index.jsp DDR DDR2 RLDRAM QDR User Guide Whitepapers Application Notes Hardware test results + Reference designs IBIS & SPICE models (I/O) Development Kits Presentations Articles What is at the site? What hardware exists? High-Speed Development Kit, Stratix II Edition for DDR2 SDRAM Stratix Memory Reference Platform I for DDR SDRAM & RLDRAM II Stratix II Memory Reference Platform II for DDR2 SDRAM & QDRII SRAM Stratix Memory Reference Platform II for QDRII SRAM Guidelines for Designing High-Speed FPGA PCBs High-Speed Board Layout Guidelines Chapter Altera Signal Integrity Center Board Design Guideline Solution Center Board Design Guideline References + Can Utilize Existing Board Design Files (Schematics, Gerber) etc More on Board Guidelines (Information given in this section is for guidance only. To predict best termination arrangements and board layout; simulate your design including PCB and device package.) Board Considerations Micron has a lot of very useful materials /products/dram/ddrsdram/technote.html For example Termination for Point-to-Point System (TN-46-06) Decoupling Capacitor Calculation for a DDR memory channel (TN-46-02) DDR33 Memory Design Guide for Two-DIMM Unbuffered Systems (TN-46-07) etc etc Please download and use these, they contain a lot more detail than is here. General Board Guidelines Controlled impedance on signal layers: All signal planes to be 50-ohms single ended impedance +/- 10% All signal planes to be 100-ohms differential impedance +/- 10% Component placement: BGA to Surface-mount must have minimum 150-mil clearance. Through-hole to Surface-mount on bottom side clearance must be greater than 200-mils. Via pads Removed unused pad as these can cause additional unwanted capacitance. General Board Decoupling Use 0.1-F capacitors in an 0402/0603-sized package Provide sufficient capacitance without adding too much inductance Make VTT voltage decoupling on board close to the parallel pull-up resistors. Connect the decoupling capacitors between VTT and ground. Example The Cyclone memory interface board has a 0.1-F capacitor for every other VTT pin. The Cyclone memory interface board also has 0.1- and 0.01- F capacitors for every VDD and VDDQ pin. Memory Board Power Routing Example from S2MB2 : GND, 3.3V, and 1.2V are routed as planes These signals are needed across the board VCCIO for the memories routed in a single split plane with 20-mil gaps of separation Can use just part of the board for each memory VTT and QDR VCCINT are routed as islands or 250-mil power traces on signal layers Not needed for anything else except termination (for VTT) Oscillators and PLL power are routed as islands or 100-mil power traces on signal layers Again, not needed for anything else General Routing Guidelines Altera recommends that designers: Use 45 degree angles (no 90 degree corners) Avoid T-junctions for critical nets or clocks. Avoid T-junctions greater than 250 mils Disallow signals across split planes Restrict routing other signals close to system reset signals Avoid routing memory signals closer than 0.025 inch to PCI or system clocks Routing Guidelines Clock Routing Guidelines Clocks should be routed on inner layers with outer-layer run lengths being held to under 500 mils These signals should maintain a 10-mil spacing from other nets Differential clocks should maintain a length-matching between P and N signals of +/- 15 mils, routed in parallel Differential clocks with SMAs should route as a differential pair and break-out to SMAs right at the connectors Space between pairs should be at least 3x that used between the pair Must be routed differentially (5 mil trace, 10-15 mil space on centers) and be equal to or up to 100-mils longer than signals in the Address/Command Group Routing Guidelines Feedback Clock Routing Guidelines Should be within 100-mils of the average length of the Byte Lane Groups Address and Command Routing Guidelines Address/Command can be unbuffered or buffered on DIMM Unbuffered are more susceptible to cross talk and are generally nosier than buffered Unbuffered should be routed on a different layer than DQ and DM and with greater spacing Routing Guidelines All Other Routing Guidelines All data, address, and command signals must have matched length traces +/- 0.250 inches All signals within a given “Byte Lane Group” should be matched length with maximum deviation of +/- 0.050 inches. All other signals are to maintain a spacing that is based on its parallelism with other nets: 5 mils for parallel runs 0.5 inches (1X spacing relative to plane distance) 10 mils for parallel runs between 0.5 and 1.0 inches (2X spacing relative to plane distance) 15 mils for parallel runs between 1.0 and 6.0 inches (3X spacing relative to plane distance) Termination for Memories The popular memories vendors do not require customers adhere strictly to the JEDEC specification for termination Memory vendors do provide some suggested termination schemes and resistance values. Please reference these. Termination for Memories Termination ultimately need to be chosen by user for their particular board. The following are some useful guidelines depending on the final scheme chosen When pull-ups are used, fly-by termination configuration are recommended Fly-by helps reduce stub reflection issues Disadvantage is complexity of routing and cost If using resistor networks Do not share R-pack series resistors between address/command and data lines (DQ, DQS, DM) to eliminate crosstalk within pack Series and pull up tolerances 1 2 % If termination resistor packs used Distance to your memory device 750 mils Distance from your Stratix device 1250 mils Board Guidelines Do not forget to reference the schematics and gerber files that already exist for the Altera Memory boards. A look at Frequency Operational Frequency Below 100 MHz device that support this Cyclone: CycloneII: Stratix: Recommend use on non-dqs mode. StratixII: Recommend use on non-dqs mode. Between 101 and 199 MHz Cyclone: Up to 133 MHz operation CycloneII: Up to 166 MHz operation Stratix: Up to 200 MHz in DQS mode. 150 MHz in non-dqs mode. StratixII: Up to 266 MHz in DQS mode. 150 MHz in non-dqs mode. Above 200 MHz StratixII: DDRII operation. Use of Fed-back clock recommended Package has an effect. Taken from AN348 Taken from AN342 Trying to run below 100 MHz Generally DDR SDRAM devices do not run below 80 MHz. Stratix DLL functions down to 100 MHz For Stratix can use the Non-DQS mode. That is, a free running capture clock, it is often simpler. Un-check this box for non-dqs mode Running above 200 MHz DDR only speced to 200 MHz (ie DDR400) so anything above is DDRII operation. Timing is now critical (although always important at any frequency) Fed back clock introduced To compensate for PVT variations in output buffer and track length. Fitting a controller or controllers into a device Pin Selection DQ/DQS pins are fixed on the FPGA removing many of the difficult “best placement” choices. Left with following pin selection choices Memory Clocks Use matched DDIO flops to create clocks? Use dedicated PLL output for clocking? DQ/DQS Groups Which groups should a user choose? Pin Selection Memory Clocks Altera recommends using general purpose DDIO rather than dedicated pll output clock Advantages Using DDIO mimics the way DQS/DQ are generated (all PVT variations are tracked) Altera has the most system test data for this implementation Prevent an issue in meeting the Tdqss requirement of the DDR specification. (That is, relationship between dqs and clock) Pin Selection - DQ/DQS Groups Large interfaces (e.g. x72) use up most or all of the DQ/DQS groups on the top or bottom of the FPGA Smaller interfaces present a choice to the user of which groups are best to use Are any groups better matched on the FPGA? Do any sets of groups provide better immunity to noise? How wide an interface Stratix: DQS mode: Stratix devices have up to up to 160 dq pins. 80 on top and 80 on bottom (check specific package) Non-dqs mode any pin can be used but limited to 150 MHz operation. StratixII: DQS mode: Smaller packages have a low number of dqs pins so if interfacing to a DIMM check number of x8 dqs groups first. Non-dqs mode: As above. Cyclone: 8 global clocks in a cyclone. 2 of which are used up in the Altera DDR SDRAM IP controller. This leaves a total of 6 global clocks. DQS routed on global clock lines. Therefore maximum data width for a cyclone is 48 bits. (6 * 8 = 48) despite fact larger packages have 8 dqs pins. Number of controllers in device Applicable to Stratix/GX + StratixII DQS mode Th

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论