cancel
Showing results for 
Search instead for 
Did you mean: 

STPC VEGA SDRAM support

granitvt
Associate II
Posted on December 22, 2004 at 02:42

STPC VEGA SDRAM support

8 REPLIES 8
granitvt
Associate II
Posted on October 22, 2004 at 04:05

STPC VEGA support maximum 256Mbits 2 bank SDRAM chips (see MEM_REG2 STPC Vega Programming Manual). The better part of SDRAM chips with 64Mbits and more (128M, 256M,...) consist of 4 banks, not 2 banks (I didn't find SDRAM chips 256Mbits density with 2 banks). How I can to get 256Mbyte SDRAM using STPC VEGA (see STPC Vega ''datasheet'' 75pdf & schematics evalution board)? How I must to programm SDRAM Controller for obtaining 256Mbyte SDRAM?

Best regards.

P.S. STPC Vega Programming Manual is very chary.

kaouther
Associate II
Posted on October 22, 2004 at 11:57

The vega datasheet will be published on the web site the next week. You’ll find more details about the 256 MBytes SDRAM.

I advise you to use the 64 Mbits or 128 Mbits 4 bank SDRAM.

granitvt
Associate II
Posted on October 28, 2004 at 03:39

STPC VEGA support maximum 256Mbits 4 banks SDRAM chips (32Mx64, see STPC VEGA data sheet rev. 1.0), but STPC Vega Programming Manual rev. 2.0 say that STPC VEGA support maximum 256Mbits 2 banks SDRAM chips (see MEM_REG2). Is this collision or errata ?

Best regards.

twitwity
Associate II
Posted on December 16, 2004 at 02:26

Hi,

as long as i found out, there are some kind of abuse or confusion of the terms.

they meant '64Mbits' as that size of just 1bank. and when it refers to ''64Mbit 4 internal banks'' they mean the whole size of the chip should be 64Mbits X 4banks = 256Mbits.

I used 4 k4s561632 (samsung, '256Mbits' , 4banks, 16bits .. 'as in usual note''...) in my design , and it has the topology like (4M X 16bits )X 4banks or '64Mbits X 4banks'.. so the entry for MEMREG2 is 10b

and.. it just worked.

granitvt
Associate II
Posted on December 17, 2004 at 02:35

Hi

Thanks for the answer, but I can't get at meaning: ''STPC VEGA support maximum 256Mbyte SDRAM'' (see datasheet or programming manual). How I must to programm SDRAM Controller for obtaining 256Mbyte SDRAM (2 banks with 128Mbytes (organization 4 chips 32Mx4X16)) ?

Best regards.

kaouther
Associate II
Posted on December 20, 2004 at 07:27

Hi,

If you need 256MBytes of SDRAM size, you have to know that only 128MBytes are casheable. For more details, please refer to the vega datasheet.

twitwity
Associate II
Posted on December 20, 2004 at 07:42

Hi.

ah, the documents (Data sheet and programmer's man) does not clearly specify which section they are talking about DIMMs and which section is dealing with component memories. I said that there has been some kind of 'abuse' of the notion. they are like this.

A. in the response to the Email sent to ST Micro staff, they said like this:

---

''For our memory control, two key points please advice to

customer:

1. All memory Banks must be ''64-bit'' wide.

2. Memory size under 128MBytes.

Please refer the attached schematic.

The K4S561632 is 4M x 16bit x 4 Banks SDRAM, and the

memory size is 32MBytes. Because it is 64Mbits 4 Banks, for

the MEM_REG2 is 10b.

If any information still not clear, welcome to discuss with me. ''

Warmest Regards

---

'in usual note', K4S561632 is 256Mbit device. so if the'memory size' for this device can be regarded as '64Mbits' as 'in their note', then accroding to criteria 2, one component SDRAM memory bank can be made up with conventional '512Mbit device' such as K4S511632B from SAMSUNG. (and.. with this, what you have concerned can be easily solved..)

I think A in above is what concerns with their PROGRAMMER'S

MANUAL.

let's do some math based on 'A'. i will use 'usual note' and 'their note'. 'in usual note' K4S561632 is '256Mbit' device and 'in their note' it is a '64Mbit' device. so, we can have an equation which shows relation ship between the two notes.

I suspect the PROGRAMMER'S MANUAL must be written considering SDRAM DIMM structure.

as you may know, usual DIMM is made with 4,8,16bit devices. i can't find a DIMM with 32bit device. though we can find one, we shouldn't do our design based on such a rare configuration. so, think we have to put at least 4 devices in one DIMM bank. then 256Mbytes / 4 devices = 64Mbytes each device.

guess we have to use a 256Mbit device for it, then

(256Mbits / 😎 * x = 64Mbytes , x = 2 banks.

I think this is the trick that fooled us in their PROGRAMMER'S MAN.

ON THE CONTRARY, THE ARTICLE IN DATASHEET IS TOTALLY BASED ON ACTUAL DEVICE CONFIGURATION.

The contents in table. 6-5 in datasheet exactly coincides with that of actual dram device data sheet. the row address and column address can be uniquely defined according to each device's actual address decoding scheme.

i.e.) the notion in datasheet does not coincides with that in programmer's manual

Does this bother you in programming sdram bank? well, i didn't know that at first. below is the assembly source code in STM's BIOS writer's guide.

-----

IF STPC_SDRAM_CONTROLLER AND (STPC_CONSUMER_S EQ 0)

; Detect the SDRAM configuration (16Mb / 2 banks, 64/128Mb / 2 banks or

; 64/128Mb / 4 banks) by testing for bank 0 the 3 modes and keep the one

; that gives the highest size.

; STPC Vega also supports 256Mb / 4 banks configuration.

cmp ch, STPC_MEM_BANK0 ; bank 0?

jne @@AlreadyDetected ; no, skip test

mov edi, STPC_MEM_REG1

or byte ptr ds:[edi], 00100000b ; select 16mA for 64/128Mb config

add di, 4 ; select STPC_MEM_REG2

mov al, ds:[edi] ; AL = current configuration

cmp ah, bh ; current size <= previous size?

jbe @@NextConfig ; yes, skip

mov bx, ax ; save configuration and size

@@NextConfig:

IF STPC_VEGA

; ===========================================================

; COMMENT IS INSERTED BY JEREMY, WOO

; cmp al, 3 ; last configuration?

; ABOVE IS THE ORIGINAL CODE

;

; IT ONLY DOES CONFIGURATION 00 - 10

;

; BELOW IS THE MODIFIED CODE

cmp al,4 ; do configuration 00 - 11

;=============================================================

ELSE

cmp al, 2 ; last configuration?

ENDIF

jae @@BestConfig ; yes, end detection

inc al ; next configuration

mov ds:[edi], al ; set configuration

sub esi, esi ; restart at address 0

mov edi, 2 SHL 20 ; begin size detection at 2MB

jmp @@FindBankSize

---------

i modified source between ============== s. after that, the BIOS reported

onboard 128MBytes of SDRAMs correctly. i dont planned to expand rams upto

256Mbytes, and no intention to support expansion DIMM. the older design with

GEODE GX-1 has only 64Mbyte of SDRAM on board, so i doubled the device resour

ce and our application is very strict and no arbitrary upscale would be expec

ted.. (sorry. i didn't try the original code myself..)

i don't care what the value in REG2 exactly means. i don't care which one

is right or wrong (DATASHEET and PROGRAMMER'S MAN..) what i need is exact probe of onboard SDRAM bank of 128Mbytes capacity...

according to the datasheets of K4561632 and K4S511632B,

the row address uses A0-A12 (13bits) and column address uses A0-A8 and

A0-A9 each. all range match within the address mapping range in Table. 6-5

so, i think with 4 K4S511632B devices, you can have 256Mbytes of SDRAM.

well you can try that yourself. 🙂

Best regards,

Jeremy.

[ This message was edited by: Twitwity on 20-12-2004 12:14 ]

[ This message was edited by: Twitwity on 20-12-2004 12:22 ]

granitvt
Associate II
Posted on December 22, 2004 at 02:42

Hi,

thank your for the answer. I have a whack to use 256MByte SDRAM with STPC VEGA in april 2005.

Best regards 😉