32-bit Embedded Core Peripheral. Cache Memory. and Bus Interface Unit

Size: px
Start display at page:

Download "32-bit Embedded Core Peripheral. Cache Memory. and Bus Interface Unit"

Transcription

1 Features 8 KB Memory Size (Optional 2 KB, 4 KB, 16 KB and 32 KB) Four-way Parallel Associative Cache Memory and Four-word Burst External Access on Miss Write-back Algorithm Enhanced External Bus Access ARM740-compatible Configuration and MPU Structure Memory Protection Unit (MPU) with Eight Programmable Areas Description The cache memory and bus interface unit extends the capabilities of the ARM7TDMI processor by adding to it an 8 KB, four-way, parallel associative cache memory, a memory protection unit and an AMBA ASB bus interface unit. The ARM7TDMI processor, together with the cache memory unit, is software- and hardware-compatible with the ARM740T processor. The cache memory unit, which does not require the use of tri-state buses, decodes the ARM7TDMI co-processor interface and extends the instruction set of the original ARM7TDMI. The cache memory unit is designed specifically for ASIC development. Figure 1. Block Diagram R ARM Interface AMBA ASB Interface 32-bit Embedded Core Peripheral Cache Memory and Bus Interface Unit Co-processor Interface ARM7TDMI CPU Control Address Data Cache Memory and Bus Interface Unit ASB Control ASB BA ASB D To System Rev. 1

2 Signal Description Table 1. ARM Interface Name Type Description A<31:0> I ARM7TDMI address bus. Addresses must become valid during phase 2 of the cycle preceding that to which they refer (APE = 1). ABORT O Abort signal for the ARM7TDMI. It signals that the requested access is not allowed. CPA O ARM7TDMI co-processor interface (co-processor absent) CPB O ARM7TDMI co-processor interface (co-processor busy) DO<31:0> O Data bus to ARM7TDMI DI<31:0> I Data bus from ARM7TDMI LOCK I Lock signal from ARM7TDMI. The processor is performing a locked memory access. MAS<1:0> I Memory access size MCLK O Clock signal for the ARM7TDMI ncpi I ARM7TDMI co-processor interface nmreq I Valid memory access nopc I ARM7TDMI co-processor interface (opcode fetch) nreset O Reset signal for the ARM7TDMI nrw I Not read/write access cycle ntrans I Not memory translate. When low, the processor is in user mode, and no co-processor instructions are supported. nwait I Wait cycle for the ARM7TDMI TBIT I ARM7TDMI is executing in Thumb mode. No co-processor instructions are supported. Table 2. AMBA ASB Interface Name Type Description AREQ O ASB bus request AGNT I ASB bus grant BA<31:0> O ASB address bus BCLK I/O ASB clock BDO<31:0> O ASB data bus output BDI<31:0> I ASB data bus input BERROR I Error response. A transfer error is indicated by a selected bus slave. BLAST I Last response. This signal is driven by the selected bus slave to indicate that the current transfer should be the last of a burst request. 2 Cache Memory

3 Cache Memory Table 2. AMBA ASB Interface (Continued) Name Type Description BLOK O Locked transfer. This signal indicates that the current transfer and the next transfer are to be indivisible and no other bus master should be given access to the bus. BnRES I Bus reset signal BPROT<1:0> O Protection control (opcode-data fetch, user-privileged mode) BSIZE<1:0> O Bus size. Indicates the size of the transfer (byte, half-word, word). BTRAN<1:0> O Transfer type. Address-only, non-sequential, sequential. BWAIT I Wait response. The bus slave indicates if the current transfer may complete. BWRITE O Write/read transfer AMBA ASB Interface The ASB bus interface is defined by ARM Ltd. in its AMBA Specification (Rev. 2.0). The cache memory unit IP follows this specification apart from one restriction: No retract or last response cycles are supported. The cache memory unit provides an interface that is uni-directional and fully synchronous with the falling edge of BCLK. The conversion to a full ASB interface with tri-state buses is easy, requiring only a few additional tri-state buffers at the outputs. For a description of the differences between multiplexer bus and tri-state bus implementation, refer to the application note on AMBA interconnection schemes provided by ARM. No test support is provided through the ASB, so the cache must be tested by using conventional scan paths and memory BIST. Configuration Configuration and operation of the cache memory unit is controlled via co-processor 15 (CP15). Co-processor instructions are used to manipulate a number of on-chip registers, which control the configuration of the following: the cache the protection unit a number of other configuration options To ensure backwards compatibility of future CPUs, all reserved or unused bits in registers and co-processor instructions should be programmed to 0. Invalid registers must not be read/written. Note that the areas filled in with in the register diagrams are reserved and should be programmed 0 for future compatibility. 3

4 Internal Coprocessor Instructions On-chip configuration registers may be read using MRC instructions and written using MCR instructions. However, these operations are only allowed in non-user modes, and the undefined instruction trap is taken if access is attempted in user mode. Format of Internal Co-processor Instructions MRC and MCR COND n CRn Rd CRm Bits COND: ARM condition codes Bit 20 n 1 = MRC register read 0 = MCR register write Bits CRn: CP15 Source/Destination Register This field is normally used to determine which configuration register is being accessed. Bits Rd: ARM Register Bits 3..0 CRm: CP15 Operand Register 4 Cache Memory

5 Cache Memory Registers The configuration registers are accessed by CPRT instructions to CP15, with the processor in privileged mode. Only some of the CRn registers, however, are valid: An attempt to access an invalid register results in neither the access nor an undefined instruction trap being obtained and therefore should never be made. An attempt to access any of the registers [8:15] results in the undefined instruction trap. Table 3. System Control Registers Register Register Reads Register Writes 0 ID Register Reserved 1 Control Control 2 Cacheable Cacheable 3 Reserved Reserved 4 Reserved Reserved 5 Protection Protection 6 Memory area definition Memory area definition 7 Reserved Flush unlocked cache banks 8-15 Reserved Reserved Register 0: ID Register Register Name: ID Register Access Type: Read-only Register 0 is a read-only identity register that returns the ID code for this IP. Table 4. Cache Variant ID Code 2 Kb 0xFF1C740x 4 Kb 0xFF2C740x 8 Kb 0xFF3C740x 16 Kb 0xFF4C740x Note: The variable x represents the version number. 5

6 Register 1: Control Register Register Name: Control Register Access Type: Read/write Register 1 contains the control bits. All bits in this register are forced low by reset Bank F Lock S B W C M Bits Bank: Cache Bank Select Register This field controls the cache. See Partially Locked Operation on page 11. Bit 27 F: Load Mode This bit controls the cache. See Partially Locked Operation on page 11. Bits Lock: Lock Cache Lockdown Control Register This field controls the cache. See Partially Locked Operation on page 11. Bit 24 S: Split Instruction Data Mode This bit controls the operating mode of the cache. See Split-instruction Data Operation on page 12. Bit 7 B: Big-/Little-endian 0 = Little-endian operation 1 = Big-endian operation Bit 3 W: Reserved Bit 2 C: Cache Enable/Disable 0 = Cache disabled 1 = Cache enabled Bit 0 M: Protection Unit Enable/Disable 0 = On-chip protection unit disabled 1 = On-chip protection unit enabled 6 Cache Memory

7 Cache Memory Register 2: Cacheable Register Register Name: Cacheable Register Access Type: Read/write Register 2 contains the current values of the cacheable bit. See Protection Unit Registers on page 14 for a description of the operation of the Protection Unit Register 3: Reserved This register is reserved. Register 4: Reserved This register is reserved. Register 5: Protection Register Register Name: Protection Register Access Type: Read/write Register 5 contains the access permissions for the eight areas of memory. The access permission bits are defined in the Protection Register on page

8 Register 6: Memory Area Definition Register Register Name: Memory Area Definition Register Access Type: Read/write Register 6 is actually eight physical registers that are referenced by the CRm field of a CPRT instruction. Each register defines a memory area. A complete description of these registers is given in Area Registers on page Base[31:12] Size[4:0] E When programming the Memory Area Register, the appropriate region is selected using the CRm parameter in the MCR or MRC instruction. Register 7: IDC Flush Register Register Name: IDC Flush Register Access Type: Write-only Register 7 is a write-only register. The data written to this register is discarded and all unlocked banks of the cache are flushed. Registers (8:15): Reserved Accessing any of these registers causes the undefined instruction trap to be taken. 8 Cache Memory

