General Purpose Chip Select Machine - Freescale
General Purpose Chip Select Machine - Freescale
General Purpose Chip Select Machine - Freescale
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>General</strong> <strong>Purpose</strong> <strong>Chip</strong> <strong>Select</strong> <strong>Machine</strong><br />
<strong>Purpose</strong>:<br />
• This module will discuss the standard chip select generation interface for SRAM, ROM<br />
and basic devices only requiring a chip select.<br />
Objectives:<br />
• To provide you with an understanding of the twelve base and options register pairs to<br />
which addresses are directed when using the general purpose chip select interface of the<br />
memory controller.<br />
Contents:<br />
• This short module covers the memory block section, the basic timing and finishes with a<br />
look at the registers.<br />
Learning Time:<br />
• There are 4 pages and 2 reference pages which will take approximately 8 minutes.<br />
This module covers the standard chip select generation interface for SRAM, ROM and basic<br />
devices only requiring a chip select.<br />
To provide you with an understanding of the twelve base and options register pairs to which<br />
addresses are directed when using the <strong>General</strong> <strong>Purpose</strong> chip select interface of the memory<br />
controller.<br />
This short module covers the memory block section, the basic timing and finishes with a look<br />
at the registers.<br />
There are 4 pages and 2 reference pages which will take approximately 8 minutes.
Memory block selection<br />
Address<br />
BR0<br />
OR0<br />
BRp<br />
ORp<br />
BRq<br />
ORq<br />
BRn<br />
ORn<br />
<br />
<br />
<br />
GPCM<br />
CS-boot<br />
CS-p<br />
CS-q<br />
CS-n<br />
Memory<br />
Boot ROM<br />
Memory p<br />
Memory q<br />
Peripheral n<br />
There are twelve base and options register pairs to which addresses are directed. The base<br />
register defines the start address of a bank and the machine that will control it. The options<br />
register defines the block size, and they both define the access attributes. When a bus cycle<br />
is required, the address is compared to all the register pairs and if it lies between the base<br />
pointer and length defined in the options register, and the base register is valid, the machine<br />
selected will control the transfer.<br />
When the GPCM is selected, the chip select and write enable or output enable signals are<br />
asserted according to the timing specification, controlling the transfer. If there is more than<br />
one bank of memory controlled by the GPCM, then the chip select relating to the base and<br />
options register pair is asserted, defining which of the blocks is accessed.<br />
One important feature is that although most of the base registers are invalid after reset, BR0<br />
is valid, and defaults to a four gigabyte space. After reset, chip select zero can be used to<br />
access the boot ROM. The boot code can be used to modify the range and control of chip<br />
select zero if required, and initialize the rest of the memory controller to suit the system.
Basic Timing<br />
Clock<br />
Address<br />
PSDVAL<br />
CS<br />
OE<br />
Data<br />
This diagram shows the relationship between the input clock and the timing controls. The<br />
address is asserted on the rising edge of the clock and maintained for two clock periods.<br />
The related chip select is asserted during the first half clock cycle. Partial data valid and<br />
output enable asserted after one clock cycle, at the same time as data is driven onto the<br />
bus. The data and control signals are negated after one clock cycle. The timing can be<br />
extended by the use of wait states and relaxed timing, controlled by the options register.
Registers<br />
0 31<br />
BR<br />
Base Register - one for each of 12 memory banks -<br />
Defines the base address and attributes for each memory bank used.<br />
0 31<br />
OR<br />
Options Register - one for each of 12 memory banks and associated with the related BR -<br />
Defines the memory bank size and access attributes.<br />
This and the next page identifies the registers required for use with the GPCM. The base<br />
register determines the start address of the bank and the machine to be used. The<br />
associated option register determines the size of the bank and some of the access<br />
attributes.<br />
If an address generated lies within the boundaries of these two registers and the valid bit is<br />
set in the base register, then the controller defined in the base register will control the<br />
transfer. To view the registers, click on the one of interest. That completes the general<br />
purpose chip select machine section.