OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [soc/] [rtl/] [altera_ddr_ctrl/] [altera_ddr_advisor.ipa] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 xianfeng
2
3
4
5
DDR_INST
6
7
8
altera_ddr
9
10
11
Follow the recommendations to configure your core.
12
13
14
MegaCore variation
15
16
17
NA
18
19
20
        
21
        NA
22
        
23
        
24
        NA
25
        
26
        
27
        NA
28
        
29
30
31
        
32
        NA
33
        
34
        
35
        NA
36
        
37
        
38
                
39
 
40
                
41
        
42
43
44
        
45
        ALL
46
        
47
48
49
50
51
 
52
53
54
        
55
        DDR
56
        
57
58
59
NA
60
61
62
63
64
 
65
66
67
68
69
INFO
70
71
72
Information
73
74
75
The following recommendations provide a flow for your DDR SDRAM memory interface design.
76
77
78
The following recommendations provide a walkthrough for designing a DDR SDRAM memory interface with the FPGA-External Memory design flow.
79
 
80
The walkthrough provides some recommended settings in order to simplify the design, including termination scheme and drive strength settings.
81
 
82
This walkthrough can also be found in AN:435 Design Guidelines for Implementing DDR-DDR2 SDRAM Interfaces in Stratix III Devices.
83
84
85
http://www.altera.com/literature/an/an435.pdf
86
87
88
        
89
        NA
90
        
91
        
92
        NA
93
        
94
        
95
        NA
96
        
97
98
99
        
100
        Follow the steps outlined in this walkthrough to design a DDR SDRAM memory interface.
101
        
102
        
103
        NA
104
        
105
        
106
                
107
 
108
                
109
        
110
111
112
        
113
        ALL
114
        
115
116
117
118
119
 
120
121
122
        
123
        DDR_INST
124
        
125
126
127
ALWAYS
128
129
130
 
131
132
133
 
134
 
135
136
137
138
139
PROJECT_PLANNING
140
141
142
Resource Planning
143
144
145
Follow the recommendations to plan your signals and device selection.
146
147
148
NA
149
150
151
NA
152
153
154
        
155
        NA
156
        
157
        
158
        NA
159
        
160
        
161
        NA
162
        
163
164
165
        
166
        NA
167
        
168
        
169
        NA
170
        
171
        
172
                
173
                
174
        
175
176
177
        
178
        ALL
179
        
180
181
182
183
184
 
185
186
187
        
188
        DDR_INST
189
        
190
191
192
ALWAYS
193
194
195
 
196
197
198
 
199
 
200
 
201
202
203
204
205
PIN_PLAN
206
207
208
Pin Planning
209
210
211
The following recommendations provide steps for designing your DDR SDRAM memory interface.
212
213
214
Altera recommends the following pin placements:
215
* Data
216
- Pin on Memory Device: DQ
217
- Pin on FPGA: DQ
218
* Data Mask
219
- Pin on Memory Device: DM
220
- Pin on FPGA: DQ (1)
221
* Data Strobe
222
- Pin on Memory Device: DQS
223
- Pin on FPGA: DQS
224
* Memory Clock
225
- Pin on Memory Device: CK/CK#
226
- Pin on FPGA: DQ/DQS/DQSn (2)
227
* Address
228
- Pin on Memory Device: A, BA
229
- Pin on FPGA: Any user I/O
230
* Command
231
- Pin on Memory Device: CS#, RAS#, CAS#, WE#, CKE
232
- Pin on FPGA: Any user I/O
233
 
234
Notes:
235
(1) The DM pins must be in the write DQ group.
236
(2) Any unused DQ or DQS pins with DIFFOUT capability for mem_clk[n] and mem_clk_n[n].
237
 
238
Furthermore, please ensure that Address/Command pins are placed on the same side as the memory clocks.  Also, if on-chip termination (OCT) is used, ensure that the Rup/Rdn pins are assigned correctly.
239
 
240
241
242
NA
243
244
245
        
246
        NA
247
        
248
        
249
        NA
250
        
251
        
252
        NA
253
        
254
255
256
        
257
The DDR SDRAM High Performance Controller Megacore function does not generate pin assignments for non-memory signals such as clock sources or pin location assignments for the design. Launch Pin Planner to make these assignments to the design.
258
 