9 Cache Memory Cache Memory Unit Read-lock-write Reset The cache memory unit incorporates either an 8K or 4K general-purpose cache. Both variants are functionally equivalent. The cache memory: is physically addressed is four-way parallel associative is write-back has four words and a valid flag per line uses a random replacement algorithm is filled line by line Three operating modes are provided so that the cache can be adapted to the application: Mixed-instruction data mode Partially locked mode Split-instruction data mode The cache memory unit control register is used to enable/disable and configure the cache. Cache operation can also be controlled by the cacheable function of the protection unit. The protection unit must always be enabled if the cache is enabled. Otherwise, behavior is undefined. Both functions may be enabled simultaneously with a single write to the control register. The cache memory uses a random replacement algorithm. The various operating modes all use random allocation. In every case, the options only affect cache replacements. The complete cache is always searched for an address, and if the address is found, the data is used or updated. This ensures that the cache is internally consistent and coherent with external memory. The read-lock-write instruction is treated by the IDC as a special case. Externally the two phases are flagged as indivisible by asserting the BLOK signal. The read phase always forces a read of external memory, regardless of whether the data is contained in the cache. The write phase is treated as a normal write operation and if the data is already in the cache, the cache will be updated. The IDC is automatically disabled and flushed on BnRES. Once enabled, cacheable read accesses place lines in the cache. 9

10 Figure 2. Cache Memory Block Diagram MPU Cacheable ASB Address Address Tag Memory Data Memory Data path ASB Interface Miss Data Control ARM Interface Access Control AMBA ASB Interface ASB Control ASB Data 10 Cache Memory

11 Cache Memory Control Registers The cache is controlled by the following bits in the control register. Table 5. Control Register Bit Description Bit Name Bank[1:0] C F Lock[1:0] S Description These bits select the bank to be loaded when the F bit is set. Note: The cache banks are always locked starting from bank 0, so the order of loading should be 0, 1, 2. Although bank 3 can be loaded, there is no mechanism for locking all four cache banks. Cache Enable Bit. The cache is filled when a cacheable (instruction or data) fetch is performed. The cache is loaded by a line fetch of four words. This bit forces all line fetches to apply to the bank selected by Bank[1:0]. When this bit is set, all instruction fetches are forced to be uncacheable data fetches and are still subject to the cacheable mapping in the protection unit. These bits are used to set the number of banks locked. When in split-instruction data mode, they are also used to program the split. Table 5 shows the effect of using the Lock[1:0] bit to lock cache banks. This is the split-instruction data bit. When this bit is set, the cache is configured according to the value of the Lock[1:0] bits. It is illegal to have F and S set simultaneously. The effects of the Lock[1:0] bits when in splitinstruction data mode is shown in Table 7. For a full description of the configuration register, see See Register 1: Control Register on page 6. Table 6. Cache Banks Locked by Lock[1:0] Lock[1:0] Bank 3 Bank 2 Bank 1 Bank 0 Description 00 Cache Cache Cache Cache No Banks Locked 01 Cache Cache Cache Locked 1 Bank Locked 10 Cache Cache Locked Locked 2 Banks Locked 11 Cache Locked Locked Locked 3 Banks Locked Operating Modes Mixed-instruction Data Operation Partially Locked Operation The following operating modes are provided so that the cache can be adapted to the application: Mixed-instruction data Partially locked Split-instruction data This is the standard operating mode for the cache. In this mode, the cache functions as a standard mixed-instruction and data cache. Lines fetched into the cache are placed at random into one of the cache banks. In this mode, critical code and data can be locked into the cache to ensure high performance. To lock code or data into the cache: 1. Select the bank to be loaded using the Bank[1:0] register and set the F bit to 1. Cache banks are always locked starting from bank 0, hence should be loaded and locked in the order 0, 1, Perform a cache flush operation. This is necessary to ensure that the required instructions and data are loaded into the selected cache bank. If this is not performed, they may be elsewhere in the cache and therefore not loaded into the selected bank. 3. Load the instructions or data to be locked into the cache using either LDM or LDR instructions, one per line. While in load mode, all instruction fetches are uncacheable. 11

12 4. Set the F bit to zero. 5. Set the number of banks to be locked into the Lock[1:0] register. 6. Once the lock register is set, the replacement algorithm is prevented from making replacements in the locked banks. This results in reducing the associativity of the cache to the number of banks remaining as cache. Split-instruction Data Operation Another option allows the cache memory unit to be operated in split-instruction data mode. This forces instructions and data to be cached in separate banks of the cache and is used to improve performance where a small code set is processing a large data set. The split nature of the cache means that data does not replace the cached instructions. The allocation of the banks of the cache is shown in Table 7. Table 7. Bank Allocation in Split-instruction Data Mode Lock[1:0] Bank 3 Bank 2 Bank 1 Bank 0 Description 00 Reserved 01 Data Data Data Instruction 1 Bank Instruction, 3 Banks Data 10 Data Data Instruction Instruction 2 Banks Instruction, 2 Banks Data 11 Data Instruction Instruction Instruction 3 Banks Instruction, 1 Bank Data It is not necessary to flush the cache before enabling the split-instruction data mode since the complete cache is searched, regardless of the split selected. 1. Set the S bit. 2. Select the required split using the Lock[1:0] register. If required, this mechanism can be used to make a snapshot of the contents of the instruction banks and to lock them into the cache. The required sequence of operations is as follows: 1. Set the S bit to 1 and select the required split using the Lock[1:0] register. 2. Flush the cache to ensure that the code is loaded into the instruction banks. 3. Execute the required code fragment. 4. Set the S bit to 0, leaving the same value in the Lock[1:0] register. In all cases, when operating in split-instruction data mode, the associativity of each section of the cache is equal to the number of banks allocated to it. Notes: 1. It is illegal to simultaneously have the S bit and the F bit set. 2. It is illegal to have the S bit set with a value of 00 in the Lock[1:0] register. 12 Cache Memory

13 Cache Memory Cache Operation The cache is always searched regardless of whether it is enabled. If an address hits, then the data will be read or written. So when the cache is disabled it should also be flushed. A summary of cache operations is found in Table 8. Table 8. Cache Operations Cacheable Reads Uncacheable Reads Writes A line fetch of four words is performed when a cache-miss occurs in a cacheable area of memory. This is placed in the cache according to the current mode of operation. An external memory access is performed and the cache is not written. All writes update the data in the cache if present and are written through to the main memory. Cacheable Bit Software IDC Flush The appropriate cacheable bit in the cacheable register is used by the protection unit to determine whether data being read may be placed in the IDC and used for subsequent read operations. To improve system performance, main memory is generally marked as cacheable and I/O space as non-cacheable to stop the data from being stored in the cache memory unit. For example, if the processor is polling a hardware flag in the I/O space, it is important that the processor is forced to read data from the external peripheral and not a copy of the initial data held in the cache. See Memory Protection Unit on page 14 for more details. All unlocked banks of the cache may be marked as invalid by writing to the cache memory unit s IDC Flush Register (Register 7). See Register 7: IDC Flush Register on page 8. The cache is flushed immediately as the register is written, but note that the following two instruction fetches may come from the cache before the register is written. 13

14 Memory Protection Unit By maintaining a description of the properties of memory areas in the memory map, the memory protection unit has two primary functions: Control of the cache and write buffer Control of memory access permissions The MPU provides individual control for eight areas of memory numbered 0 to 7. For each area, the following registers can be programmed: Cacheable Basic Protection Size Base Address In this way, the memory architecture of the system can be described in an easily programmable but flexible manner. Protection Unit Registers Several registers are provided by the cache memory unit to control the operation of the protection unit. The format of these registers is shown in Table 3, System Control Registers, on page 5. Control Register For a complete description of the control co-processor, see Configuration on page 3. Register Name: Control Register Access Type: Read/write The configuration register contains the protection enable bit M. On reset, this bit is set to zero, disabling the protection mechanisms and allowing full access to all of the memory. All accesses are then uncacheable and unbufferable M Note that other bits in the configuration register are also used for other functions. For a full description of the configuration register, see Register 1: Control Register on page Cache Memory

15 Cache Memory Cacheable Register This register is used to set the cacheable bit for each of the eight areas of memory The cacheable bit determines if a line fetch should be performed for an access to a given area of memory. The cache is always searched regardless of the state of this bit, and if the required address is found, the copy of the data in the cache will be used. On reset, all areas are marked as uncacheable. Main memory is typically marked as cacheable to provide maximum performance, while peripherals are marked as uncacheable. Protection Register This register controls the access permissions for the eight areas of memory Access permissions for each area of memory are controlled by the value in the protection register. The control accesses are shown in Table 9. Table 9. Access Permission Value Supervisor User 00 No access No access 01 Read/write No access 10 Read/write Read-only 11 Read/write Read/write 15

16 Area Registers The area registers are used to control the parameters of the memory areas controlled by the protection unit. These registers differ from the other CP15 registers with respect to the way memory areas are addressed. Instead of separate bit-fields being used for each region of memory, one register is used for each area indexed by the co-processor operand parameter in the instruction. The number of the memory area to be accessed should be placed in the CP15 operand field of the instruction. See Internal Co-processor Instructions on page COND n CRn Rd CRm where: Bits COND: ARM Condition Code Bit 20 n: 1 = MRC register read 0 = MCR register write Bits CRn: CP15 Source/Destination Register This field is equal to six for the area register. Bits Rd: ARM Register Bits 3..0 CRm: CP15 Operand Register This field is set to the area to be accessed. 16 Cache Memory

