de     

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
en:ztex_boards:ztex_fpga_boards:memory_tutorial_1_11 [2011/12/07 19:30] – [Memory clock generation by modification of the MCB PLL] 84.181.93.233en:ztex_boards:ztex_fpga_boards:memory_tutorial_1_11 [2011/12/07 23:01] 84.181.93.233
Line 15: Line 15:
   - Select memory part ''MT46V32M16XX-5B-IT'' and make sure that the clock period is 5000 ps: \\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-04.png|USB-FPGA Module 1.11, MIG screen 4}}   - Select memory part ''MT46V32M16XX-5B-IT'' and make sure that the clock period is 5000 ps: \\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-04.png|USB-FPGA Module 1.11, MIG screen 4}}
   - Output Drive Strength should be normal:\\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-05.png|USB-FPGA Module 1.11, MIG screen 5}}   - Output Drive Strength should be normal:\\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-05.png|USB-FPGA Module 1.11, MIG screen 5}}
-  - The recommended address mapping scheme is Row-Bank-Column. The memory port setting depend from the application. This are the values for the memtest example:\\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-06.png|USB-FPGA Module 1.11, MIG screen 6}} +  - The recommended address mapping scheme is Row-Bank-Column. The memory port setting depends from the application. This are the values for the memtest example:\\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-06.png|USB-FPGA Module 1.11, MIG screen 6}} 
-  - The arbitration settings depend on the application. Usually the Round Robin Algorithm is a good choice:\\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-07.png|USB-FPGA Module 1.11, MIG screen 7}} +  - The arbitration settings depend on the application. Usually the Round Robin algorithm is a good choice:\\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-07.png|USB-FPGA Module 1.11, MIG screen 7}} 
-  - Chose SSTL Class II output signal standard, uncalibrated 50 Ohm termination, RZQ on M4 and single-ended system clock:\\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-08.png|USB-FPGA Module 1.11, MIG screen 8}}+  - Chose SSTL Class II output signal standard, uncalibrated 50 Ohm termination and single-ended system clock:\\ {{:en:ztex_boards:ztex_fpga_boards:mem1_11-08.png|USB-FPGA Module 1.11, MIG screen 8}}
   - Click ''NEXT'' on the following dialog boxes and ''Generate'' on the last screen.   - Click ''NEXT'' on the following dialog boxes and ''Generate'' on the last screen.
  
Line 27: Line 27:
 TIMESPEC "TS_FXCLK" = PERIOD "FXCLK" 20.833333 ns HIGH 50 %; TIMESPEC "TS_FXCLK" = PERIOD "FXCLK" 20.833333 ns HIGH 50 %;
 NET "FXCLK"  LOC = "K14" | IOSTANDARD = LVCMOS33 ; NET "FXCLK"  LOC = "K14" | IOSTANDARD = LVCMOS33 ;
- 
-############################################################################ 
-# VCC AUX VOLTAGE  
-############################################################################ 
-CONFIG VCCAUX=2.5; 
  
 ############################################################################ ############################################################################
Line 140: Line 135:
  
 ===== Insert the Core into your VHDL code ===== ===== Insert the Core into your VHDL code =====
-Please uses ''memtest.vhd'' as reference for the following instructions.+Please use ''memtest.vhd'' from the memory test example as reference.
  
     - Add the following inputs/outputs to the entity declaration: <code vhdl>     - Add the following inputs/outputs to the entity declaration: <code vhdl>
Line 203: Line 198:
 ===== Setup the clock resource ===== ===== Setup the clock resource =====
  
-On [[http://www.ztex.de/usb-fpga-1/usb-fpga-1.11.e.html|ZTEX UBS-FPGA Modules 1.11]] the memory clock is generated from the 48 MHz output clock of the EZ-USB. Unfortunately the memory interface generator (MIG) expects that the memory clock comes from an external pin (at least up to version 3.5).+On [[http://www.ztex.de/usb-fpga-1/usb-fpga-1.11.e.html|ZTEX USB-FPGA Modules 1.11]] the memory clock is generated from the 48 MHz output clock of the EZ-USB. Unfortunately the memory interface generator (MIG) expects that the memory clock comes from an external pin (at least up to version 3.5).
 The common case that the clock is generated from another clock is ignored by the MIG. The common case that the clock is generated from another clock is ignored by the MIG.
  
Line 253: Line 248:
 RESET0 <= RESET_IN or (not DCM0_LOCKED) or DCM0_CLK_STATUS(2); RESET0 <= RESET_IN or (not DCM0_LOCKED) or DCM0_CLK_STATUS(2);
 </code> </code>
-  - Apply the changes / patch listed below to to ''ipcore_dir/<ipcore name>/user_design/rtl/memc3_infrastructure.vhd'', i.e. remove all global input buffer (IBUFG) stuff and replace ''CLKIN1 => sys_clk_ibufg'' by ''CLKIN1 => sys_clk'' This allows to connect an internally generated clock to the input of the PLL instance used for the generation of MCB clocks<code>+  - Apply the changes / patch listed below to to ''ipcore_dir/<ipcore name>/user_design/rtl/memc3_infrastructure.vhd'', i.e. remove all global input buffer (IBUFG) stuff and replace ''CLKIN1 => sys_clk_ibufg'' by ''CLKIN1 => sys_clk'' This allows to connect an internally generated clock to the input of the PLL instance used for the generation of MCB clocks. The .diff file can be found in the memtest example as ''ipcore_dir/mem0/user_design/rtl/memc3_infrastructure.vhd.diff''<code>
 --- memc3_infrastructure.orig.vhd 2010-08-20 11:42:53.000000000 +0200 --- memc3_infrastructure.orig.vhd 2010-08-20 11:42:53.000000000 +0200
 +++ memc3_infrastructure.vhd 2010-08-20 11:48:07.000000000 +0200 +++ memc3_infrastructure.vhd 2010-08-20 11:48:07.000000000 +0200
Line 364: Line 359:
    
 === Example 3: 132 MHz memory clock (low power setup) ===  === Example 3: 132 MHz memory clock (low power setup) === 
-The memory device and the parallel (on-chip) input termination of the FPGA usually draws a lot of power (about 1.5W). By reducing the +The memory and the parallel (on-chip) input termination of the FPGA consumes about 1.8W at maximum frequency. By reducing the 
-memory frequency to 132 MHz and by disabling the parallel termination the power consumption can be drastically reduced. (The memory bandwidth of this setting is 528 MByte/s, more than enough for the most application.)+memory frequency to 132 MHz and by disabling the parallel termination the power consumption can be drastically reduced. (The memory bandwidth of this setting is 528 MByte/s.)
  
-For this setting the ''MT46V32M16XX-6'' should be chosen instead of the ''MT46V32M16XX-5B-IT'' and the clock period must be set to 7500 ps (step 7 in the section "Creating the IP Core").+For this setting the ''MT46V32M16XX-6'' should be chosen instead of the ''MT46V32M16XX-5B-IT'' and the clock period should be set to 7500 ps (step 7 in the section "Creating the IP Core").
  
 The parallel termination can be disabled by commenting out the following lines in the ucf file: The parallel termination can be disabled by commenting out the following lines in the ucf file:
 
en/ztex_boards/ztex_fpga_boards/memory_tutorial_1_11.txt · Last modified: 2012/02/09 17:32 by stefan
 
Recent changes RSS feed Creative Commons License Powered by PHP Debian Driven by DokuWiki
[ZTEX Home] [Imprint] [Privacy policy]