259
Ensure the clocks are placed on the correct pins and on the same side as Address/Command pins. If on-chip termination (OCT) is used, make sure Rup/Rdn are assigned correctly.
260
        
261
        
262
        PINPLANNER
263
        
264
        
265
                
266
                
267
        
268
269
270
        
271
        ALL
272
        
273
274
275
276
277
278
279
        
280
        PROJECT_PLANNING
281
        
282
283
284
ALWAYS
285
286
287
 
288
289
290
291
292
293
294
BOARD_TRACE_MODEL
295
296
297
Board Trace Model Assignment
298
299
300
To ensure that IO timing performance is correctly modeled in QuartusII, it is necessary to complete the Board Trace Model definition for each signal.
301
302
303
Ensure that the overall board trace models are a reasonable approximation for each I/O standard on each PCB.
304
 
305
Board trace models include two transmission line segments (near and far). These line segments are ideal for SDRAM interfaces. You can use the near transmission line to represent the PCB and the far transmission line to represent the DIMM.
306
 
307
The board trace model should only include PCB or off chip information.
308
 
309
When implemented, ODT at the memory should be included as external discreet termination and the capacitive loading of the memory should be calculated for each net and also added.
310
 
311
*Ideally, the distributed capacitance and inductance of your PCB traces should be ascertained from your PCB development tool. However, in general a 50-ohm trace is approximately 3 pF and 8 nH per inch.
312
 
313
Trace delay information can be entered on a per net basis if desired, but in general a net group basis should be sufficient. Multiple nets can be selected at the same time and then have their respective board trace models all entered simultaneously.
314
 
315
Altera suggests the following net groups:
316
    * mem_clk
317
    * mem_addr (mem_a and mem_ba)