17 Cache Memory Each area register uses three fields to describe the location of the area of memory: enable bit E size of the area base address of the area Base[31:12] Size[4:0] E The enable bit E determines if a given area is active. If this bit is set to zero, the area is disabled. The value in Size[4:0] determines the size of a given area of memory, as shown in Table 10. Table 10. Area Sizes Size[4:0] Area Size[4:0] Area 0b Kb 0b Mb 0b Kb 0b Mb 0b Kb 0b Mb 0b Kb 0b Mb 0b Kb 0b Mb 0b Kb 0b Mb 0b Kb 0b Mb 0b Kb 0b Gb 0b Mb 0b Gb 0b Mb 0b Gb 0b Mb Base Address The base address of each area must be aligned with respect to the size of that area. For example, if a region size is set to 16K, then 0x8000 is a legal address for the region to start, but 0x5000 is not legal. The finest resolution that can be used to set the location of a section is 4K, as determined by the setting for the smallest region. If this requirement is not met, the behavior of the protection unit is undefined. 17

18 Accessing the Area Register Protection Unit Operation This register is accessed using MCR and MRC instructions as follows: To write the descriptor for an area of memory: MCR p15, 0, Rd, c6, CRm, 0 where: - CRm is the area of memory to be defined - Rd is the ARM register containing the value to be written into the area register To read back the descriptor: MRC p15, 0, Rd, c6, CRm, 0 where: - CRm is the area of memory to be read - Rd is the ARM register where the descriptor is placed The protection unit compares the address generated by the ARM with the parameters of the eight memory areas. This produces one of three results as shown in Table 11. Table 11. Protection Unit Operation No area hits One area hit Multiple areas hit The access is aborted The properties of this area are applied to the access The properties of the highest priority area are applied to the access. The protection unit operation is illustrated in Figure 3. Figure 3. Protection Unit Operation 4GB Area 0 Area 1 Area 2 Area 3 Area 4 Area 5 Area 6 Area 7 Access to Area 5 Address Space Access to Area 0 (Background Permissions) 0 Access to,area 4 (Highest Priority Area) 18 Cache Memory

19 Cache Memory Memory Area Properties Each area of memory is defined in terms of the following properties: base address size access permissions bufferable bit cacheable bit An area s base address must be a multiple of its size. When an address matches multiple areas of memory, the properties of the highest priority area of memory are used. Area priorities are fixed as follows: area 7 has the highest priority area 0 has the lowest priority The bufferable and cacheable bits for the selected area of memory are used to determine if the cache and write buffer should be used (if enabled). Table 12. Cacheable and Bufferable Properties Property Bufferable Cacheable Effect if Set If the access is a write, the write buffer will be used. If the access is a read, a cache line fill will be performed if the required word is not in the cache. Access Permissions Protection Failures and External Accesses Reset Overlapping Memory Regions Access permission bits are checked against access type. Details of decoding are found in Table 9, Access Permission, on page 15. If access is permitted, the ARM continues. If access is prohibited, the ARM is aborted and there is no access on the external bus. If an access violation is detected by the protection unit, access is then inhibited to the external memory. External aborts, however, do not necessarily inhibit the external access, as described in External Aborts on page 20. An internally aborting access may cause the address on the external address bus to change, even though the external bus cycle has been cancelled. No memory access is performed to this address. The protection unit is disabled on BnRES. Before it is enabled, all the protection unit registers must be programmed. If this is not respected, unpredictable behavior will result. When mapping logical memory regions into physical memory devices, overlapping regions can be used to allow greater flexibility. For example, consider the case where the system has 4K of supervisor code and 28K of user code, both of which must be mapped into a 32K RAM. If overlapping memory is not supported, four regions would have to be used to achieve this: one 4K region for the supervisor code one 32K region one 16K region one 4K region for the user code 19

20 If the supervisor and user code regions can be overlapped, this can be achieved using only two regions: one 4K region for the supervisor code one 32K region for the user code Thus in Figure 4, by way of example, the supervisor code could be placed in Region 2, and the user code in Region 1. This would ensure that the supervisor mapping takes precedence over the less strict user mapping. Figure 4. Use of Overlapping Memory Regions Supervisor Only Full Access 1 Four Regions Required Two Regions Required Undefined Address Space External Aborts Restrictions Cacheable Reads (Line Fetches) The default protection for otherwise unmapped memory can be programmed by using the mechanism for overlapping segments. If the memory regions do not completely fill the 4 GB of address space of the ARM7TDMI, there are holes in the address map. By configuring Region 0 (the lowest priority region) to be 4 GB in size, the user can program what happens if an access becomes a hole. For example, the attributes could be set to full access or no access. Alternatively, the user may choose to ignore the holes, and any access to an area of memory not described by the protection unit results in an abort. In addition to the aborts generated by the protection unit, the cache memory unit has an external abort input BERROR that may be used to flag an error on an external memory access. However, not all accesses can be aborted in this way, so this input must be used with great care. The following accesses may be aborted and restarted safely: reads unbuffered writes read-lock-write sequence If any of these are aborted, the external access ceases on the next cycle. In the case of a read-lock-write sequence in which the read aborts, the write does not occur. A line fetch may be safely aborted on any word in the transfer: If an abort occurs during the line fetch, the cache is purged, so it does not contain invalid data. If the abort happens on a word that has been requested by the cache memory unit, it is aborted. Otherwise, the cache line is purged but program flow is not interrupted. The line is therefore purged under all circumstances. 20 Cache Memory

21 Cache Memory Performance and Waveforms Performance Waveforms Performance is expressed in terms of the number of clock cycles per hit access or miss access. Number of clock cycles per hit access: Read access: 1 cycle (0 wait states) Write access: 2 cycles (1 wait state) Number of clock cycles per miss access: Miss-on-read access without line replacement: 5 cycles + (access time for 4-word read burst from external memory) Miss-on-write access without line replacement: 6 cycles + (access time for 4-word read burst from external memory) Miss (read or write) and line replacement: 6 cycles + (access time for 4-word read burst from external memory) + (access time for 4- word write burst to external memory) For non-cacheable accesses, there is no penalty due to cache insertion. It is possible to work at zero wait states in read and write. This depends only on required external wait states. In order to improve visibility on waveforms, a zero-wait-states external memory is used in the examples that follow. Waveform Signals Table 13. External Memory Bus (AMBA ASB) xxx.cpu1.mclk xxx.cache.ba xxx.cache.bdi xxx.cache.bdo xxx.cache.btran xxx.cache.bwrite Main clock CPU bus and BCLK Address bus to external memory Data bus from external memory Data bus to external memory Transfer type Write signal Table 14. ARM Side Bus xxx.cpu1.a xxx.cpu1.d xxx.cpu1.nrw xxx.cpu1.nwait xxx.cpu1.nmreq xxx.cpu1.seq Address bus to cache Data bus to/from cache Write to cache Wait from cache Memory request to cache Sequential address to cache 21

22 Table 15. Internal Cache Memories xxx.core.tagmem.miss xxx.core.datmem.add xxx.core.datem.din xxx.core datem.dout xxx.core datmem.we xxx.core.control.cacheable Miss signal (active high) Internal data memory address Data-to-data memory Data-from-data memory Write enables to data memories (4 ways) Cacheable signal (active high) 22 Cache Memory

23 TEST_CACHE.cpu1.MCLK TEST_CACHE.cache.BA TEST_CACHE.cache.BDI TEST_CACHE.cache.BDO TEST_CACHE.cache.BTRAN TEST_CACHE.cache.BWRITE TEST_CACHE.cpu1.A c e59f51a Figure 5. Miss-on-read Access TEST_CACHE.cpu1.D TEST_CACHE.cpu1.nRW TEST_CACHE.cpu1.nWAIT TEST_CACHE.cpu1.nMREQ e59f51a TEST_CACHE.cpu1.SEQ cache.core.tagmem.miss MISS ON READ ACCESS cache.core.datmem.add c cache.core.datem.din cache.core.datem.dout cache.core.datmemwe[3] cache.core.datmemwe[2] cache.core.datmemwe[1] cache.core.datmemwe[0] cache.core.control.cacheable time (ps) e59f51a Cache Memory

24 24 Cache Memory TEST_CACHE.cpu1.MCLK TEST_CACHE.cache.BA TEST_CACHE.cache.BDI TEST_CACHE.cache.BDO TEST_CACHE.cache.BTRAN TEST_CACHE.cache.BWRITE TEST_CACHE.cpu1.A TEST_CACHE.cpu1.D TEST_CACHE.cpu1.nRW TEST_CACHE.cpu1.nWAIT TEST_CACHE.cpu1.nMREQ TEST_CACHE.cpu1.SEQ cache.core.tagmem.miss cache.core.datmem.add cache.core.datem.din cache.core.datem.dout cache.core.datmemwe[3] cache.core.datmemwe[2] cache.core.datmemwe[1] e088800a e088800a c c aaaaaaaa aaaaaaaa MISS ON READ ACCESS AND DIRTY LINE REPLACEMENT (WRITE BACK) aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa c c 000 aaaaaaaa aaaaaaaa aaaaaaaa e088800a aaaaaaaa aaaaaaaa Figure 6. Miss-on-read Access and Dirty Line Replacement (Write-back) cache.core.datmemwe[0] cache.core.control.cacheable time (ps)

25 TEST_CACHE.cpu1.MCLK TEST_CACHE.cache.BA TEST_CACHE.cache.BDI TEST_CACHE.cache.BDO TEST_CACHE.cache.BTRAN TEST_CACHE.cache.BWRITE TEST_CACHE.cpu1.A TEST_CACHE.cpu1.D TEST_CACHE.cpu1.nRW TEST_CACHE.cpu1.nWAIT TEST_CACHE.cpu1.nMREQ TEST_CACHE.cpu1.SEQ e e c e3a e c e786c008 e786c008 e3a e aaaaaaaa Figure 7. Write-and-read Hit Cacheable Accesses cache.core.tagmem.miss cache.core.datmem.add c cache.core.datem.din aaaaaaaa aaaaaaaa 25 cache.core.datem.dout cache.core.datmemwe[3] cache.core.datmemwe[2] cache.core.datmemwe[1] cache.core.datmemwe[0] cache.core.control.cacheable time (ps) e WRITE AND READ HIT CACHEABLE ACCESSES e786c008 e3a e Cache Memory

26 26 Cache Memory TEST_CACHE.cpu1.MCLK TEST_CACHE.cache.BA TEST_CACHE.cache.BDI TEST_CACHE.cache.BDO TEST_CACHE.cache.BTRAN TEST_CACHE.cache.BWRITE fc c aaaaaaaa aaaaaaaa Figure 8. Miss-on-write Access TEST_CACHE.cpu1.A fc TEST_CACHE.cpu1.D TEST_CACHE.cpu1.nRW TEST_CACHE.cpu1.nWAIT TEST_CACHE.cpu1.nMREQ TEST_CACHE.cpu1.SEQ cache.core.tagmem.miss cache.core.datmem.add 1fc c cache.core.datem.din cache.core.datem.dout cache.core.datmemwe[3] cache.core.datmemwe[2] cache.core.datmemwe[1] cache.core.datmemwe[0] cache.core.control.cacheable aaaaaaaa aaaaaaaa MISS ON WRITE ACCESS time (ps)

27 27 TEST_CACHE.cpu1.MCLK TEST_CACHE.cache.BA TEST_CACHE.cache.BDI TEST_CACHE.cache.BDO TEST_CACHE.cache.BTRAN TEST_CACHE.cache.BWRITE TEST_CACHE.cpu1.A TEST_CACHE.cpu1.D TEST_CACHE.cpu1.nRW TEST_CACHE.cpu1.nWAIT TEST_CACHE.cpu1.nMREQ TEST_CACHE.cpu1.SEQ cache.core.tagmem.miss cache.core.datmem.add cache.core.datem.din cache.core.datem.dout cache.core.datmemwe[3] cache.core.datmemwe[2] cache.core.datmemwe[1] cache.core.datmemwe[0] cache.core.control.cacheable time (ps) d dc e cc d d bafffffb e59f9054 ee019f11 e e088800a e NON CACHEABLE ACCESSES WITH EXTERNAL 0 WAIT STATES MEMORY d dc e cc d d bafffffb e59f9054 ee019f11 e e088800a e d8 1dc 1e0 1cc 1d0 1d Figure 9. Non-cacheable Accesses with External Zero-wait-states Memory Cache Memory

28 Atmel Headquarters Corporate Headquarters 2325 Orchard Parkway San Jose, CA TEL (408) FAX (408) Europe Atmel SarL Route des Arsenaux 41 Casa Postale 80 CH-1705 Fribourg Switzerland TEL (41) FAX (41) Asia Atmel Asia, Ltd. Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong TEL (852) FAX (852) Japan Atmel Japan K.K. 9F, Tonetsu Shinkawa Bldg Shinkawa Chuo-ku, Tokyo Japan TEL (81) FAX (81) Atmel Operations Atmel Colorado Springs 1150 E. Cheyenne Mtn. Blvd. Colorado Springs, CO TEL (719) FAX (719) Atmel Rousset Zone Industrielle Rousset Cedex France TEL (33) FAX (33) Atmel Smart Card ICs Scottish Enterprise Technology Park East Kilbride, Scotland G75 0QR TEL (44) FAX (44) Atmel Grenoble Avenue de Rochepleine BP Saint-Egreve Cedex France TEL (33) FAX (33) Fax-on-Demand North America: 1-(800) International: 1-(408) Web Site BBS 1-(408) Atmel Corporation Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company s standard warranty which is detailed in Atmel s Terms and Conditions located on the Company s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel s products are not authorized for use as critical components in life support devices or systems. AMBA, ARM, ARM Powered, ARM7TDMI, ARM740T and Thumb are trademarks of ARM Ltd. Terms and product names in this document may be trademarks of others. Printed on recycled paper. /0M

AT94K Series Field Programmable System Level Integrated Circuit. Application Note. FPSLIC Baud Rate Generator

AT94K Series Field Programmable System Level Integrated Circuit. Application Note. FPSLIC Baud Rate Generator FPSLIC Baud Rate Generator Features: Generates any required baud rate High baud rates at low crystal clock frequencies Uses both internal and external clock sources Supports in both single speed and double

More information

TSC695. Application Note. Annulled Cycle Management on the TSC695. References

TSC695. Application Note. Annulled Cycle Management on the TSC695. References Annulled Cycle Management on the TSC695 The aim of this application note is to provide TSC695 users with an overview of the annulled cycle management on the TSC695 processor. The indication of annulled

More information

AT91 ARM Thumb Microcontrollers. Application Note. AT91M55800A Clock Switching Considerations using Advanced Power Management Controller.

AT91 ARM Thumb Microcontrollers. Application Note. AT91M55800A Clock Switching Considerations using Advanced Power Management Controller. AT91M55800A Clock Switching Considerations using Advanced Power Management Controller Introduction The AT91M55800A is designed for ultra low-power applications and features an Advanced Power Management

More information

8-bit RISC Microcontroller. Application Note. AVR 305: Half Duplex Compact Software UART

8-bit RISC Microcontroller. Application Note. AVR 305: Half Duplex Compact Software UART AVR 305: Half Duplex Compact Software UART Features 32 Words of Code, Only Handles Baud Rates of up to 38.4 kbps with a 1 MHz XTAL Runs on Any AVR Device Only Two Port Pins Required Does Not Use Any Timer

More information

hex file. The example described in this application note is written for the AT94K using the FPSLIC Starter Kit. Creating a New Project

hex file. The example described in this application note is written for the AT94K using the FPSLIC Starter Kit. Creating a New Project Getting Started with C for the Family Using the IAR Compiler Features How to Open a New Project Description of Option Settings Linker Command File Examples Writing and Compiling the C Code How to Load

More information

2-wire Serial EEPROM Smart Card Modules AT24C32SC AT24C64SC

2-wire Serial EEPROM Smart Card Modules AT24C32SC AT24C64SC Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) Internally Organized 4096 x 8, 8192 x 8 2-wire Serial Interface Schmitt Trigger, Filtered Inputs

More information

FPGA Configuration EEPROM Memory. Application Note. Programming Atmel s EEPROMs: AT17LV020(A) vs. AT17LV002(A) Introduction.

FPGA Configuration EEPROM Memory. Application Note. Programming Atmel s EEPROMs: AT17LV020(A) vs. AT17LV002(A) Introduction. Programming Atmel s EEPROMs: AT17LV020(A) vs. AT17LV002(A) Introduction This application note provides Atmel s customers with a description of the principal differences in programming the AT17LV020(A)

More information

DatasheetDirect.com. Visit to get your free datasheets. This datasheet has been downloaded by

DatasheetDirect.com. Visit  to get your free datasheets. This datasheet has been downloaded by DatasheetDirect.com Your dedicated source for free downloadable datasheets. Over one million datasheets Optimized search function Rapid quote option Free unlimited downloads Visit www.datasheetdirect.com

More information

UART. Embedded RISC Microcontroller Core Peripheral

UART. Embedded RISC Microcontroller Core Peripheral Features New Enhanced Baud Rate Generator Generates Any Required Baud Rate Maximum 6 Mbps (0.35 µm) High Baud Rates at Low Crystal Clock Frequencies 6-, 7-, 8- or 9-bit Data Noise Filtering and Noise Error

More information

8-bit Microcontroller. Application Note. AVR031: Getting Started with ImageCraft C for AVR