318
    * mem_ctrl (mem_cas#, mem_cke, mem_cs_n, mem_odt, mem_ras_n, mem_we_n)
319
    * mem_dq_group0 (mem_dq[7..0], mem_dm[0])
320
    * mem_dq_group1 (mem_dq[15..8], mem_dm[1])
321
    * mem_dq_group...
322
    * mem_dqs0 and mem_dqsn0
323
 
324
Notes:
325
    The DQS pin can be combined with the respective DQ group as a single-ended signal, otherwise each differential DQS pin pair should be entered separately.
326
    DIMM board trace models and SDRAM component capacitive loading information should be obtained from your memory vendor directly and must be included into your Quartus II board trace model parameters.
327
328
329
NA
330
331
332
        
333
        NA
334
        
335
        
336
        NA
337
        
338
        
339
        NA
340
        
341
342
343
        
344
                Please refer to AN:435 Design Guidelines for Implementing DDR-DDR2 SDRAM Interfaces in Stratix III Devices
345
        
346
        
347
        NA
348
        
349
        
350
                
351
                
352
        
353
354
355
        
356
        ALL
357
        
358
359
360
361
362
363
364
        
365
        PROJECT_PLANNING
366
        
367
368
369
ALWAYS
370
371
372
 
373
374
375
376
377
378
379
380
RTL_SIM
381
382
383
Perform RTL/Functional Simulation (Optional)
384
385
386
During the instantiation of the DDR SDRAM High Performance Controller, there is an option to generate a simulation model of the IP so you can perform functional simulation on your design.
387
388
389
390
391
NA
392
393
394
        
395
        NA
396
        
397
        
398
        NA
399
        
400
        
401
        NA
402
        
403
404
405
        
406
        Follow these recommendations to obtain and setup simulation models, and run functional simulation with NativeLink.
407
        
408
        
409
        
410
        
411
                
412
 
413
                
414
        
415
416
417
        
418
        ALL
419
        
420
421
422
423
424
425
426
        
427
        DDR_INST
428
        
429
430
431
ALWAYS
432
433
434
 
435
436
437
 
438
 
439
440
441
442
443
SETUP_SIM
444
445
446
Setup Simulation Options in Quartus II software
447
448
449
Setup Simulation Options in Quartus II software
450
451
452
Obtain and copy the memory model to a suitable location. For example, obtain the ddr.v and ddr_parameters.vh memory model files from the Micron website and save them in the testbench directory.
453
 
454
Open the memory model file in a text editor and add the following define statements to the top of the file:
455
 'define sg25
456
 'define x8
457
 
458
The two define statements prepare the DDR SDRAM memory interface model.
459
 
460
The first statement specifies the memory device speed grade as -25. The second statement specifies the memory device width per DQS. Open the testbench in a text editor, instantiate the downloaded memory model, and connect its signals to the rest of the design.
461
 
462
You must delete the START and END MEGAWIZARD comments to ensure the MegaWizard Plug-In Manager does not overwrite the changes when the controller megafunction is regenerated.
463
 
464
465
466
NA
467
468
469
        
470
        NA
471
        
472
        
473
        NA
474
        
475
        
476
        NA
477
        
478
479
480
        
481
        Setup the simulation model
482
        
483
        
484
        
485
        
486
                
487
 
488
                
489
        
490
491
492
        
493
        ALL
494
        
495
496
497
498
499
500
501
        
502
        RTL_SIM
503
        
504
505
506
ALWAYS
507
508
509
 
510
511
512
 
513
 
514
515
516
517
518
RUN_SIM
519
520
521
Run Simulation with Nativelink
522
523
524
Run functional simulation with Nativelink
525
526
527
Set the absolute path to your third-party simulator executable.
528
 
529
On the Assignments menu, click on EDA Tool Settings to open the Settings dialog box. In the Category list (left-hand side of the panel) click the "+" icon to expand EDA Tool Settings and click Simulation.
530
 
531
In the Simulation panel, select ModelSim-Altera from the Tool list. In the NativeLink settings box, turn on Compile test bench. Enter the name of your testbench top-level module, simulation period, etc.
532
 
533
After you have elaborated the design, point to Run EDA Simulation Tool from the Tools menu and click EDA RTL Simulation. This step creates the \simulation directory in your project directory, as well as a script that compiles all necessary files and runs the simulation.
534
535
536
NA
537
538
539
        
540
        NA
541
        
542
        
543
        NA
544
        
545
        
546
        NA
547
        
548
549
550
        
551
        Setup NativeLink, and run the simulation
552
        
553
        
554
        SETD
555
        
556
        
557
                
558
 
559
                
560
        
561
562
563
        
564
        ALL
565
        
566
567
568
569
570
571
572
        
573
        RTL_SIM
574
        
575
576
577
ALWAYS
578
579
580
 
581
582
583
 
584
 
585
 
586
 
587
588
589
590
591
592
ADD
593
594
595
Add Constraints
596
597
598
The following recommendations guide you in adding the correct constraints.
599
600
601
Add Constraints
602
603
604
NA
605
606
607
        
608
        NA
609
        
610
        
611
        NA
612
        
613
        
614
        NA
615
        
616
617
618
        
619
        NA
620
        
621
        
622
        NA
623
        
624
        
625
                
626
 
627
                
628
        
629
630
631
        
632
        ALL
633
        
634
635
636
637
638
 
639
640
641
        
642
        DDR_INST
643
        
644
645
646
ALWAYS
647
648
649
 
650
651
652
 
653
654
655
656
657
658
ADD_TIMING
659
660
661
Add Timing Constraints
662
663
664
Add the timing constraint file to the project.
665
666
667
 
668
669
670
NA
671
672
673
        
674
        NA
675
        
676
        
677
        NA
678
        
679
        
680
        NA
681
        
682
683
684
        
685
        Follow these recommendations to select the timing analyzer and add timing constraints.
686
        
687
        
688
        
689
        
690
                
691
                
692
        
693
694
695
        
696
        ALL
697
        
698
699
700
701
702
 
703
704
705
        
706
        ADD
707
        
708
709
710
ALWAYS
711
712
713
 
714
715
716
 
717
 
718
719
720
721
722
TIMING_ANALYZER_OPTION
723
724
725
Select Timing Analyzer Option
726
727
728
Select the timing analyzer option
729
730
731
Select TimeQuest as the timing analyzer.
732
733
734
NA
735
736
737
        
738
        NA
739
        
740
        
741
        NA
742
        
743
        
744
        NA
745
        
746
747
748
        
749
        Open the Settings dialog box and verify that TimeQuest is selected as the timing analyzer.
750
        
751
        
752
        SETD_TIMING
753
        
754
        
755
                
756
                
757
        
758
759
760
        
761
        ALL
762
        
763
764
765
766
767
 
768
769
770
        
771
        ADD_TIMING
772
        
773
774
775
ALWAYS
776
777
778
 
779
780
781
 
782
783
784
785
786
CONSTRAINT_SCRIPT
787
788
789
Add Timing Constraints Script
790
791
792
Add the timing constraint file to the project.
793
794
795
Instantiating the DDR SDRAM High Performance Controller generates constraint files for the design. The timing constraint file, altera_ddr_phy_ddr_timing.sdc, constrains the clock and input/output delay on the DDR SDRAM High Performance Controller.
796
797
798
NA
799
800
801
        
802
        NA
803
        
804
        
805
        NA
806
        
807
        
808
        NA
809
        
810
811
812
        
813
        To add the timing constraints, go to the Assignments menu and click the Settings option. In the Settings dialog box, under Timing Analysis Settings, select TimeQuest Timing Analyzer. Select the SDC file and click Add.
814
        
815
        
816
        SETD_TIMING
817
        
818
        
819
                
820
                altera_ddr_phy_ddr_timing.sdc
821
                
822
        
823
824
825
        
826
        ALL
827
        
828
829
830
831
832
 
833
834
835
        
836
        ADD_TIMING
837
        
838
839
840
ALWAYS
841
842
843
 
844
845
846
 
847
 
848
 
849
850
851
852
853
ADD_PIN_DQ
854
855
856
Add Pin and DQ Group Assignments
857
858
859
Run the tcl script to add pin assignments and DQ group assignments
860
861
862
The pin assignment script, altera_ddr_pin_assignments.tcl, sets up the I/O standards for the DDR SDRAM memory interface.  It also launches the DQ group assignment script, altera_ddr_phy_assign_dq_groups.tcl, which relates the DQ and DQS pin groups together for the Fitter to place them correctly in the Quartus II software.
863
 
864
Please note that this script does not create a clock for the design. You need to create a clock for the design and provide pin assignments for the signals of both the example driver and testbench that were generated with the MegaCore variation.
865
866
867
NA
868
869
870
        
871
        NA
872
        
873
        
874
        NA
875
        
876
        
877
        NA
878
        
879
880
881
        
882
        Run the altera_ddr_pin_assignments.tcl to add the pin, I/O standards, and DQ group assignments to the example design.  <p>You can either click on the button below to let the IP Advisor run the script, or open the Tcl Scripts dialog box to run the script manually.
883
        
884
        
885
        TCL_SCRIPTS
886
        
887
        
888
                
889
 
890
                
891
        
892
893
894
        
895
        ALL
896
        
897
898
899
900
901
 
902
903
904
        
905
        ADD
906
        
907
908
909
ALWAYS
910
911
912
altera_ddr_pin_assignments.tcl;
913
914
915
 
916
 
917
918
919
920
921
ADD_TOP
922
923
924
Set top-level entity (Optional)
925
926
927
Set the top-level entity to be the sample design file.
928
929
930
Before compiling the design, set the top level entity of the project to the desired entity.
931
     - The ALTMEMPHY megafunction entity is called altera_ddr_phy.v.
932
     - The DDR Controller MegaCore entity is called altera_ddr.v.
933
     - The example top-level design, which instantiates the DDR Controller and an example driver, is called altera_ddr_example_top.v.
934
935
936
NA
937
938
939
        
940
        NA
941
        
942
        
943
        NA
944
        
945
        
946
        NA
947
        
948
949
950
        
951
        Set the top-level file. You can do this on the general page of the Settings dialog box, or by opening the file and using the Set as Top-Level Entity in the Project menu.
952
        
953
        
954
        SETD
955
        
956
        
957
                
958
                altera_ddr_example_top
959
                
960
        
961
962
963
        
964
        ALL
965
        
966
967
968
969
970
 
971
972
973
        
974
        ADD
975
        
976
977
978
SETTING
979
980
981
 
982
983
984
 
985
986
987
988
989
ADD_OPT
990
991
992
Set Optimization Technique
993
994
995
Set Analysis and Synthesis to optimize for speed
996
997
998
Set up the Quartus II software to ensure the remaining unconstrained paths are routed with the highest speed and efficiency by setting the Optimization technique to Speed.
999
1000
1001
NA
1002
1003
1004
        
1005
        NA
1006
        
1007
        
1008
        NA
1009
        
1010
        
1011
        NA
1012
        
1013
1014
1015
        
1016
        Set the Optimization Technique to the Speed setting. To do this, click the Assignments tab in the Quartus II software and then click Settings. Click Analysis and Synthesis Settings to turn on Speed in the Optimization Technique box.
1017
        
1018
        
1019
        SETD_ANALYSIS_SYNTHESIS
1020
        
1021
        
1022
                
1023
                
1024
        
1025
1026
1027
        
1028
        ALL
1029
        
1030
1031
1032
1033
1034
 
1035
1036
1037
        
1038
        ADD
1039
        
1040
1041
1042
SETTING
1043
1044
1045
 
1046
1047
1048
 
1049
1050
1051
1052
1053
ADD_FIT_EFF
1054
1055
1056
Set Fitter Effort
1057
1058
1059
Set Fitter effort to Auto Fit
1060
1061
1062
Set Fitter effort to "Auto Fit".
1063
1064
1065
NA
1066
1067
1068
        
1069
        N
1070
        
1071
        
1072
        NA
1073
        
1074
        
1075
        NA
1076
        
1077
1078
1079
        
1080
        Set Fitter Effort to "Auto Fit". To do this, click the Assignments tab in the Quartus II software and then click Settings. Click Fitter Settings to turn on Auto Fit in the Fitter effort box.
1081
 
1082
        Set Fitter Timing Drive Compilation to Optimize Hold Timing for All Paths. To do this, click the Assignments tab in the Quartus II software and then click Settings. Click Fitter Settings to check Optimize Hold Timing for All Paths in the Fitter Timing Drive Compilation box.
1083
        
1084
        
1085
        SETD_FITTER
1086
        
1087
        
1088
                
1089
                AUTO FIT
1090
                
1091
                
1092
                ALL PATHS
1093
                
1094
        
1095
1096
1097
        
1098
        ALL
1099
        
1100
1101
1102
1103
1104
 
1105
1106
1107
        
1108
        ADD
1109
        
1110
1111
1112
SETTING
1113
1114
1115
 
1116
1117
1118
 
1119
 
1120
 
1121
1122
1123
1124
1125
CMP
1126
1127
1128
Compile Design
1129
1130
1131
Compile your design
1132
1133
1134
Once your design instantiates the DDR SDRAM High Performance Controller you can compile your design.
1135
1136
1137
NA
1138
1139
1140
        
1141
        NA
1142
        
1143
        
1144
        NA
1145
        
1146
        
1147
        NA
1148
        
1149
1150
1151
        
1152
        Compile the design
1153
        
1154
        
1155
        NA
1156
        
1157
        
1158
                
1159
 
1160
                
1161
        
1162
1163
1164
        
1165
        ALL
1166
        
1167
1168
1169
1170
1171
 
1172
1173
1174
        
1175
        DDR_INST
1176
        
1177
1178
1179
ALWAYS
1180
1181
1182
dummy.tcl
1183
1184
1185
 
1186
1187
1188
1189
1190
1191
VERIFY
1192
1193
1194
Verify Timing Closure
1195
1196
1197
Verify timing closure
1198
1199
1200
After successfully compiling the design in the Quartus II software, run the timing reporting script generated by the DDR SDRAM High Performance Controller during instantiation called altera_ddr_phy_report_timing.tcl, which produces the timing report for the design.<p>Running the report timing script reports the following margins on the following paths:<p>Address/command setup and hold margin<p>Half rate address/command setup and hold margin<p>Core setup and hold margin<p>Core reset/removal setup and hold margin<p>Write setup and hold margin<p>Read capture setup and hold margin<p>The report timing script does not perform timing analysis on the write/read leveling circuitry datapath of the DDR SDRAM as the timing of these datapaths is guaranteed correct by design.<p>Refer to AN438: Constraining and Analyzing Timing for External Memory Interfaces for detailed information on timing analysis and reporting.
1201
1202
1203
http://www.altera.com/literature/an/an438.pdf
1204
1205
1206
        
1207
        NA
1208
        
1209
        
1210
        NA
1211
        
1212
        
1213
        NA
1214
        
1215
1216
1217
        
1218
        Run the timing script, altera_ddr_phy_report_timing.tcl. You can click Report Timing to let the IP Advisor run the script, or you can run it manually either in the Tcl Scripts dialog box or in the TimeQuest Timing Analyzer.
1219
        
1220
        
1221
        TCL_SCRIPTS
1222
        
1223
        
1224
        TIMEQUEST
1225
        
1226
        
1229
        
1230
                
1231
 
1232
                
1233
        
1234
1235
1236
        
1237
        ALL
1238
        
1239
1240
1241
1242
1243
 
1244
1245
1246
        
1247
        DDR_INST
1248
        
1249
1250
1251
ALWAYS
1252
1253
1254
altera_ddr_phy_report_timing.tcl;
1255
1256
1257
 
1258
1259
1260
1261
1262
1263
ADJUST
1264
1265
1266
Adjust Constraints
1267
1268
1269
Adjust Constraints
1270
1271
1272
The timing margin report shows setup and hold margin for the address/command, read and write datapath.
1273
 
1274
If the reported Setup or Hold is negative, quite small or unbalanced on the address/command datapath, adjusting the clock that is feeding the address/command output registers can be used to improve the margin.
1275
 
1276
To find out which clock is clocking the address/command registers, click on the address/command report in the Report section in the TimeQuest Timing Analyzer window and select the path that indicates the minimum or negative margin.
1277
 
1278
For Example:
1279
 
1280
   If the report indicates that clk6 of the PLL is the clock that is clocking the address/command registers.
1281
   Go to the PLL megafunction and change the phase setting of clk6.
1282
   If the initial phase setting of clk6 is set to 315 degrees resulting in the address/command being launched too early and a small reported hold time of 14ps. The hold margin could be increased by delaying clk6 by increasing the phase setting.
1283
 
1284
   For example, if clk6 is 200 MHz, to increase the hold margin, clk6 could be delayed from 315 to 330 degrees. 15 degrees delay in clk6 @200Mhz would result in an increase in the reported hold margin by 208 ps resulting in a final hold margin of 222 ps
1285
   After modifying the clk6 phase setting, recompile the design for the new PLL setting to take effect and run the report timing script again.
1286
1287
1288
NA
1289
1290
1291
        
1292
        NA
1293
        
1294
        
1295
        NA
1296
        
1297
        
1298
        NA
1299
        
1300
1301
1302
        
1303
        Edit your core instance in the MegaWizard Plug-In Manager and adjust either the PLL output clock phase or the clock phase.
1304
        
1305
        
1306
        MEGAWIZ
1307
        
1308
        
1309
                
1310
 
1311
                
1312
        
1313
1314
1315
        
1316
        ALL
1317
        
1318
1319
1320
1321
1322
 
1323
1324
1325
        
1326
        DDR_INST
1327
        
1328
1329
1330
ALWAYS
1331
1332
1333
 
1334
1335
1336
 
1337
1338
1339
1340
1341
BOARD
1342
1343
1344
Determine Board Design Constraints/Perform Board-Level Simulations
1345
1346
1347
Review the following recommendations about board design constraints
1348
1349
1350
Determine Board Design Constraints
1351
1352
1353
NA
1354
1355
1356
        
1357
        NA
1358
        
1359
        
1360
        NA
1361
        
1362
        
1363
        NA
1364
        
1365
1366
1367
        
1368
        NA
1369
        
1370
        
1371
        NA
1372
        
1373
        
1374
                
1375
 
1376
                
1377
        
1378
1379
1380
        
1381
        ALL
1382
        
1383
1384
1385
1386
1387
 
1388
1389
1390
        
1391
        DDR_INST
1392
        
1393
1394
1395
ALWAYS
1396
1397
1398
 
1399
1400
1401
 
1402
1403
1404
1405
1406
OCT
1407
1408
1409
FPGA-side Termination Considerations
1410
1411
1412
Choose between series and parallel on-chip termination (OCT) resistors to improve signal integrity.
1413
1414
1415
The Stratix III devices support both series and parallel on-chip termination (OCT) resistors to improve signal integrity. Another benefit of using the Stratix III OCT features is eliminating the need for external termination resistors on the FPGA side, which simplifies board design and reduces overall board cost. You can dynamically switch between the series and parallel OCT resistor depending on whether the Stratix III devices are performing a write or a read operation. The OCT features offer user-mode calibration to compensate for any variation in voltage and temperature during normal operation to ensure that the OCT values remain constant. The parallel and series OCT features on the Stratix III devices are available in either 25 ohm or 50 ohm settings.<p>Refer to the Selectable I/O Standards in Stratix III chapter of the FPGA Device Handbook for information on the OCT features.
1416
1417
1418
NA
1419
1420
1421
        
1422
        N/A
1423
        
1424
        
1425
        NA
1426
        
1427
        
1428
        NA
1429
        
1430
1431
1432
        
1433
        Open Assignment Editor and modify the I/O termination settings.
1434
        
1435
        
1436
        AE_LOGIC_OPTIONS
1437
        
1438
        
1439
                
1440
 
1441
                
1442
        
1443
1444
1445
        
1446
        ALL
1447
        
1448
1449
1450
1451
1452
 
1453
1454
1455
        
1456
        BOARD
1457
        
1458
1459
1460
ALWAYS
1461
1462
1463
 
1464
1465
1466
 
1467
1468
1469
1470
1471
ODT
1472
1473
1474
Memory-side Termination Considerations
1475
1476
1477
To improve signal integrity, DDR SDRAM supports output driver drive strength control on DQ, DQS and DQSn pins.
1478
1479
1480
To improve signal integrity, DDR SDRAM supports output driver drive strength control on DQ and  DQS pins
1481
 
1482
DDR SDRAM supports output driver drive strength control so the driver impedance will better match the transmission line
1483
 
1484
Discrete Parallel termination to VTT will typically be required to ensure that write transactions are correctly terminated
1485
 
1486
Refer to the DDR SDRAM datasheet for additional information on available settings of the output drive strength features
1487
 
1488
1489
1490
NA
1491
1492
1493
        
1494
        N/A
1495
        
1496
        
1497
        NA
1498
        
1499
        
1500
        NA
1501
        
1502
1503
1504
        
1505
    Open your core instance in MegaWizard Plug-in Manager, and confirm or adjust controller settings for the memory output drive strength
1506
        
1507
        
1508
        MEGAWIZ
1509
        
1510
        
1511
                
1512
 
1513
                
1514
        
1515
1516
1517
        
1518
        ALL
1519
        
1520
1521
1522
1523
1524
 
1525
1526
1527
        
1528
        BOARD
1529
        
1530
1531
1532
ALWAYS
1533
1534
1535
 
1536
1537
1538
 
1539
1540
1541
1542
1543
OTHER
1544
1545
1546
Run Board-Level Simulations
1547
1548
1549
Run board-level simulations
1550
1551
1552
Altera recommends the following termination scheme for the DDR SDRAM Memory Interface:
1553
 
1554
  FPGA side
1555
     * DQ/DQS:  Calibrated 50-ohm Dynamic OCT
1556
     * DM: Calibrated 50-ohm Series OCT
1557
     * Command/Address: Calibrated 50-ohm Series OCT
1558
     * Memory Clock: Uncalibrated 50-ohm Series OCT
1559
 
1560
  DDR SDRAM side
1561
     * DQ/DQS: 50-ohm Discrete Parallel Termination to VTT and Maximum Drive Strength output driver with 15-ohm Discrete Series Resistor
1562
     * DM/Addr/Command/Clock: 50-ohm Discrete Parallel Termination to VTT
1563
 
1564
Although the recommendations above are based on the simulations and experimental results, it is still critical that some form of simulation is performed, either using IBIS or HSPICE models, to determine the quality of signal integrity on your designs.
1565
 
1566
1567
1568
1569
1570
        
1571
        NA
1572
        
1573
        
1574
        NA
1575
        
1576
        
1577
        NA
1578
        
1579
1580
1581
        
1582
        Perform board-level simulations using the tools you have access to, for example Mentor Graphics HyperLynx.
1583
        
1584
        
1585
        
1586
        NA
1587
        
1588
        
1589
                
1590
 
1591
                
1592
        
1593
1594
1595
        
1596
        ALL
1597
        
1598
1599
1600
1601
1602
 
1603
1604
1605
        
1606
        BOARD
1607
        
1608
1609
1610
ALWAYS
1611
1612
1613
 
1614
1615
1616
 
1617
 
1618
 
1619
 
1620
1621
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.