8-bit Microcontroller. Application Note. AVR031: Getting Started with ImageCraft C for AVR AVR031: Getting Started with ImageCraft C for AVR Features How to Open a New Project Description of Option Settings Writing and Compiling the C Code How to Load the Executable File into the STK200 Starter

More information

8051 Microcontrollers. Application Note. Migration from AT89C5131 & AT89C5131A-L to AT89C5131A-M

8051 Microcontrollers. Application Note. Migration from AT89C5131 & AT89C5131A-L to AT89C5131A-M Migration from AT89C5131 & AT89C5131A-L to AT89C5131A-M This application note is a guide to assist current AT89C5131 & AT89C5131A-L users in converting existing designs to the AT89C5131A-M devices. In

More information

AT17 Series FPGA. Configuration Memory. Application Note. In-System Programming Circuits for AT17 Series Configurators with Atmel and Xilinx FPGAs

AT17 Series FPGA. Configuration Memory. Application Note. In-System Programming Circuits for AT17 Series Configurators with Atmel and Xilinx FPGAs In-System Circuits for AT1 Series Configurators with Atmel and Xilinx s Atmel AT1 (1) series configurators use a simple serial-access procedure to configure one or more Field Programmable Gate Arrays (s)

More information

MARC4. Application Note. Hints and Tips for Hard- and Software Developments with MARC4 Microcontrollers

MARC4. Application Note. Hints and Tips for Hard- and Software Developments with MARC4 Microcontrollers Hints and Tips for Hard- and Software Developments with MARC4 Microcontrollers Programming Hints Use of the SLEEP Instruction Oscillator Selection Access to Subport Registers Access to AU Registers Unused

More information

AT89C5131 Starter Kit... Software User Guide

AT89C5131 Starter Kit... Software User Guide AT89C5131 Starter Kit... Software User Guide Table of Contents Section 1 Introduction... 1-1 1.1 Abbreviations...1-1 Section 2 Getting Started... 2-3 2.1 Hardware Requirements...2-3 2.2 Software Requirements...2-3

More information

MP3 Player Reference Design Based on AT89C51SND1 Microcontroller... User Guide

MP3 Player Reference Design Based on AT89C51SND1 Microcontroller... User Guide MP3 Player Reference Design Based on AT89C51SND1 Microcontroller... User Guide AT89C51SND1 Reference Design User Guide -2 Table of Contents Section 1 Introduction...1 1.1 Abbreviations... 1 Section 2 Overview...2

More information

8-bit Microcontroller. Application Note. AVR030: Getting Started with C for AVR

8-bit Microcontroller. Application Note. AVR030: Getting Started with C for AVR AVR030: Getting Started with C for AVR Features HowtoOpenaNewProject Description of Option Settings Linker Command File Examples Writing and Compiling the C Code How to Load the Executable File Into the

More information

1-megabit (64K x 16) 5-volt Only Flash Memory AT49F1024 AT49F1025

1-megabit (64K x 16) 5-volt Only Flash Memory AT49F1024 AT49F1025 Features Single-voltage Operation 5V Read 5V Reprogramming Fast Read Access Time 35 ns Internal Program Control and Timer 8K Word Boot Block with Lockout Fast Erase Cycle Time 10 seconds Word-by-word Programming

More information

Section 1 ATAVRAUTOEK1 Getting Started

Section 1 ATAVRAUTOEK1 Getting Started Section 1 ATAVRAUTOEK1 Getting Started 1.1 Unpacking the system Kit contents: 1 ATAVRAUTO100 V1.0 board 1 ATAVRAUTO102 V1.0 board 1 ATAVRAUTO200 V1.0 board 1 ATAVRAUTO300 V1.0 board 1 ATAVRAUTO900 V1.0

More information

CAN Microcontrollers. Application Note. Migrating from T89C51CC01 to AT89C51CC03. Feature Comparison

CAN Microcontrollers. Application Note. Migrating from T89C51CC01 to AT89C51CC03. Feature Comparison Migrating from T89C51CC01 to AT89C51CC03 This application note is a guide to assist T89C51CC01 users in converting existing designs to the AT89C51CC03 devices. In addition to the functional changes, the

More information

Application Note Microcontrollers. C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers

Application Note Microcontrollers. C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers This application note describes C routines for Keil compiler to perform In-application Programming/Self programming according

More information

AVR32 UC3 Software Framework... User Manual

AVR32 UC3 Software Framework... User Manual ... User Manual Section 1 AVR32 UC3 Software Framework 1.1 Features Drivers for each AVR 32 UC3 peripheral Software libraries optimized for AVR32 Hardware components drivers Demo applications that use

More information

Two-wire Serial EEPROM Smart Card Modules 128K (16,384 x 8) 256 (32,768 x 8) AT24C128SC AT24C256SC. Features. Description VCC NC

Two-wire Serial EEPROM Smart Card Modules 128K (16,384 x 8) 256 (32,768 x 8) AT24C128SC AT24C256SC. Features. Description VCC NC Features Low-voltage and Standard-voltage Operation, V CC = 2.7V to 5.5V Internally Organized 16,384 x 8 and 32,768 x 8 2-wire Serial Interface Schmitt Trigger, Filtered Inputs for Noise Suppression Bi-directional

More information

AT91 ARM Thumb Microcontrollers. Application Note. AT91 Host Flash Loader. 1. Package Contents. 2. Definition of Terms. 3.

AT91 ARM Thumb Microcontrollers. Application Note. AT91 Host Flash Loader. 1. Package Contents. 2. Definition of Terms. 3. AT91 Host Flash Loader This application note describes the host Flash loader used to upload and program an application in the Flash memory of a Flash-based AT91 microcontroller. Flash-based AT91 devices

More information

FPGA Configurator Programming Kit (Enhanced) ATDH2200E. Features. Description

FPGA Configurator Programming Kit (Enhanced) ATDH2200E. Features. Description Features Hardware Supports Programming of all AT7LV and AT7F Series Devices Connection to Allow In-System Programming (ISP) Runs off Portable 9V DC Power Supply.0V Supply Software CPS Configurator Programming

More information

1-megabit (64K x 16) 3-volt Only Flash Memory AT49LV1024 AT49LV1025

1-megabit (64K x 16) 3-volt Only Flash Memory AT49LV1024 AT49LV1025 Features Single-voltage Operation 3V Read 3.1V Programming Fast Read Access Time 55 ns Internal Program Control and Timer 8K Word Boot Block with Lockout Fast Erase Cycle Time 10 seconds Word-by-Word Programming

More information

DIP Top View A18 A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND VCC A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3 VCC A18 A17

DIP Top View A18 A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND VCC A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3 VCC A18 A17 Features Single-voltage Operation 5V Read 5V Reprogramming Fast Read Access Time 55 ns Internal Program Control and Timer 16-Kbyte Boot Block with Lockout Fast Erase Cycle Time 10 seconds Byte-by-byte

More information

P_D_OUT[31:0] SPI_INT SPI_MOSI_OUT SPI_MOSI_OEN

P_D_OUT[31:0] SPI_INT SPI_MOSI_OUT SPI_MOSI_OEN Features Compatible with an Embedded ARM7TDMI Processor 8- to 16-bit Programmable Data Length 4 External Slave Chip Selects Provides Communication with External Devices in Master or Slave Mode Allows Communication

More information

CAN, 80C51, AVR, Microcontroller. Application Note

CAN, 80C51, AVR, Microcontroller. Application Note Migrating from Atmel C51/CAN: T89C51CC01, AT89C51CC03 To Atmel AVR/CAN: AT90CAN128, AT90CAN64, AT90CAN32 Introduction This application note is a guide, on the CAN controller, to help current T89C51CC01,

More information

Secure Microcontrollers for Smart Cards. AT90SC Summary

Secure Microcontrollers for Smart Cards. AT90SC Summary Features High-performance, Low-power 8-bit AVR RISC Architecture 120 Powerful Instructions Most Single Clock Cycle Execution Up to 64K Bytes Flash Program Memory Endurance: 10K Write/Erase Cycles Up to

More information

AT17(A) Series FPGA Configuration Memory. Application Note

AT17(A) Series FPGA Configuration Memory. Application Note Cascaded Programming Circuits using AT1(A) Configurators with Atmel, Xilinx and Altera FPGAs Atmel AT1A (1) series configurators use a simple serial-access procedure to configure one or more Field Programmable

More information

Bluetooth General Information White Paper

Bluetooth General Information White Paper General Information is the registered trademark of Atmel Corporation, 2325 Orchard Parkway, San Jose, CA 95131 Rev. 1993A 11/00 Introduction The wireless technology is the world s new shortrange RF transmission

More information

Migration From AT89C51SND1C to AT83C51SDN1C. Application Note. MP3 Microcontrollers

Migration From AT89C51SND1C to AT83C51SDN1C. Application Note. MP3 Microcontrollers Migration From AT89C51SND1C to AT83C51SDN1C This application note details the differences between AT89C51SND1C and AT83C51SDN1C products, and gives some tips and tricks to the user when migrating from

More information

AT89STK-09 Starter Kit for AT83C26... User Guide

AT89STK-09 Starter Kit for AT83C26... User Guide AT89STK-09 Starter Kit for AT83C26... User Guide Section 1 Introduction... 1-2 1.1 Acronyms...1-2 1.2 Features...1-2 Section 2 Hardware... 2-6 2.1 Power Supply...2-6 2.2 Jumper Configuration...2-6 2.3

More information

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier AVR201: Using the AVR Hardware Multiplier Features 8- and 16-bit Implementations Signed and Unsigned Routines Fractional Signed and Unsigned Multiply Executable Example Programs Introduction The megaavr

More information

Programmable SLI AT40K AT40KAL AT94K. Application Note. Implementing a Single-coefficient Multiplier

Programmable SLI AT40K AT40KAL AT94K. Application Note. Implementing a Single-coefficient Multiplier Implementing a Single-coefficient Multiplier Features Theory of Developing a Single-coefficient Multiplier Implementation using an AT40K Series FPGA for an 8-bit Single-coefficient Multiplier Coefficient

More information

AT89ISP Programmer Cable Introduction AT89ISP Programmer Cable Parallel Port Settings Application Note AT89ISP Software AT89ISP Cable polarized

AT89ISP Programmer Cable Introduction AT89ISP Programmer Cable Parallel Port Settings Application Note AT89ISP Software AT89ISP Cable polarized AT89ISP Programmer Cable 1. Introduction This application note describes the Atmel AT89ISP cable interface. This in-system programmer cable communicates serially with Atmel's AT89S/AT89LP microcontrollers

More information

When is Data Susceptible to Corruption

When is Data Susceptible to Corruption Parallel EEPROM Data Protection Advantages of EEPROMs EEPROMs provide the memory solution wherever reprogrammable, nonvolatile memory is required. They are easy to use, requiring little or no support hardware

More information

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description Features Atmel s System Designer Contains the Following Items: CD-ROM Containing all Necessary Software and Online Documents Atmel s AVR Studio Atmel s Configurator Programming System (CPS) Co-verification,

More information

a Serial Peripheral Interace (SPI). Embedded RISC Microcontroller Core Peripheral

a Serial Peripheral Interace (SPI). Embedded RISC Microcontroller Core Peripheral Features Full-duplex, 3-wire Synchronous Data Transfer Master or Slave Operation Maximum Bit Frequency of f CLOCK /4 (in M-bits/second) LSB First or MSB First Data Transfer Four Programmable Bit Rates

More information

4-megabit (512K x 8) Single 2.7-volt Battery-Voltage Flash Memory AT49BV040 AT49LV040

4-megabit (512K x 8) Single 2.7-volt Battery-Voltage Flash Memory AT49BV040 AT49LV040 Features Single Voltage for Read and Write: 2.7V to 3.6V (BV), 3.0V to 3.6V (LV) Fast Read Access Time 70 ns Internal Program Control and Timer 16K Bytes Boot Block with Lockout Fast Chip Erase Cycle Time

More information

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description Features Atmel s System Designer Contains the Following Items: CD-ROM Containing all Necessary Software and Online Documents Atmel s AVR Studio Atmel s Configurator Programming System (CPS) Co-verification,

More information

AT17F Series. Application Note. Programming Circuits for AT17F Series Configurators with Xilinx FPGAs. 1. Introduction

AT17F Series. Application Note. Programming Circuits for AT17F Series Configurators with Xilinx FPGAs. 1. Introduction Programming Circuits for ATF Series s with Xilinx s. Introduction Atmel s ATF series Flash Configuration Memory devices use a simple serial-access procedure to configure one or more Xilinx Field Programmable

More information

Two-wire Serial EEPROM Smart Card Modules 1K (128 x 8) 2K (256 x 8) 4K (512 x 8) 8K (1024 x 8) 16K (2048 x 8)

Two-wire Serial EEPROM Smart Card Modules 1K (128 x 8) 2K (256 x 8) 4K (512 x 8) 8K (1024 x 8) 16K (2048 x 8) Features Low-voltage and Standard-voltage Operation, VCC = 2.7V 5.5V Internally Organized 128 x 8 (1K), 256 x 8 (2K), 512 x 8 (4K), 1024 x 8 (8K), or 2048 x 8 (16K) Two-wire Serial Interface Schmitt Trigger,

More information

8-bit Microcontroller. Application Note. AVR320: Software SPI Master

8-bit Microcontroller. Application Note. AVR320: Software SPI Master AVR320: Software SPI Master Features Up to 444Kb/S Throughput @ 10 MHz Directly Supports Large Block Writes Easily Expandable for Multiple SPI Slaves Operates in SPI Mode 0 16-bit Data, Easily Modified

More information

Rad Hard FPGA. AT40KEL-DK Design Kit Content. Description. Kit Content. Reference Material. Support

Rad Hard FPGA. AT40KEL-DK Design Kit Content. Description. Kit Content. Reference Material. Support Description The Atmel design kit allows designers to evaluate and prototype applications using the AT40KEL040 rad hard FPGA. Kit Content 2 design kits are available: The 160 with a package specific daughter

More information

Atmel-Synario CPLD/PLD Design Software ATDS1100PC ATDS1120PC ATDS1130PC ATDS1140PC. Features. Description

Atmel-Synario CPLD/PLD Design Software ATDS1100PC ATDS1120PC ATDS1130PC ATDS1140PC. Features. Description Features Comprehensive CPLD/PLD Design Environment User-friendly Microsoft Windows Interface (Win 95, Win 98, Win NT) Powerful Project Navigator Utilizes Intelligent Device Fitters for Automatic Logic

More information

ATAVRAUTO User Guide

ATAVRAUTO User Guide ATAVRAUTO300... User Guide Table of Contents Section 1 Introduction... 1-1 1.1 Overview...1-1 Section 2 Using the ATAVRAUTO300... 2-3 2.1 Overview...2-3 2.2 Power Supply...2-4 2.3 Oscillator Sources...2-4

More information

Preparations. Creating a New Project

Preparations. Creating a New Project AVR030: Getting Started with C for AVR Features How to Open a New Project Description of Option Settings Linker Command File Examples Writing and Compiling the C Code How to Load the Executable File Into

More information

Atmel FPGA Integrated Development System (IDS)

Atmel FPGA Integrated Development System (IDS) Contents Atmel FPGA Integrated Development System (IDS) contains the following items: IDS Installation Guide CD-ROM containing all necessary software and online documents Security block (for Viewlogic

More information

32-bit Embedded Core Peripheral. Advanced Interrupt Controller (AIC)

32-bit Embedded Core Peripheral. Advanced Interrupt Controller (AIC) Features Compatible with an Embedded ARM7TDMI Processor 8-level Priority From 2 to 32 Interrupt Sources Individually Maskable and Vectored Substantially Reduces the Software and Real-time Overhead in Handling

More information

Application Note. Microcontrollers. Using Keil FlashMon Emulator with AT89C51CC01/03 AT89C51CC01/ Summary. 2. Background overview

Application Note. Microcontrollers. Using Keil FlashMon Emulator with AT89C51CC01/03 AT89C51CC01/ Summary. 2. Background overview Using Keil FlashMon Emulator with AT89C51CC01/03 1. Summary Atmel AT89C51CC01/03 are Flash microcontrollers. Keil developed an OnChip Debug for these microntrollers taking advantage of the flash byte programming

More information

SPI Serial EEPROMs AT25010 AT25020 AT SPI, 1K Serial E 2 PROM

SPI Serial EEPROMs AT25010 AT25020 AT SPI, 1K Serial E 2 PROM Features Serial Peripheral Interface (SPI) Compatible Supports SPI Modes (,) and 3 (1,1) Low-voltage and Standard-voltage Operation 5. (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) 3. MHz Clock Rate

More information

80C51 MCUs T89C51AC2. Errata Sheet

80C51 MCUs T89C51AC2. Errata Sheet Active T89C51AC2 Errata List Flash/EEPROM First Read After Write Disturbed Timer 2 Baud Rate Generator IT When TF2 is Set by Software Timer 2 Baud Rate Generator Long Start Time UART RB8 Lost with JBC

More information

Parallel EEPROM Die Products. Die Products. Features. Description. Testing

Parallel EEPROM Die Products. Die Products. Features. Description. Testing Features High Performance CMOS Technology Low Power Dissipation - Active and Standby Hardware and Software Data Protection Features DATA Polling for End of Write Detection High Reliability Endurance: 10

More information

Embedded RISC Microcontroller Core ARM7TDMI

Embedded RISC Microcontroller Core ARM7TDMI Features 32-bit RISC Architecture Two Instruction Sets: ARM High-performance 32-bit Instruction Set Thumb High-code-density 16-bit Instruction Set Very Low Power Consumption: Industry-leader in MIPS/Watt

More information

2-wire Serial EEPROM AT24C512. Preliminary. 2-Wire Serial EEPROM 512K (65,536 x 8) Features. Description. Pin Configurations.

2-wire Serial EEPROM AT24C512. Preliminary. 2-Wire Serial EEPROM 512K (65,536 x 8) Features. Description. Pin Configurations. Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) 1.8 (V CC = 1.8V to 3.6V) Internally Organized 65,536 x 8 2-wire Serial Interface Schmitt Triggers,

More information

Product Description. Application Note. AVR360: XmodemCRC Receive Utility for the AVR. Features. Theory of Operation. Introduction

Product Description. Application Note. AVR360: XmodemCRC Receive Utility for the AVR. Features. Theory of Operation. Introduction AVR360: XmodemCRC Receive Utility for the AVR Features Programmable Baud Rate Half Duplex 128 Byte Data Packets CRC Data Verification Framing Error Detection Overrun Detection Less than 1k Bytes of Code

More information

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16 Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) 2.5 (V CC = 2.5V to 5.5V) 1.8 (V CC = 1.8V to 5.5V) Internally Organized 128 x 8 (1K), 256 x 8 (2K),

More information

OrCAD Support for Atmel PLDs. Application Note. OrCAD Support for Atmel PLDs. Overview

OrCAD Support for Atmel PLDs. Application Note. OrCAD Support for Atmel PLDs. Overview OrCAD Support for Atmel PLDs Atmel Device Support for OrCAD PLD 386+ ATV750/ATV750B Device Family ATV2500/ATV2500B Device Family For ATF1500 Support Please Contact Atmel PLD Applications For 16V8, 20V8,

More information

Interfacing the internal serial EEPROM

Interfacing the internal serial EEPROM Interfacing the internal serial EEPROM Stacked into the AT8xEB5114 8051 Microcontrollers 1. Overview The AT8xEB5114 contains an internal serial EEPROM (AT24C02) connected to the microcontroller via two

More information

Interrupt Controlled UART

Interrupt Controlled UART AVR306 Design Note: Using the AVR UART in C Features Setup and Use the AVR UART Code Examples for Polled and Interrupt Controlled UART Compact Code C-Code Included for AT90S8515 Description This application

More information

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler AVR033: Getting Started with the CodeVisionAVR C Compiler Features Installing and Configuring CodeVisionAVR to Work with the Atmel STK500 Starter Kit and AVR Studio Debugger Creating a New Project Using

More information

Battery-Voltage. 16K (2K x 8) Parallel EEPROMs AT28BV16. Features. Description. Pin Configurations

Battery-Voltage. 16K (2K x 8) Parallel EEPROMs AT28BV16. Features. Description. Pin Configurations Features 2.7 to 3.6V Supply Full Read and Write Operation Low Power Dissipation 8 ma Active Current 50 µa CMOS Standby Current Read Access Time - 250 ns Byte Write - 3 ms Direct Microprocessor Control

More information

1-megabit 2.7-volt Only Serial DataFlash AT45DB011. AT45DB011 Preliminary 16- Megabit 2.7-volt Only Serial DataFlash

1-megabit 2.7-volt Only Serial DataFlash AT45DB011. AT45DB011 Preliminary 16- Megabit 2.7-volt Only Serial DataFlash Features Single 2.7V - 3.6V Supply Serial Interface Architecture Page Program Operation Single Cycle Reprogram (Erase and Program) 512 Pages (264 Bytes/Page) Main Memory Optional Page and Block Erase Operations

More information

3-Wire Serial EEPROM AT93C46C

3-Wire Serial EEPROM AT93C46C Features Low-Voltage and Standard-Voltage Operation 2.7(V CC =2.7Vto5.5V) 2.5(V CC =2.5Vto5.5V) 3-Wire Serial Interface Schmitt Trigger, Filtered Inputs for Noise Suppression 2MHzClockRate(5V) Self-Timed

More information

256 (32K x 8) High-speed Parallel EEPROM AT28HC256N. Features. Description. Pin Configurations

256 (32K x 8) High-speed Parallel EEPROM AT28HC256N. Features. Description. Pin Configurations Features Fast Read Access Time 90 ns Automatic Page Write Operation Internal Address and Data Latches for 64 Bytes Internal Control Timer Fast Write Cycle Times Page Write Cycle Time: 3 ms or 10 ms Maximum

More information

2-wire Serial EEPROMs AT24C128 AT24C256

2-wire Serial EEPROMs AT24C128 AT24C256 Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2. (V CC = 2.V to 5.5V) 2.5 (V CC = 2.5V to 5.5V). (V CC =.V to 3.6V) Internally Organized 6,34 x and 32,6 x 2-wire Serial

More information

8-bit RISC Microcontroller. Application Note. AVR151: Setup And Use of The SPI

8-bit RISC Microcontroller. Application Note. AVR151: Setup And Use of The SPI AVR151: Setup And Use of The SPI Features SPI Pin Functionality Multi Slave Systems SPI Timing SPI Transmission Conflicts Emulating the SPI Code examples for Polled operation Code examples for Interrupt

More information

EPROM. Application Note CMOS EPROM. Interfacing Atmel LV/BV EPROMs on a Mixed 3-Volt/5- Volt Data Bus

EPROM. Application Note CMOS EPROM. Interfacing Atmel LV/BV EPROMs on a Mixed 3-Volt/5- Volt Data Bus Interfacing Atmel LV/BV EPROMs on a Mixed 3-volt/5-volt Data Bus Introduction Interfacing Atmel Corporation s low voltage (LV/BV) EPROMs on a common data bus with standard 5-volt devices can be achieved

More information

1-Megabit (128K x 8) Low Voltage Paged Parallel EEPROMs

1-Megabit (128K x 8) Low Voltage Paged Parallel EEPROMs Features Single 3.3V ± 10% Supply Fast Read Access Time - 200 ns Automatic Page Write Operation Internal Address and Data Latches for 128 Bytes Internal Control Timer Fast Write Cycle Time Page Write Cycle

More information

AT17A Series FPGA Configuration EEPROM Memory. Application Note. FPGAs. AT17A Series Conversions from Altera FPGA Serial Configuration Memories

AT17A Series FPGA Configuration EEPROM Memory. Application Note. FPGAs. AT17A Series Conversions from Altera FPGA Serial Configuration Memories ATA Series Conversions from Altera FPGA Serial Configuration Memories Introduction The Atmel ATA FPGA Configuration EEPROM () is a serial memory that can be used to load SRAM based FPGAs. This application

More information

2-Wire Serial EEPROM AT24C01. Features. Description. Pin Configurations. 1K (128 x 8)

2-Wire Serial EEPROM AT24C01. Features. Description. Pin Configurations. 1K (128 x 8) Features Low Voltage and Standard Voltage Operation 2.7 (V CC = 2.7V to 5.5V) 1.8 (V CC = 1.8V to 5.5V) Internally Organized 128 x 8 2-Wire Serial Interface Bidirectional Data Transfer Protocol 100 khz

More information

32-megabit 2.7-volt Only Serial DataFlash AT45DB321. AT45DB321 Preliminary 16- Megabit 2.7-volt Only Serial DataFlash

32-megabit 2.7-volt Only Serial DataFlash AT45DB321. AT45DB321 Preliminary 16- Megabit 2.7-volt Only Serial DataFlash Features Single 2.7V - 3.6V Supply Serial-interface Architecture Page Program Operation Single Cycle Reprogram (Erase and Program) 8192 Pages (528 Bytes/Page) Main Memory Optional Page and Block Erase

More information

ATAVRAUTO User Guide

ATAVRAUTO User Guide ATAVRAUTO100... User Guide Section 1 Introduction... 1-4 1.1 Overview...1-4 Section 2 Using the ATAVRAUTO100... 2-6 2.1 Overview...2-6 2.2 Power Supply...2-7 2.3 Oscillator Sources...2-7 2.4 On-board ressources...2-8

More information

2-wire Serial EEPROM AT24C512

2-wire Serial EEPROM AT24C512 Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V). (V CC =.V to 5.5V). (V CC =.V to.v) Internally Organized 5,5 x -wire Serial Interface Schmitt Triggers, Filtered Inputs for

More information

design cycle involving simulation, synthesis

design cycle involving simulation, synthesis HDLPlanner : Design Development Environment for HDL-based FPGA Designs Abstract Rapid prototyping of designs using FPGAs requires HDL-based design entry which leverages upon highly parameterized components

More information

Atmel FPGA Integrated Development System (IDS)

Atmel FPGA Integrated Development System (IDS) Contents Atmel FPGA Integrated Development System (IDS) contains the following items: IDS Installation Guide CD-ROM containing all necessary software and online documents Features Support for Industry-standard

More information

FPGA Configuration EEPROM Memory AT17C65A AT17LV65A AT17C128A AT17LV128A AT17C256A AT17LV256A

FPGA Configuration EEPROM Memory AT17C65A AT17LV65A AT17C128A AT17LV128A AT17C256A AT17LV256A Features Serial EEPROM Family for Configuring Altera FLEX Devices In-System Programmable via 2-wire Bus Simple Interface to SRAM FPGAs EE Programmable 64K, 128K and 256K Bits Serial Memories Designed to

More information

1-megabit (64K x 16) 3-volt Only Flash Memory AT49BV1024A AT49LV1024A

1-megabit (64K x 16) 3-volt Only Flash Memory AT49BV1024A AT49LV1024A Features Single-voltage Operation Read/Write Operation: 2.7V to 3.6V (BV). 3.0V to 3.6V(LV) Fast Read Access Time 45 ns Internal Program Control and Timer 8K Word Boot Block with Lockout Fast Erase Cycle

More information

ARM7TDMI - based Microcontroller AT91RM3400. Errata Sheet

ARM7TDMI - based Microcontroller AT91RM3400. Errata Sheet Errata AC Characteristics PLL Frequency Limitation (30) Boot ROM Boot Uploader: SRAM Download Limitation (29) MultiMedia Card Interface Data Endianess is Inverted from MCI to MMC or SD Card (28) Timer/Counter

More information

AVR -based Bridge between Full-speed USB and Fast Serial Asynchronous Interfaces AT76C711

AVR -based Bridge between Full-speed USB and Fast Serial Asynchronous Interfaces AT76C711 Features AVR Microcontroller Clock Generator Provides CPU Rates up to 24 MHz Programmable UART with 16-byte FIFOs at the Receiver Side (1), with a Maximum Rate of 921K Baud Programmable SPI Interface Full-speed

More information

16-megabit 2.7-volt Only Serial DataFlash AT45DB161

16-megabit 2.7-volt Only Serial DataFlash AT45DB161 Features Single 2.7V - 3.6V Supply Serial Interface Architecture Page Program Operation Single Cycle Reprogram (Erase and Program) 4096 Pages (528 Bytes/Page) Main Memory Optional Page and Block Erase

More information

2-wire Serial EEPROM AT24C21. 2-Wire, 1K Serial EEPROM. Features. Description. Not Recommended for New Designs. Pin Configurations.

2-wire Serial EEPROM AT24C21. 2-Wire, 1K Serial EEPROM. Features. Description. Not Recommended for New Designs. Pin Configurations. Features 2-wire Serial Interface Schmitt Trigger, Filtered Inputs For Noise Suppression DDC1 / DDC2 Interface Compliant for Monitor Identification Low-voltage Operation 2.5 (V CC = 2.5V to 5.5V) Internally

More information

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler AVR033: Getting Started with the CodeVisionAVR C Compiler Features Installing and Configuring CodeVisionAVR to Work with the Atmel STK500 Starter Kit and AVR Studio Debugger Creating a New Project Using

More information

AT40K FPGA IP Core AT40K-FFT. Features. Description

AT40K FPGA IP Core AT40K-FFT. Features. Description Features Decimation in frequency radix-2 FFT algorithm. 256-point transform. -bit fixed point arithmetic. Fixed scaling to avoid numeric overflow. Requires no external memory, i.e. uses on chip RAM and

More information

2-wire Serial EEPROMs AT24C128 AT24C256. Features. Description. Pin Configurations. 128K (16,384 x 8) 256K (32,768 x 8)

2-wire Serial EEPROMs AT24C128 AT24C256. Features. Description. Pin Configurations. 128K (16,384 x 8) 256K (32,768 x 8) Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V). (V CC =.V to 3.6V) Internally Organized 6,34 x and 32,76 x 2-wire Serial Interface Schmitt Trigger,

More information

CryptoRF EEPROM Memory 8 Kbits

CryptoRF EEPROM Memory 8 Kbits Features One of a Family of Devices with User Memory of 1 Kbit to 64 Kbits Contactless 13.56 MHz RF Communications Interface ISO/IEC 14443-2:2001 Type B Compliant ISO/IEC 14443-3:2001 Type B Compliant

More information

ATICE10... User Guide

ATICE10... User Guide ATICE10... User Guide Table of Contents Section 1 Introduction... 1-1 1.1 General Description...1-1 1.2 External Connections...1-2 1.3 Power System...1-2 1.4 Reset System...1-2 1.5 Trace Buffer...1-3

More information

4-megabit (512K x 8) Single 2.7-volt Battery-Voltage Flash Memory AT49BV040 AT49BV040T AT49LV040 AT49LV040T

4-megabit (512K x 8) Single 2.7-volt Battery-Voltage Flash Memory AT49BV040 AT49BV040T AT49LV040 AT49LV040T Features Single Voltage for Read and Write: 2.7V to 3.6V (BV), 3.0V to 3.6V (LV) Fast Read Access Time 70 ns Internal Program Control and Timer 16K Bytes Boot Block with Lockout Fast Chip Erase Cycle Time

More information

256K (32K x 8) 3-volt Only Flash Memory

256K (32K x 8) 3-volt Only Flash Memory Features Single Supply Voltage, Range 3V to 3.6V 3-Volt Only Read and Write Operation Software Protected Programming Low Power Dissipation 15 ma Active Current 40 µa CMOS Standby Current Fast Read Access

More information

64K (8K x 8) Parallel EEPROM with Page Write and Software Data Protection AT28C64B. Features. Description. Pin Configurations

64K (8K x 8) Parallel EEPROM with Page Write and Software Data Protection AT28C64B. Features. Description. Pin Configurations Features Fast Read Access Time 150 ns Automatic Page Write Operation Internal Address and Data Latches for 64 Bytes Fast Write Cycle Times Page Write Cycle Time: 10 ms Maximum (Standard) 2 ms Maximum (Option)

More information

AT89C51CC03 UART Bootloader

AT89C51CC03 UART Bootloader Features Protocol UART Used as Physical Layer Based on the Intel Hex-type s Autobaud In-System Programming Read/Write Flash and EEPROM Memories Read Device ID Full-chip Erase Read/Write Configuration Bytes

More information

SAM Boot Assistant (SAM-BA)... User Guide

SAM Boot Assistant (SAM-BA)... User Guide SAM Boot Assistant (SAM-BA)... User Guide SAM Boot Assistant (SAM-BA) User Guide Table of Contents Section 1 Overview... 1-1 1.1 Overview...1-1 1.2 SAM-BA Features...1-1 Section 2 Installing SAM-BA 2.x...

More information

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16 Features Low-voltage and Standard-voltage Operation 2.7(V CC =2.7Vto5.5V) 1.8(V CC =1.8Vto5.5V) Internally Organized 128 x 8 (1K), 256 x 8 (2K), 512 x 8 (4K), 1024 x 8 (8K) or 2048 x 8 (16K) 2-wire Serial

More information

3-wire Serial EEPROMs AT93C46 AT93C56 AT93C57 AT93C66

3-wire Serial EEPROMs AT93C46 AT93C56 AT93C57 AT93C66 Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) 2.5 (V CC = 2.5V to 5.5V) 1.8 (V CC = 1.8V to 5.5V) User-selectable Internal Organization 1K: 128

More information

a clock signal and a bi-directional data signal (SCL, SDA)

a clock signal and a bi-directional data signal (SCL, SDA) Selecting the Best Serial EEPROM Interface Protocol for your Application 1. Introduction Atmel offers Serial Electrically Erasable Programmable Read Only Memories (SEEPROM) to designers wanting to save

More information

Battery-Voltage. 256K (32K x 8) Parallel EEPROMs AT28BV256. Features. Description. Pin Configurations

Battery-Voltage. 256K (32K x 8) Parallel EEPROMs AT28BV256. Features. Description. Pin Configurations Features Single 2.7V - 3.6V Supply Fast Read Access Time - 200 ns Automatic Page Write Operation Internal Address and Data Latches for 64 Bytes Internal Control Timer Fast Write Cycle Times Page Write

More information

Two-Wire Serial EEPROM AT24C164 (1)

Two-Wire Serial EEPROM AT24C164 (1) Features Low Voltage and Standard Voltage Operation 2.7 (V CC = 2.7V to 5.5V) 1.8 (V CC = 1.8V to 5.5V) Internally Organized 2048 x 8 (16K) Two-Wire Serial Interface Schmitt Trigger, Filtered Inputs for

More information

Trusted Platform Module AT97SC3203S. SMBus Two-Wire Interface. Summary

Trusted Platform Module AT97SC3203S. SMBus Two-Wire Interface. Summary Features Full Trusted Computing Group (TCG) Trusted Platform Module (TPM) Version 1. Compatibility Single-chip Turnkey Solution Hardware Asymmetric Crypto Engine 048-bit RSA Sign in 500 ms AVR RISC Microprocessor

More information

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation. : Real-Time Clock (RTC) using the Asynchronous Timer Features Real-Time Clock with Very Low Power Consumption (4µA @ 3.3V) Very Low Cost Solution Adjustable Prescaler to Adjust Precision Counts Time, Date,

More information