The following revision history lists the anomaly list revisions and major changes for each anomaly list revision.

Size: px
Start display at page:

Download "The following revision history lists the anomaly list revisions and major changes for each anomaly list revision."

Transcription

1 a SHARC Processor ADSP-21483/21486/21487/21488/21489 ABOUT ADSP-21483/21486/21487/21488/21489 SILICON ANOMALIES These anomalies represent the currently known differences between revisions of the SHARC ADSP-21483/21486/21487/21488/21489 product(s) and the functionality specified in the ADSP-21483/21486/21487/21488/21489 data sheet(s) and the Hardware Reference book(s). SILICON REVISIONS A silicon revision number with the form "-." is branded on all parts (see the data sheet for information on reading part branding). The silicon revision can also be electronically read by reading the REVPID register either via JTAG or DSP code. The following DSP code can be used to read the register: UREG = dm(revpid); Silicon REVISION REVPID[7:4] 0.2 b# * b#0000 * - See anomaly ANOMALY LIST REVISION HISTORY The following revision history lists the anomaly list revisions and major changes for each anomaly list revision. Date Anomaly List Revision Data Sheet Revision Additions and Changes 01/30/2012 G 0 Added anomaly /20/2011 F 0 Modified anomaly , Added anomaly /26/2010 E PrA Added anomaly /20/2010 D PrA Modified anomaly /30/2010 C PrA Added anomaly , Included information about 0.2 silicon 03/17/2010 B PrA Title of the document is updated to reflect correct part numbers 02/24/2010 A PrA Initial release SHARC and the SHARC logo are registered trademarks of Analog Devices, Inc. NR004008G Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. Specifications subject to change without notice. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. Trademarks and registered trademarks are the property of their respective owners. One Technology Way, P.O.Bo 9106, Norwood, MA U.S.A. Tel: Fa: Analog Devices, Inc. All rights reserved.

2 ADSP-21483/21486/21487/21488/21489 SUMMARY OF SILICON ANOMALIES The following table provides a summary of ADSP-21483/21486/21487/21488/21489 anomalies and the applicable silicon revision(s) for each anomaly. No. ID Description Incorrect Popping of stacks possible when eiting IRQ/Timer Interrupts with DB modifier IOP Register access immediately following an Eternal Memory access may not work Effect latency of some System Registers may be 2 cycles instead of 1 for Eternal data accesses Writes to LCNTR, CURLCNTR and LADDR from Internal Memory may fail if there is a DMA block conflict Incorrect value when the results of Enhanced Modify/BITREV Instruction are used in the very net Instruction Latency with eternal FLAG-based Conditional instructions involving DAG register post-modify operation Special PLL Initialization Sequence required if MediaLB interface is used in DMA-driven transfer mode When PM accesses are used, some Instructions may get corrupted under specific conditions Incorrect Silicon revision number in REVPID register SPORT DMA may not work as epected, when SPORTs from the same DMA group access both the eternal memory and internal memory for data and/or TCB and other peripheral DMAs (including SPORT DMAs in other groups) are also enabled in parallel PLL Programming may not take effect under specific conditions After an emulator halt at the instruction before idle' instruction, the Core Timer stops decrementing even after code eecution restarts A three column data access over DM bus immediately following an indirect delayed branch (db) may not work as epected in VISA mode Key: = anomaly eists in revision. = Not applicable NR004008G Page 2 of 18 January 2012

3 ADSP-21483/21486/21487/21488/21489 DETAILED LIST OF SILICON ANOMALIES The following list details all known silicon anomalies for the ADSP-21483/21486/21487/21488/21489 including a description, workaround, and identification of applicable silicon revisions Incorrect Popping of stacks possible when eiting IRQ/Timer Interrupts with DB modifier: If a delayed branch modifier (DB) is used to return from the interrupt service routines of any of IRQ (hardware) or timer interrupts, the automatic popping of ASTAT/ASTATy/MODE1 registers from the status stack may not work correctly. The specific instructions affected by this anomaly are "RTI(DB);" and "JUMP(CI)(DB);". This anomaly affects only IRQ and Timer Interrupts as these are the only interrupts that cause the sequencer to push an entry onto the status stack. This anomaly applies to both internal and eternal memory eecution. Do not use (DB) modifiers in instructions eiting IRQ or Timer ISRs. Instructions in the delay slot should be moved to a location prior to the branch. Note: This workaround may be built into the development tool chain and/or into the operating system source code. For tool chains and Operating Systems supported by ADI, such as VisualDSP++ and VDK please consult the "Silicon Anomaly Tools Support" help page in the applicable documentation and release notes for details IOP Register access immediately following an Eternal Memory access may not work: If an instruction making an access to an IOP register immediately follows another instruction that performs an access to eternal memory, the IOP register access may not occur correctly. Separate the two instructions by inserting another instruction in between them, such as a NOP. NR004008G Page 3 of 18 January 2012

4 ADSP-21483/21486/21487/21488/ Effect latency of some System Registers may be 2 cycles instead of 1 for Eternal data accesses: The following registers that have an effect latency of 1 (the maimum number of instructions it takes for a write to these registers to take effect) will instead have an effect latency of 2 if any of their bits impact an instruction containing an eternal data access: MODE1, MODE2, MMASK, SYSCTL, BRKCTL, ASTAT, ASTATy, STKY, and STKYy. For eample, consider the following sequence of instructions: bit set MODE1 BR8; //Sufficient if not immediately followed by eternal memory access instruction //Etra NOP needed if following instruction accesses eternal memory pm(i8,m12)=f9; //i8 is pointing to an address in eternal memory Registers other than the ones listed above are not affected by this anomaly. Note that the anomaly is independent of whether the instruction itself resides in internal or eternal memory. Rather, the anomaly is encountered if there are eternal memory data accesses within the two instructions immediately following the register modification. If any of the above registers with an effect latency of 1 is modified, it is recommended that no accesses involving eternal memory (over either PM or DM bus) are performed in the two instructions immediately following the register modification. It is recommended to insert two NOPs after such register modifications Writes to LCNTR, CURLCNTR and LADDR from Internal Memory may fail if there is a DMA block conflict: Writes to LCNTR, CURLCNTR and LADDR from internal memory (either as a DM access or as a PM access) may fail when a DMA transfer to/ from the same block occurs in the same cycle. For eample, consider the following instruction: CURLCNTR = dm(i0,m0); Now consider any DMA access involving the same memory block as pointed to by address (i0+m0). If the DMA and the above write align in such a way that DMA transfer happens in the same cycle as the above instruction, then the above write will fail. Also note that the anomaly also occurs if (i0+m0) points to a memory-mapped I/O register. 1) Change the DMA to source/target a different internal memory block thereby avoiding any DMA block conflict. 2) Instead of loading these registers directly from memory, they can be loaded indirectly as a 2-step process as shown below: r0 = dm(i0,m0); CURLCNTR = r0; NR004008G Page 4 of 18 January 2012

5 ADSP-21483/21486/21487/21488/ Incorrect value when the results of Enhanced Modify/BITREV Instruction are used in the very net Instruction: In the following specific sequence of instructions, the memory or the register load in INSTR3 will not contain the correct updated value of the DAG register Ia from INSTR2, but rather its value from INSTR1: INSTR1: Ia = <immediate load register load memory load>; INSTR2: Ia = MODIFY BITREV (Ib, Mc); INSTR3: <memory load register load> = Ia; Note that this anomaly is only applicable in the case where Ia and Ib are unique and different. The user must avoid the above eact sequence of instructions which might produce an incorrect result. Note: This workaround may be built into the development tool chain and/or into the operating system source code. For tool chains and Operating Systems supported by ADI, such as VisualDSP++ and VDK please consult the "Silicon Anomaly Tools Support" help page in the applicable documentation and release notes for details Latency with eternal FLAG-based Conditional instructions involving DAG register postmodify operation: Eternal FLAG-based Conditional instructions involving DAG register post-modify operation must not be followed immediately by an instruction that uses the same inde register. For eample, in the following instruction sequence shown below: INSTR1: IF COND dm(ia,mb); //any instruction that involves post-modify operation INSTR2: dm(ia,mc); //any instruction that depends on updated Ia value The value of the DAG inde register in INSTR2 will either be Ia or (Ia+Mb) depending on whether INSTR1 was aborted or eecuted. In the unique case where COND is an eternal FLAG condition (for eample, say FLAG2_IN) which is set asynchronously by an eternal source or event, the necessary internal stalls which would result in the DAG inde register getting the correct value do not take effect, and consequently the value of the DAG inde register in INSTR2 may not contain the correct and epected value. Separate the instructions in the above sequence by at least two NOPs. NR004008G Page 5 of 18 January 2012

6 ADSP-21483/21486/21487/21488/ Special PLL Initialization Sequence required if MediaLB interface is used in DMA-driven transfer mode: The MediaLB interface's DMA clock may lose synchronization with the processor's internal clock if the procesor's PLL is placed in bypass mode as part of the initial initialization sequence. Use the following instruction sequence while initializing the PLL if using MediaLB interface in DMA-driven transfer mode: 1. Disable clock to the MediaLB interface. ustat4 = dm(pmctl1); bit set ustat4 MLBOFF; R2=dm(MLB_VCCR); // any "dummy" read of an IOP register outside of the core to force // clock synchronization between core and peripheral clock domains dm(pmctl1) = ustat4; 2. Place PLL in bypass mode. 3. Proceed with programming PLL parameters as per default guidelines. Provide sufficient delay in order for the changes to take effect, again as per default guidelines. 4. Bring PLL out of bypass mode and re-enable the clock to the MediaLB interface: bit clr ustat1 PLLBP; ustat4 = dm(pmctl1); bit clr ustat4 MLBOFF; dm(pmctl1) = ustat4; Ensure that the above instruction sequence is eecuted from within internal memory, is not interrupted, and that there is no background DMA activity. Note that the above procedure does not need to be followed if the MediaLB interface is not used in a system, or if the MediaLB interface is epected to operate only with core-driven data transfers. NR004008G Page 6 of 18 January 2012

7 ADSP-21483/21486/21487/21488/ When PM accesses are used, some Instructions may get corrupted under specific conditions: When specific PM accesses are used, either the PM instruction or some Instructions which follow this instruction may get corrupted. The problem is seen when the PM accesses has any of the below conditions: 1. Conflicts with another core/dma access to the same memory block 2. Accesses any of the memory mapped(iop) registers 3. Accesses the eternal memory space CASE 1 (applicable for both VISA and NON-VISA mode): The single instruction loop which has the PM access instruction described above as part of the instruction in the loop, may not work as epected. The PM instruction in the loop while being fetched from the cache may get corrupted. This is applicable for both counter based and non-counter based loops. For counter based loops the corruption occurs only if the count value is greater than four. Eample1: lcntr=, do (pc,1) until lce; // > 4 dm(i0,m0)=r10, pm(i12,m10)=r10; //PM access meets one of the conditions described Eample2: lcntr=, do (pc,1) until lce; // > 4 R10 = pm(i12,m10); //PM access meets one of the conditions described Eample3: do (pc,1) until forever; R10 = pm(i12,m10); //PM access meets one of the conditions described CASE 2 (applicable only for VISA mode): A code sequence which includes two successive PM instructions and the second PM access instruction is compressed and meets one of the conditions described above, may not work as epected. The instruction(s) following the second PM access (while getting fetched from the cache) may get corrupted. The particular instruction(s) which get corrupted is dependent on the size of the instructions following the above sequence and their alignment in the Instruction Alignment Buffer (IAB). This anomaly is not applicable for the pm sequence which is formed by the first and last instruction of a hardware loop containing pm accesses. Eample1: pm(i12,m10)= <imm_data>; //PM access 1, <imm_data> - can be 16-bit/32-bit immediate value compressed or uncompressed dm(i0,m0)=r10, pm(i12,m10)=r10; //PM access 2 compressed, meets one of the conditions described Instruction(s) following this sequence may get corrupted. Eample2: pm(i12,m10)= <imm_data>; //PM access 1, <imm_data> - can be 16-bit/32-bit immediate value R10 = pm(i12,m10); //PM access 2, meets one of the conditions described Instruction(s) following this sequence may get corrupted. Note that this anomaly is seen especially at low operating temperatures, but it is not limited to any particular operating temperature range. Applicable for CASE 1: NR004008G Page 7 of 18 January 2012

8 ADSP-21483/21486/21487/21488/ Avoid memory block conflict stalls for these scenarios by moving either the core/dma access or the PM access to different memory block. 2. Avoid single instruction loops having program memory access by unrolling the loop. This can be done by one of the following ways: a. Replicating the instruction and correspondingly reducing the loop count b. Adding another instruction or NOP instruction to the loop c. Breaking the instruction which contains pm access into two separate instructions. 3. Disable the cache for the problematic PM accesses. BIT SET MODE2 CADIS; lcntr=, do (pc,1) until lce; // > 4 dm(i0,m0)=r10, pm(i12,m10)=r10; // PM access meets one of the conditions described BIT CLR MODE2 CADIS; Note that disabling the cache may affect the performance of the hardware loop. The PM instruction in the loop will always stall and the loop will take double the time than the cache enabled case. Applicable only for CASE 2: 1. Avoid memory block conflict stalls for these scenarios by moving either the core/dma access or the PM access to different memory block. 2. Add a "nop" or a non-pm access instruction between the two problematic PM accesses. 3. All sequences of PM accesses with length more than 1 should remain uncompressed from second instruction onwards. This can be done by using the assembler directive ".NOCOMPRESS". pm(i12,m10)= <imm_data>; //PM access 1, <imm_data> - can be 16-bit/32-bit //immediate value.nocompress; //Disable compression dm(i0,m0)=r10, pm(i12,m10)=r10; //PM access 2, meets one of the condition described.compress; //Enable compression 4. Replace the pm access with the dm access. 5. Disable the cache for the problematic PM accesses. BIT SET MODE2 CADIS; pm(i12,m10)= <imm_data>; //PM access 1, <imm_data> - can be 16-bit/32-bit //immediate value dm(i0,m0)=r10, pm(i12,m10)=r10; //PM access 2, DM access points to the same //memory block resulting in a block conflict BIT CLR MODE2 CADIS; Note: Some of these workarounds may be built into the development tool chain and/or into the operating system source code. For tool chains and Operating Systems supported by ADI, such as VisualDSP++ and VDK please consult the "Silicon Anomaly Tools Support" help page in the applicable documentation and release notes for details. 0.1 NR004008G Page 8 of 18 January 2012

9 ADSP-21483/21486/21487/21488/ Incorrect Silicon revision number in REVPID register: The REVPID register bits 4-7 do not contain the correct silicon revision information. None SPORT DMA may not work as epected, when SPORTs from the same DMA group access both the eternal memory and internal memory for data and/or TCB and other peripheral DMAs (including SPORT DMAs in other groups) are also enabled in parallel: The SPORT DMA channels for the SHARC processors are arranged in 4 groups as follows: a. Group 1 : DMA channels for the SPORTs 0 and 1 (SP0A,SP0B, SP1A and SP1B) b. Group 2 : DMA channels for the SPORTs 2 and 3 (SP2A,SP2B, SP3A and SP3B) c. Group 3 : DMA channels for the SPORTs 4 and 5 (SP4A,SP4B, SP5A and SP5B) d. Group 4 : DMA channels for the SPORTs 6 and 7 (SP6A,SP6B, SP7A and SP7B) The SPORT DMA may not work as epected, when the SPORTs from the same group are enabled in DMA mode with read/write transactions to both internal and eternal memory and another DMA also enabled in parallel. This problem is applicable for both the normal DMA mode and DMA chaining mode of SPORT DMAs. When the problem occurs, the data read from the memory may not be correct for the SPORT transmit DMA. For the chaining DMA operations, additionally the TCB may also not be loaded correctly. For the receive DMA case, the data written to the memory will be correct but the latency between two successive writes will increase. 1. For normal DMA mode, place all the SPORT DMA buffers belong to the same group either in internal memory or in eternal memory,but not on both. 2. For DMA chaining mode, place both the SPORT TCBs and SPORT DMA buffers belong to the same group, either in internal memory or in the eternal memory, but not on both. NR004008G Page 9 of 18 January 2012

10 ADSP-21483/21486/21487/21488/ PLL Programming may not take effect under specific conditions: The PLL programming in software may not work as epected under specific conditions of temperature, frequency, and operating voltage. This can be because of one or both of the following issues: 1. The PLL may not get programmed to the new multiplier (PLLM) value in software. The reason for the failure is that the new PLL multiplier value configured using the PLLM bits is not updated correctly and the PLL continues to use the previous multiplier value only. The symptom of this issue will be that the PLL will continue to work at the old frequency (regardless of the new value programmed). This issue is however not seen for the cases where any portion of the PLL divider circuitry alone is re-programmed (such as for eample INDIV, PLLD, LPCKR, or SDCKR/DDR2CKR ratios). 2. The PLL may fail to enter the bypass mode because of either of the following two possible reasons: a. If setting of the PLLBP bit coincides with certain specific alignment of internal clocks (not visible eternally). Since the offending internal alignment is not visible eternally, though a code may not show this failure, it is still recommended to use the workaround mentioned below. It should also be noted that though adding/ removing few instructions (e.g. "nop" instructions) before the instruction which sets the PLLBP bit may either avoid or cause the failure, it shouldn't be used as a workaround. b. If the CCLK: SDCLK/DDR2CLK (SDCKR/DDR2CKR) ratio is programmed to 4:1 and it coincides with a specific alignment of internal clocks(not visible eternally), some internal clocks may lose mutual synchronization. This synchronization is necessary for the PLL to enter into the bypass mode. Thus, if this change is followed by a code which sets the PLLBP bit, the PLL may fail to enter into the bypass mode. Like in the issue (a), in this issue as well, though adding/removing few instructions before (e.g. "nop" instructions) the instruction which performs the SDCKR/DDR2CKR ratio change may avoid or cause the failure, it shouldn't be used as a workaround. This issue is not applicable for cases where the PLLD, and (or) the LPCKR(ADSP-2146 only) clock ratios are alone reprogrammed, or if the SDCKR/DDR2CKR ratio is programmed to ratios other than 4:1, without any modifications to the PLLM and the INDIV bits. The following are some of the symptoms of this issue: i. The synchronization between SDCLK/DDR2CLK and peripheral clock (PCLK)may be lost as a result of which the core might hang when trying to perform core eternal port accesses (AMI/SD/DDR2DRAM). ii. Some of the peripherals (e.g. SPORT, UART etc.) may run at an unepected frequency after the PLL programming. iii. Entering into the bypass mode is important for the PLLM/INDIV change to take effect. Thus, another symptom of this issue is that the new PLLM and (or)indiv values may not take effect. But if the failed bypass entry is followed by a SDCKR/DDR2CKR or PLLD change to a new value, the new PLLM and (or) INDIV may erroneously take effect. However, it should be noted that this phenomenon is not guaranteed and should not be used as a workaround.to understand this better, let us consider a scenario where at a particular point,clkin=25 MHz, PLLM = 8, SDCKR=4, INDIV=0, and PLLD=2, which gives fcclk=200mhz. Let us assume a case where it is only required to reprogram the PLL to a new PLLM value (say 16) to get CCLK speed of 400 MHz.While in another case, in addition to the PLLM change to 16, it is also required to change the SDCKR ratio to 2.5 to get SDCLK speed of 160 MHz. Assume that the following code is used for both the cases where the SDCKR change step is not applicable for the first case. //Set the new value of PLLM (16) and set the PLLBP bit to enter the bypass mode bit clr ustat1 PLLM63; bit set ustat1 PLLM16 PLLBP; lcntr=4096, do delay1 until lce; delay1: //Clear the PLLBP bit to come out of the bypass mode bit clr ustat1 PLLBP; lcntr=16, do delay2 until lce; delay2: //Change the SDCKR ratio from 4 to only applicable for the second case bit clr ustat1 SDCKR3_5 SDCKR4; NR004008G Page 10 of 18 January 2012

11 ADSP-21483/21486/21487/21488/21489 bit set ustat1 SDCKR2_5 DIVEN; In this scenario, if the PLL fails to enter into the bypass mode because of any of the above two mentioned issues, the new PLLM value (16) will not take effect and the CCLK may still continue to run at 200 MHz even after the PLLBP bit is cleared. For the first case, the CCLK will always remain at 200 MHz as there was no SDCKR/PLLD change. However, for the second case, the CCLK will be 200 MHz before performing the SDCKR change to 2.5. But, after the SDCKR change, the new value of PLLM (16) may erroneously take effect and the CCLK speed may change to the epected value i.e. 400 MHz and consequently the SDCLK may also be changed to the epected value (160 MHz). CASE 1 - issue 1 and 2(a) To take care of the issues 1 and 2 (a), the following sequence should be used to re-program the PLL in software when PLLM and (or) INDIV change is required: 1. 1st write to the PMCTL register- If SDCKR/DDR2CKR change is also needed and the final/required values of both PLLD and SDCKR are 4: Set the PLLD to 8, set the DIVEN bit, and do not change the PLLM value. Else: Set the PLLD to 4, set the DIVEN bit, and do not change the PLLM value. 2. Wait for at least 16 CCLK cycles. 3. 2nd write to the PMCTL register- clear the DIVEN bit, set the INDIV bit, and set the PLLBP bit. PLL goes into the bypass mode the first time. 4. Wait for at least 4096 CCLK cycles. 5. 3rd write to the PMCTL register- clear the PLLBP bit. PLL comes out of the bypass mode. 6. Wait for at least 16 CCLK cycles. 7. 4th write to the PMCTL register- set the new PLLM and INDIV values, clear the DIVEN bit, set the PLLBP bit. PLL goes into the bypass mode the second time. 8. Wait for at least 4096 CCLK cycles. 9. 5th write to the PMCTL register- clear the PLLBP bit. PLL comes out of the bypass mode. 10. Wait for at least 16 CCLK cycles th write to the PMCTL register-set the new PLLD, SDCKR/DDR2CKR, and LPCKR (only for 2146) values, and set the DIVEN bit. 12. Wait for at least 16 CCLK cycles. The following important points should be noticed regarding the PLL programming sequence mentioned above: 1. The step 1 takes care of the issue 2 (a) by changing the PLLD to 4 or 8 which avoids the occurrence of the offending internal clock alignment condition while setting the PLLBP bit. 2. The steps 3 to 6 take care of the issue 1 by setting INDIV and bringing down the VCO frequency below fvcoma/2 (please refer to the corresponding data sheet for the fvco epression and the fvcoma specification). This implies that: a. These steps are not needed if the VCO is already running at a speed less than fvcoma/2. b. There is no workaround for the case where the PLL has to be re-programmed to a new PLLM value, the VCO is running above fvcoma/ 2, and the INDIV bit is already set. Since the reset value of the INDIV bit is zero, this restriction applies only to a case where the PLL has to be reprogrammed more than once in software.in such a case, for all the PLL programming attempts other than the last one, the VCO speed should always be less than fvcoma/2 if the INDIV bit is set. If the VCO speed more than or equal to fvcoma/2 is required, use INDIV =0 with half of the PLLM value than the one which would have been used with INDIV=1(it may however result in loss of fcclk precision). NR004008G Page 11 of 18 January 2012

12 ADSP-21483/21486/21487/21488/ The steps 7 to 10 is the normal PLL programming sequence to program the new PLLM and (or) INDIV values. 4. The steps 11 and 12 are required only if the required value of PLLD is different from the one programmed in step 1 and (or) if SDCKR/ DDR2CKR and(or) LPCKR (2146 only) change is required. Eample assembly code sequence: #include <def21489.h> // for ADSP-2148 processors // #define PLLD4_SDCKR4 //Uncomment this line if the final/required values //of PLLD=4 and SDCKR/DDR2CKR=4 //Step 1 #ifdef PLLD4_SDCKR4 //If the final/required values of PLLD=4 and SDCKR/DDR2CKR=4 bit clr USTAT1 PLLD16 ; bit set USTAT1 PLLD8 DIVEN ; #else //If!(the final/ required values of PLLD=4 and SDCKR/DDR2CKR=4) bit clr USTAT1 PLLD16 ; bit set USTAT1 PLLD4 DIVEN ; #endif //Step 2 lcntr=16, do first_div_delay until lce; first_div_delay: //Step 3 bit clr ustat1 DIVEN; bit set ustat1 INDIV PLLBP; //Step 4 lcntr=4096, do first_bypass_delay until lce; first_bypass_delay: //Step 5 bit clr ustat1 PLLBP; //Step 6 lcntr=16, do second_div_delay until lce; second_div_delay: //Step 7 bit clr ustat1 INDIV PLLM63; //Set the new values of PLLM and INDIV here: PLLM18, INDIV=0 in this eample bit set ustat1 PLLM18 PLLBP; //Step 8 lcntr=4096, do second_bypass_delay until lce; second_bypass_delay: //Step 9 bit clr ustat1 PLLBP; NR004008G Page 12 of 18 January 2012

13 ADSP-21483/21486/21487/21488/21489 //Step 10 lcntr=16, do third_div_delay until lce; third_div_delay: //Step 11 //01C0000 is mask for the SDCKR bit field bit clr ustat1 PLLD16 01C0000; //Set the new values of PLLD and SDCKR here: bit set ustat1 SDCKR2 PLLD2 DIVEN; //Step 12 lcntr=16, do fourth_div_delay until lce; fourth_div_delay: Eample C Code sequence: #include <def21489.h> // for ADSP-2148 processors #include <cdef21489.h> // #define PLLD4_SDCKR4 //Uncomment this line if the final/required values of //PLLD=4 and SDCKR/DDR2CKR=4 int temp,i; //Step 1 #ifdef PLLD4_SDCKR4 //If the final/required values of PLLD=4 and SDCKR/DDR2CKR=4 temp=*ppmctl; temp&=~plld16 ; temp =(PLLD8 DIVEN) ; *ppmctl = temp; #else //If!( the final/required values of PLLD=4 and SDCKR/DDR2CKR=4) temp=*ppmctl; temp&=~plld16 ; temp =(PLLD4 DIVEN) ; *ppmctl = temp; #endif //Step 2 for(i=0;i<16;i++); //Step 3 temp&=~diven; temp =(INDIV PLLBP); *ppmctl = temp; //Step 4 for(i=0;i<4096;i++); //Step 5 temp=*ppmctl; temp&=~pllbp; *ppmctl = temp; //Step 6 for(i=0;i<16;i++); //Step 7 temp = *ppmctl; temp&=~ (INDIV PLLM63); //Set the new values of PLLM and INDIV here: //PLLM18, INDIV=0 in this eample temp = (PLLM18 PLLBP); *ppmctl = temp; NR004008G Page 13 of 18 January 2012

14 ADSP-21483/21486/21487/21488/21489 //Step 8 for(i=0;i<4096;i++); //Step 9 temp = *ppmctl; temp&=~pllbp; *ppmctl=temp; //Step 10 for(i=0;i<16;i++); //Step 11 temp=*ppmctl; //01C0000 is mask for the SDCKR bit field temp&=~(plld16 01C0000 ); //Set the new values of PLLD and SDCKR here: temp = (SDCKR2 PLLD2 DIVEN); *ppmctl=temp; //Step 12 for(i=0;i<16;i++); CASE 2- issue 2(b) To take care of the issue 2(b), the following sequence should be followed if SDCKR/DDR2CKR ratio change to 4 alone is required without changing PLLM and INDIV values, and another PLLM and (or) INDIV change is required afterwards: 1. 1st write to the PMCTL register- set the PLLD to a value different than the original one and set the DIVEN bit. 2. Wait for at least 16 CCLK cycles. 3. 2nd write to the PMCTL register- set the PLLD to the original value back, set the SDCKR/DDR2CKR to 4, and set the DIVEN bit. 4. Wait for at least 16 CCLK cycles. Eample assembly code sequence: #include <def21489.h> // for ADSP-2148 processors //Step 1 bit clr USTAT1 PLLD16 ; //Eample: set PLLD8 if the original value is PLLD4 bit set USTAT1 PLLD8 DIVEN ; //Step 2 lcntr=16, do div_delay1 until lce; div_delay1: //Step 3 //01C0000 is mask for the SDCKR bitfield bit clr USTAT1 PLLD16 01C0000 ; //Eample: set the original value (PLLD4) back and set SDCKR4 bit set USTAT1 PLLD4 DIVEN SDCKR4 ; //Step 4 lcntr=16, do div_delay2 until lce; div_delay2: Eample C code sequence: #include <def21489.h> // for ADSP-2148 processors #include <cdef21489.h> NR004008G Page 14 of 18 January 2012

15 ADSP-21483/21486/21487/21488/21489 int temp, i; //Step 1 temp=*ppmctl; temp&=~plld16 ; //Eample: set PLLD8 if the original value is PLLD4 temp =(PLLD8 DIVEN) ; *ppmctl = temp; //Step 2 for(i=0;i<16;i++); //Step 3 temp=*ppmctl; //01C0000 is mask for the SDCKR bitfield temp&=~(plld16 01C0000 ); //Eample: set the original value (PLLD4) back and set SDCKR4 temp = (SDCKR4 PLLD4 DIVEN); *ppmctl=temp; //Step 4 for(i=0;i<16;i++); Note: The following points are applicable for all the above mentioned workaround codes: 1. Applicable only for ADSP-2147: It is possible that while eecuting some of the steps of the workaround code, the VCO speed may go below its minimum specified value in the datasheet. This is allowed only during the eecution of the workaround code as long as the VCO speed is not less than 150MHz. However, after the eecution of the complete workaround, the VCO speed should adhere to the limits specified in the datasheet. 2. Both assembly and C workaround codes can be used in the VISA/NON VISA mode. 3. Both assembly and C workaround codes can be used with/without interrupts enabled. 4. Optimization should be disabled for the C workaround codes. Various compiler pragmas can be used to selectively turn off the optimization during the workaround codes. E.g. the code below turns off the compiler optimization before the workaround code and turns it on (back to command line optimization settings) again afterward. #pragma optimize_off Put the workaround code here. #pragma optimize_as_cmd_line NR004008G Page 15 of 18 January 2012

16 ADSP-21483/21486/21487/21488/ After an emulator halt at the instruction before idle' instruction, the Core Timer stops decrementing even after code eecution restarts: When the processor is halted at a breakpoint in an emulator session, the core timer correctly stops decrementing and restarts when code eecution is resumed. However, if the emulator breakpoint is placed at an instruction just before an idle instruction, the core timer remains halted even after the code eecution is resumed. In the eample code below, the core timer remains halted after code eecution is resumed following the core halt at Instruction1. The same behavior is seen if Instruction1 is eecuted by single stepping'. Enable_Core_timer: Bit set MODE1 TIMEN; Instruction1; Idle; Instruction2; Instruction3; // Placing breakpoint here causes the anomaly Note: This issue impacts only Emulator session debug. None NR004008G Page 16 of 18 January 2012

17 ADSP-21483/21486/21487/21488/ A three column data access over DM bus immediately following an indirect delayed branch (db) may not work as epected in VISA mode: A three column data access (e.g. 40 bit etended precision access or a 48 bit PX registers access) over DM bus may not work as epected if all the following conditions are met: 1. The code is running in VISA mode. 2. The access immediately follows an indirect delayed branch instruction (e.g. call (db) or jump (db)). The anomaly is applicable for both read and write as well as for both direct and indirect accesses. This is however not applicable for IOP and eternal memory data accesses. Following are few eample scenarios in which the anomaly may occur: Scenario 1: 40 bit data access using RF registers - The following code may show the failure if the corresponding IMDW bit is set to enable 40 bit data access: jump(m8,i8) (db); //Indirect delayed branch instruction r0=dm(i1,m1); //This 40 bit read access may fail Scenario 2: 48 bit data access using PX register - The following code may show the failure irrespective of whether the corresponding IMDW bit is set or not: call(m8,i8) (db); //Indirect delayed branch instruction dm(i1,m1)=p; //This 48 bit write access may fail Scenario 3: 40 bit data access using "rframe" instruction - The "rframe" instruction (performed as "i7=i6, i6=dm(0,i6)") may fail as well if the corresponding IMDW bit in the SYSCTL register is set. It is noticeable that the "rframe" instruction is generated by the compiler for C codes. It is not used for assembly codes generally. jump(m8,i8) (db); //Indirect delayed branch instruction rframe; //The 40 bit read access "i6=dm(0,i6)" may fail The occurrence of the failure depends upon the relationship between target address of the indirect branch (e.g. i8+m8 in the above eamples) and the address of the three column data access. 1. Do not perform such data access immediately after the indirect delayed branch instruction. If possible, move the access to the second slot of the delayed branch. For eample, putting the "rframe" instruction in the second slot of the delayed branch in the above code(scenario 3) will avoid the failure: jump(m8,i8) (db); //Indirect delayed branch instruction rframe; //The 40 bit read access "i6=dm(0,i6)" moved to second slot 2. Use direct branch instead of indirect branch. 3. Use normal indirect branch instead of delayed indirect branch. This may however result in additional branch latency. Also, this workaround may not be helpful if the delayed branch was being used to be able to eecute the two instructions in the (db) slot atomically. 4. Use PM bus instead of DM bus for such data accesses. This may however cost additional core clock cycle because of the PM bus conflict with the instruction fetch. E.g. replacing the DM access by PM access (i1 replaced by i9) in the above code (scenario 1) will avoid the failure: jump(m8,i8) (db); r0=pm(i9,m9); //DM replaced by PM, i1(dag1) replaced by i9(dag2) for PM access 5. Use NON-VISA mode for such data accesses. Note: Some of these workarounds may be built into the development tool chain and/or into the operating system source code. For tool chains and Operating Systems supported by ADI, such as VisualDSP++ and VDK please consult the "Silicon Anomaly Tools Support" help page in the applicable documentation and release notes for details. NR004008G Page 17 of 18 January 2012

18 ADSP-21483/21486/21487/21488/ Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. a w w w. a n a l o g. c o m NR004008G Page 18 of 18 January 2012

The following revision history lists the anomaly list revisions and major changes for each anomaly list revision.

The following revision history lists the anomaly list revisions and major changes for each anomaly list revision. a SHARC Processor ABOUT SILICON ANOMALIES These anomalies represent the currently known differences between revisions of the SHARC product(s) and the functionality specified in the data sheet(s) and the

More information

The following revision history lists the anomaly list revisions and major changes for each anomaly list revision.

The following revision history lists the anomaly list revisions and major changes for each anomaly list revision. a SHARC Processor ADSP-21366 ABOUT ADSP-21366 SILICON ANOMALIES These anomalies represent the currently known differences between revisions of the SHARC ADSP-21366 product(s) and the functionality specified

More information

The following revision history lists the anomaly list revisions and major changes for each anomaly list revision.

The following revision history lists the anomaly list revisions and major changes for each anomaly list revision. a SHARC Processor ABOUT SILICON ANOMALIES These anomalies represent the currently known differences between revisions of the SHARC product(s) and the functionality specified in the data sheet(s) and the

More information

The following revision history lists the anomaly list revisions and major changes for each anomaly list revision.

The following revision history lists the anomaly list revisions and major changes for each anomaly list revision. a SHARC Processor ADSP-21368 ABOUT ADSP-21368 SILICON ANOMALIES These anomalies represent the currently known differences between revisions of the SHARC ADSP-21368 product(s) and the functionality specified

More information

a Engineer-To-Engineer Note

a Engineer-To-Engineer Note a Engineer-To-Engineer Note EE-136 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, WEB: www.analog.com/dsp Using the Programmable I/O FLAGS and IOFLAG register

More information

3 PROGRAM SEQUENCER. Overview. Figure 3-0. Table 3-0. Listing 3-0.

3 PROGRAM SEQUENCER. Overview. Figure 3-0. Table 3-0. Listing 3-0. 3 PROGRAM SEQUENCER Figure 3-0. Table 3-0. Listing 3-0. Overview The DSP s program sequencer implements program flow which constantly provides the address of the next instruction to be executed by other

More information

A. This Errata sheet represents the known bugs, anomalies and work-arounds for the ADuC812 MicroConverter.

A. This Errata sheet represents the known bugs, anomalies and work-arounds for the ADuC812 MicroConverter. a MicroConverter, Multi-Channel 12-bit ADC with Embedded FLASH MCU ADuC812 A. This Errata sheet represents the known bugs, anomalies and work-arounds for the ADuC812 MicroConverter. B. The Errata listed,

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-134 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, WEB: www.analog.com/dsp Copyright 2001, Analog Devices, Inc. All rights

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-322 Technical notes on using Analog Devices DSPs, processors and development tools Visit our Web resources http://www.analog.com/ee-notes and http://www.analog.com/processors

More information

4 DATA ADDRESS GENERATORS

4 DATA ADDRESS GENERATORS 4 DATA ADDRESS GENERATORS Figure 4-0. Table 4-0. Listing 4-0. Overview The DSP s Data Address Generators (DAGs) generate addresses for data moves to and from Data Memory (DM) and Program Memory (PM). By

More information

a Engineer To Engineer Note

a Engineer To Engineer Note a Engineer To Engineer Note EE-160 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, WEB: www.analog.com/dsp Examining ADSP-21160 Link Port Backward Compatibility

More information

Blackfin Embedded Processor

Blackfin Embedded Processor a Blackfin Embedded Processor ABOUT SILICON ANOMALIES These anomalies represent the currently known differences between revisions of the Blackfin product(s) and the functionality specified in the data

More information

4 DEBUGGING. In This Chapter. Figure 2-0. Table 2-0. Listing 2-0.

4 DEBUGGING. In This Chapter. Figure 2-0. Table 2-0. Listing 2-0. 4 DEBUGGING Figure 2-0. Table 2-0. Listing 2-0. In This Chapter This chapter contains the following topics: Debug Sessions on page 4-2 Code Behavior Analysis Tools on page 4-8 DSP Program Execution Operations

More information

EE-123. An Overview of the ADSP-219x Pipeline Last modified 10/13/00

EE-123. An Overview of the ADSP-219x Pipeline Last modified 10/13/00 a Engineer To Engineer Note EE-123 Technical Notes on using Analog Devices DSP components and development tools Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com,

More information

Instruction Set Reference

Instruction Set Reference .1 OVERVIEW This appendix and the next one describe the DSP-2106x instruction set in detail. This appendix explains each instruction type, including the assembly language syntax and the opcode that the

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-299 Technical notes on using Analog Devices DSPs, processors and development tools Visit our Web resources http://www.analog.com/ee-notes and http://www.analog.com/processors

More information

WS_CCESSH-OUT-v1.00.doc Page 1 of 8

WS_CCESSH-OUT-v1.00.doc Page 1 of 8 Course Name: Course Code: Course Description: System Development with CrossCore Embedded Studio (CCES) and the ADI SHARC Processor WS_CCESSH This is a practical and interactive course that is designed

More information

DSP Platforms Lab (AD-SHARC) Session 05

DSP Platforms Lab (AD-SHARC) Session 05 University of Miami - Frost School of Music DSP Platforms Lab (AD-SHARC) Session 05 Description This session will be dedicated to give an introduction to the hardware architecture and assembly programming

More information

Engineer-To-Engineer's Note

Engineer-To-Engineer's Note Engineer-To-Engineer's Note EE-77 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, WEB: www.analog.com/dsp Copyright 1999, Analog Devices, Inc. All rights

More information

MC68331 DEVICE INFORMATION (Issue 6-17 August, 1995) Rev. A and B Silicon E95B, E93N and F43E Mask Set

MC68331 DEVICE INFORMATION (Issue 6-17 August, 1995) Rev. A and B Silicon E95B, E93N and F43E Mask Set MC68331 DEVICE INFORMATION (Issue 6-17 August, 1995) Rev. A and B Silicon E95B, E93N and F43E Mask Set The following information and errata pertain to Revision A and B samples of the 68331 microcontroller.

More information

5 MEMORY. Overview. Figure 5-0. Table 5-0. Listing 5-0.

5 MEMORY. Overview. Figure 5-0. Table 5-0. Listing 5-0. 5 MEMORY Figure 5-0. Table 5-0. Listing 5-0. Overview The ADSP-2191 contains a large internal memory and provides access to external memory through the DSP s external port. This chapter describes the internal

More information

Advanced CUSTOMER ERRATA AND INFORMATION SHEET Page 1 MCU Part: V Mask Set: 00F98R Division Report Generated: Aug 27, 96 17:37

Advanced CUSTOMER ERRATA AND INFORMATION SHEET Page 1 MCU Part: V Mask Set: 00F98R Division Report Generated: Aug 27, 96 17:37 Advanced CUSTOMER ERRATA AND INFORMATION SHEET Page 1 ========================================= 68332.V 00F98R Modules ========================================= Current Module Revision =========================================

More information

1 INTRODUCTION. Purpose. Audience. Figure 1-0. Table 1-0. Listing 1-0.

1 INTRODUCTION. Purpose. Audience. Figure 1-0. Table 1-0. Listing 1-0. 1 INTRODUCTION Figure 1-0. Table 1-0. Listing 1-0. Purpose The ADSP-21160 SHARC DSP Instruction Set Reference provides assembly syntax information for the ADSP-21160 Super Harvard Architecture (SHARC)

More information

Introduction ADSP-2100 FAMILY OF PROCESSORS

Introduction ADSP-2100 FAMILY OF PROCESSORS Introduction 1 1.1 OVERVIEW This book presents a compilation of routines for a variety of common digital signal processing applications based on the ADSP-2100 DSP microprocessor family. These routines

More information

3 INSTRUCTION FLOW. Overview. Figure 3-0. Table 3-0. Listing 3-0.

3 INSTRUCTION FLOW. Overview. Figure 3-0. Table 3-0. Listing 3-0. 3 INSTRUCTION FLOW Figure 3-0. Table 3-0. Listing 3-0. Overview The TigerSHARC is a pipelined RISC-like machine, where ructions are read from memory o the ruction alignment buffer in quad words. Instruction

More information

,1752'8&7,21. Figure 1-0. Table 1-0. Listing 1-0.

,1752'8&7,21. Figure 1-0. Table 1-0. Listing 1-0. ,1752'8&7,21 Figure 1-0. Table 1-0. Listing 1-0. The ADSP-21065L SHARC is a high-performance, 32-bit digital signal processor for communications, digital audio, and industrial instrumentation applications.

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note a EE-219 Technical notes on using Analog Devices DSPs, processors and development tools Contact our technical support at dsp.support@analog.com and at dsptools.support@analog.com

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note EE-189 a Technical Notes on using nalog Devices' DSP components and development tools Contact our technical support by phone: (800) NLOG-D or e-mail: dsp.support@analog.com Or

More information

Procesory Sygnałowe w aplikacjach przemysłowych

Procesory Sygnałowe w aplikacjach przemysłowych Procesory Sygnałowe w aplikacjach przemysłowych Tryb SIMD, przerwania, konfiguracja nóżek układu IET Katedra Elektroniki Kraków 2015 dr inż. Roman Rumian Alternate (Secondary) DAG Registers To facilitate

More information

ADSP EZ-KIT Lite Evaluation System Manual. Part Number: Revision 3.0 January 2003

ADSP EZ-KIT Lite Evaluation System Manual. Part Number: Revision 3.0 January 2003 ADSP-21061 EZ-KIT Lite Evaluation System Manual Part Number: 82-000570-01 Revision 3.0 January 2003 a Notice Analog Devices, Inc. reserves the right to make changes to or to discontinue any product or

More information

ADSP-2100A DSP microprocessor with off-chip Harvard architecture. ADSP-2101 DSP microcomputer with on-chip program and data memory

ADSP-2100A DSP microprocessor with off-chip Harvard architecture. ADSP-2101 DSP microcomputer with on-chip program and data memory Introduction. OVERVIEW This book is the second volume of digital signal processing applications based on the ADSP-00 DSP microprocessor family. It contains a compilation of routines for a variety of common

More information

Release Notes for VisualDSP

Release Notes for VisualDSP Release Notes for VisualDSP++ 5.1.0 VisualDSP++ 5.1.0 Release Notes Revision 1.0 September 2013 Nomenclature VisualDSP++ is upgraded from 5.0 to 5.1.0 to reflect support for Windows 8, along with other

More information

Errata to MSC1211, Datasheet Literature Number SBAS323

Errata to MSC1211, Datasheet Literature Number SBAS323 Errata to MSC1211, Datasheet Literature Number SBAS323 Revision Identification The device revision can be determined by the lot trace code marked on the top of the package or by the hardware version register

More information

Computer Architecture 5.1. Computer Architecture. 5.2 Vector Address: Interrupt sources (IS) such as I/O, Timer 5.3. Computer Architecture

Computer Architecture 5.1. Computer Architecture. 5.2 Vector Address: Interrupt sources (IS) such as I/O, Timer 5.3. Computer Architecture License: http://creativecommons.org/licenses/by-nc-nd/3./ Hardware interrupt: 5. If in an eternal device (for eample I/O interface) a predefined event occurs this device issues an interrupt request to

More information

Outline: System Development and Programming with the ADSP-TS101 (TigerSHARC)

Outline: System Development and Programming with the ADSP-TS101 (TigerSHARC) Course Name: Course Number: Course Description: Goals/Objectives: Pre-requisites: Target Audience: Target Duration: System Development and Programming with the ADSP-TS101 (TigerSHARC) This is a practical

More information

INPUT-OUTPUT ORGANIZATION

INPUT-OUTPUT ORGANIZATION 1 INPUT-OUTPUT ORGANIZATION Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes of Transfer Priority Interrupt Direct Memory Access Input-Output Processor Serial Communication 2

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note a EE-227 Technical notes on using Analog Devices DSPs, processors and development tools Contact our technical support at dsp.support@analog.com and at dsptools.support@analog.com

More information

GLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1

GLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1 B GLOSSARY Application Programming Interface (API) A library of C/C++ functions and assembly macros that define VDK services. These services are essential for kernel-based application programs. The services

More information

Fractional Divider Evaluation Board AD9858FDPCB

Fractional Divider Evaluation Board AD9858FDPCB Fractional Divider Evaluation Board AD9858FDPCB INTRODUCTION The AD9858 is a 1 GHz direct digital synthesizer (DDS) featuring a 10-bit DAC, an RF mixer, and on-chip PLL synthesis blocks. Used in conjunction,

More information

Section 6 Blackfin ADSP-BF533 Memory

Section 6 Blackfin ADSP-BF533 Memory Section 6 Blackfin ADSP-BF533 Memory 6-1 a ADSP-BF533 Block Diagram Core Timer 64 L1 Instruction Memory Performance Monitor JTAG/ Debug Core Processor LD0 32 LD1 32 L1 Data Memory SD32 DMA Mastered 32

More information

ADSP-21065L EZ-KIT Lite Evaluation System Manual

ADSP-21065L EZ-KIT Lite Evaluation System Manual ADSP-21065L EZ-KIT Lite Evaluation System Manual Part Number: 82-000490-01 Revision 2.0 January 2003 Notice Analog Devices, Inc. reserves the right to make changes to or to discontinue any product or service

More information

Interrupt/Timer/DMA 1

Interrupt/Timer/DMA 1 Interrupt/Timer/DMA 1 Exception An exception is any condition that needs to halt normal execution of the instructions Examples - Reset - HWI - SWI 2 Interrupt Hardware interrupt Software interrupt Trap

More information

Section 16 System Design

Section 16 System Design Section 16 System Design 16-1 a Operating Modes 16-2 a Operating Modes User mode Causes exceptions when protected resources are accessed. May be used for algorithm/application code Supervisor mode has

More information

Digital IP Cell 8-bit Microcontroller PE80

Digital IP Cell 8-bit Microcontroller PE80 1. Description The is a Z80 compliant processor soft-macro - IP block that can be implemented in digital or mixed signal ASIC designs. The Z80 and its derivatives and clones make up one of the most commonly

More information

ADSP SHARC DSP Hardware Reference. Second Edition, July Part Number Revision 2.0

ADSP SHARC DSP Hardware Reference. Second Edition, July Part Number Revision 2.0 ADSP-21161 SHARC DSP Hardware Reference Second Edition, July 2001 Analog Devices, Inc. Digital Signal Processor Division One Technology Way Norwood, Mass. 02062-9106 Part Number 82-001944-01 Revision 2.0

More information

a Engineer To Engineer Note

a Engineer To Engineer Note a Engineer To Engineer Note EE-116 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dspsupport@analogcom, FTP: ftpanalogcom, WEB: wwwanalogcom/dsp SHARC SHORT WORD DMA ADSP-21065L SHARC User s Manual

More information

2 MARKS Q&A 1 KNREDDY UNIT-I

2 MARKS Q&A 1 KNREDDY UNIT-I 2 MARKS Q&A 1 KNREDDY UNIT-I 1. What is bus; list the different types of buses with its function. A group of lines that serves as a connecting path for several devices is called a bus; TYPES: ADDRESS BUS,

More information

ADSP-218x Family EZ-ICE Hardware Installation Guide

ADSP-218x Family EZ-ICE Hardware Installation Guide ADSP-218x Family EZ-ICE Hardware Installation Guide 2000 Analog Devices, Inc. ADSP-218x Family EZ-ICE Hardware Installation Guide a Notice Analog Devices, Inc. reserves the right to make changes to or

More information

Engineer To Engineer Note

Engineer To Engineer Note Engineer To Engineer Note a EE-205 Technical Notes on using Analog Devices' DSP components and development tools Contact our technical support by phone: (800) ANALOG-D or e-mail: dsp.support@analog.com

More information

ADSP EZ-ICE Emulator User s Guide (For Use with VisualDSP++ Release 2.0 or Higher)

ADSP EZ-ICE Emulator User s Guide (For Use with VisualDSP++ Release 2.0 or Higher) User s Guide (For Use with VisualDSP++ Release 2.0 or Higher) First Edition, Revision 1.0, October 2002 Part Number 82-000259-01 Analog Devices, Inc. Digital Signal Processing Division One Technology Way

More information

Intel386 TM DX MICROPROCESSOR SPECIFICATION UPDATE

Intel386 TM DX MICROPROCESSOR SPECIFICATION UPDATE Intel386 TM DX MICROPROCESSOR SPECIFICATION UPDATE Release Date: July, 1996 Order Number 272874-001 The Intel386 TM DX Microprocessor may contain design defects or errors known as errata. Characterized

More information

Design UART Loopback with Interrupts

Design UART Loopback with Interrupts Once the E is displayed, will the 0 reappear if you return the DIP switch to its OFF position and re-establish the loopback path? Usually not. When you break the loopback path, it will most likely truncate

More information

The World Leader in High Performance Signal Processing Solutions. DSP Processors

The World Leader in High Performance Signal Processing Solutions. DSP Processors The World Leader in High Performance Signal Processing Solutions DSP Processors NDA required until November 11, 2008 Analog Devices Processors Broad Choice of DSPs Blackfin Media Enabled, 16/32- bit fixed

More information

Changing the Embedded World TM. Module 3: Getting Started Debugging

Changing the Embedded World TM. Module 3: Getting Started Debugging Changing the Embedded World TM Module 3: Getting Started Debugging Module Objectives: Section 1: Introduce Debugging Techniques Section 2: PSoC In-Circuit Emulator (ICE) Section 3: Hands on Debugging a

More information

Procesory Sygnałowe w aplikacjach przemysłowych

Procesory Sygnałowe w aplikacjach przemysłowych Procesory Sygnałowe w aplikacjach przemysłowych Adresowanie i obliczenia IET Katedra Elektroniki Kraków 2015 dr inż. Roman Rumian Register and Register Ops in DAG1 SPECIAL CIRCBUFFER STUFF SPECIAL FFT

More information

Digital Signal Processor Core Technology

Digital Signal Processor Core Technology The World Leader in High Performance Signal Processing Solutions Digital Signal Processor Core Technology Abhijit Giri Satya Simha November 4th 2009 Outline Introduction to SHARC DSP ADSP21469 ADSP2146x

More information

Product Update. Errata to Z8 Encore! 8K Series Silicon. Z8 Encore! 8K Series Silicon with Date Codes 0402 and Later

Product Update. Errata to Z8 Encore! 8K Series Silicon. Z8 Encore! 8K Series Silicon with Date Codes 0402 and Later Product Update Errata to Z8 Encore! 8K Series Silicon Z8 Encore! 8K Series Silicon with Date Codes 0402 and Later The errata listed in Table 1 are found in the Z8 Encore! 8K Series devices with date codes

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-391 Technical notes on using Analog Devices products and development tools Visit our Web resources http://www.analog.com/ee-notes and http://www.analog.com/processors or e-mail

More information

ADSP SHARC DSP Instruction Set Reference

ADSP SHARC DSP Instruction Set Reference ADSP-21160 SHARC DSP Instruction Set Reference Revision 2.0, November 2003 Part Number 82-001967-01 Analog Devices, Inc. One Technology Way Norwood, Mass. 02062-9106 a Copyright Information 2003 Analog

More information

Engineer To Engineer Note. Interfacing the ADSP-BF535 Blackfin Processor to Single-CHIP CIF Digital Camera "OV6630" over the External Memory Bus

Engineer To Engineer Note. Interfacing the ADSP-BF535 Blackfin Processor to Single-CHIP CIF Digital Camera OV6630 over the External Memory Bus Engineer To Engineer Note EE-181 a Technical Notes on using Analog Devices' DSP components and development tools Contact our technical support by phone: (800) ANALOG-D or e-mail: dsp.support@analog.com

More information

Microcontroller Not just a case of you say tomarto and I say tomayto

Microcontroller Not just a case of you say tomarto and I say tomayto Microprocessor or Microcontroller Not just a case of you say tomarto and I say tomayto M. Smith, ECE University of Calgary, Canada Information taken from Analog Devices On-line Manuals with permission

More information

a Engineer To Engineer Note EE-143

a Engineer To Engineer Note EE-143 a Engineer To Engineer Note EE-143 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, B: www.analog.com/dsp Understanding DMA on the ADSP-TS101 Last modified:

More information

SHARC Embedded Processor ADSP-21261

SHARC Embedded Processor ADSP-21261 a SUMMARY High performance 32-bit/40-bit floating-point processor Code compatibility at assembly level, uses the same instruction set as other SHARC DSPs Single-instruction multiple-data (SIMD) computational

More information

Programming Model 12.1 OVERVIEW 12 1

Programming Model 12.1 OVERVIEW 12 1 Programming Model 12 12.1 OVERVIEW From a programming standpoint, the ADSP-21xx processors consist of three computational units, two data address generators, and a program sequencer, plus on-chip peripherals

More information

This section discusses resources available from Analog Devices to help you develop applications using ADSP Family digital signal processors.

This section discusses resources available from Analog Devices to help you develop applications using ADSP Family digital signal processors. Introduction This applications handbook is intended to help you get a quick start in developing DSP applications with ADSP-2000 Family digital signal processors. This chapter includes a summary of available

More information

ERRATA SHEET INTEGRATED CIRCUITS. Date: 2008 June 2 Document Release: Version 1.6 Device Affected: LPC2468. NXP Semiconductors

ERRATA SHEET INTEGRATED CIRCUITS. Date: 2008 June 2 Document Release: Version 1.6 Device Affected: LPC2468. NXP Semiconductors INTEGRATED CIRCUITS ERRATA SHEET Date: 2008 June 2 Document Release: Version 1.6 Device Affected: LPC2468 This errata sheet describes both the known functional problems and any deviations from the electrical

More information

HCS12 BDM Getting Started V4.3

HCS12 BDM Getting Started V4.3 HCS12 BDM Getting Started V4.3 Background The term BDM stands for Background Debug Mode. It is used for the system development and FLASH programming. A BDM firmware is implemented on the CPU silicon providing

More information

5 MEMORY. Figure 5-0. Table 5-0. Listing 5-0.

5 MEMORY. Figure 5-0. Table 5-0. Listing 5-0. 5 MEMORY Figure 5-0 Table 5-0 Listing 5-0 The processor s dual-ported SRAM provides 544K bits of on-chip storage for program instructions and data The processor s internal bus architecture provides a total

More information

Intel386 DX PROCESSOR SPECIFICATION UPDATE

Intel386 DX PROCESSOR SPECIFICATION UPDATE Intel386 DX PROCESSOR SPECIFICATION UPDATE Release Date: August, 2004 Order Number: 272874-003 The Intel386 DX processor may contain design defects or errors known as errata. Characterized errata that

More information

2 ABOUT VISUALDSP++ In This Chapter. Figure 2-0. Table 2-0. Listing 2-0.

2 ABOUT VISUALDSP++ In This Chapter. Figure 2-0. Table 2-0. Listing 2-0. 2 ABOUT VISUALDSP++ Figure 2-0. Table 2-0. Listing 2-0. In This Chapter This chapter contains the following topics: What Is VisualDSP++? on page 2-2 VisualDSP++ Features on page 2-2 Program Development

More information

Blackfin Optimizations for Performance and Power Consumption

Blackfin Optimizations for Performance and Power Consumption The World Leader in High Performance Signal Processing Solutions Blackfin Optimizations for Performance and Power Consumption Presented by: Merril Weiner Senior DSP Engineer About This Module This module

More information

Programming in the MAXQ environment

Programming in the MAXQ environment AVAILABLE The in-circuit debugging and program-loading features of the MAXQ2000 microcontroller combine with IAR s Embedded Workbench development environment to provide C or assembly-level application

More information

Chapter 12. CPU Structure and Function. Yonsei University

Chapter 12. CPU Structure and Function. Yonsei University Chapter 12 CPU Structure and Function Contents Processor organization Register organization Instruction cycle Instruction pipelining The Pentium processor The PowerPC processor 12-2 CPU Structures Processor

More information

AN-1435 APPLICATION NOTE

AN-1435 APPLICATION NOTE APPLICATION NOTE One Technology Way P.O. Box 9106 Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 Fax: 781.461.3113 www.analog.com Implementing UART Using the ADuCM3027/ADuCM3029 Serial Ports INTRODUCTION

More information

OBSOLETE. ADSP-2100 Family DSP Microcomputers. This data sheet describes the following ADSP-2100 Family processors: ADSP-2105

OBSOLETE. ADSP-2100 Family DSP Microcomputers. This data sheet describes the following ADSP-2100 Family processors: ADSP-2105 a SUMMARY 16-Bit Fixed-Point DSP Microprocessors with On-Chip Memory Enhanced Harvard Architecture for Three-Bus Performance: Instruction Bus & Dual Data Buses Independent Computation Units: ALU, Multiplier/

More information

ADSP-2100 Family DSP Microcomputers ADSP-21xx

ADSP-2100 Family DSP Microcomputers ADSP-21xx a SUMMARY 16-Bit Fixed-Point DSP Microprocessors with On-Chip Memory Enhanced Harvard Architecture for Three-Bus Performance: Instruction Bus & Dual Data Buses Independent Computation Units: ALU, Multiplier/

More information

Design document: Handling exceptions and interrupts

Design document: Handling exceptions and interrupts Design document: Handling exceptions and interrupts his document describes what happens on pipeline in case of an exception or interrupt or a combination of these. Definitions an interrupt An external/internal

More information

SHARC Embedded Processor ADSP-21262

SHARC Embedded Processor ADSP-21262 a SUMMARY High performance 32-bit/40-bit floating-point processor Code compatibility at assembly level, uses the same instruction set as other SHARC DSPs Single-instruction multiple-data (SIMD) computational

More information

ERRATA SHEET INTEGRATED CIRCUITS. Date: July 7, 2008 Document Release: Version 1.8 Device Affected: LPC2148

ERRATA SHEET INTEGRATED CIRCUITS. Date: July 7, 2008 Document Release: Version 1.8 Device Affected: LPC2148 INTEGRATED CIRCUITS ERRATA SHEET Date: July 7, 2008 Document Release: Version 1.8 Device Affected: LPC2148 This errata sheet describes both the functional problems and any deviations from the electrical

More information

Section 7 Program Sequencer

Section 7 Program Sequencer Section 7 Program Sequencer 7-1 a ADSP-BF533 Block Diagram Core Timer 64 L1 Instruction Memory Performance Monitor JTAG/ Debug Core Processor LD0 32 LD1 32 L1 Data Memory SD32 DMA Mastered 32 bus Core

More information

UMBC. contain new IP while 4th and 5th bytes contain CS. CALL BX and CALL [BX] versions also exist. contain displacement added to IP.

UMBC. contain new IP while 4th and 5th bytes contain CS. CALL BX and CALL [BX] versions also exist. contain displacement added to IP. Procedures: CALL: Pushes the address of the instruction following the CALL instruction onto the stack. RET: Pops the address. SUM PROC NEAR USES BX CX DX ADD AX, BX ADD AX, CX MOV AX, DX RET SUM ENDP NEAR

More information

1 INTRODUCTION. Purpose. Audience. Figure 1-0. Table 1-0. Listing 1-0.

1 INTRODUCTION. Purpose. Audience. Figure 1-0. Table 1-0. Listing 1-0. 1 INTRODUCTION Figure 1-0. Table 1-0. Listing 1-0. Purpose The ADSP-219x DSP Instruction Set Reference provides assembly syntax information for the ADSP-219x Digital Signal Processor (DSP). The syntax

More information

INPUT/OUTPUT ORGANIZATION

INPUT/OUTPUT ORGANIZATION INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and

More information

AN4777 Application note

AN4777 Application note Application note Implications of memory interface configurations on low-power STM32 microcontrollers Introduction The low-power STM32 microcontrollers have a rich variety of configuration options regarding

More information

The task of writing device drivers to facilitate booting of the DSP via these interfaces is with the user.

The task of writing device drivers to facilitate booting of the DSP via these interfaces is with the user. a Engineer To Engineer Note EE-124 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, WEB: www.analog.com/dsp Booting on the ADSP-2192 The ADSP-2192 currently

More information

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices, Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices, CISC and RISC processors etc. Knows the architecture and

More information

Microprocessor or Microcontroller Not just a case of you say tomarto and I say tomayto

Microprocessor or Microcontroller Not just a case of you say tomarto and I say tomayto Microprocessor or Microcontroller Not just a case of you say tomarto and I say tomayto Discussion of the capabilities of the Analog Devices ADSP-5333 Evaluation Board used in this course M. Smith, ECE

More information

There are different characteristics for exceptions. They are as follows:

There are different characteristics for exceptions. They are as follows: e-pg PATHSHALA- Computer Science Computer Architecture Module 15 Exception handling and floating point pipelines The objectives of this module are to discuss about exceptions and look at how the MIPS architecture

More information

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1 EEL 4744C: Microprocessor Applications Lecture 7 Part 1 Interrupt Dr. Tao Li 1 M&M: Chapter 8 Or Reading Assignment Software and Hardware Engineering (new version): Chapter 12 Dr. Tao Li 2 Interrupt An

More information

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1 Reading Assignment EEL 4744C: Microprocessor Applications Lecture 7 M&M: Chapter 8 Or Software and Hardware Engineering (new version): Chapter 12 Part 1 Interrupt Dr. Tao Li 1 Dr. Tao Li 2 Interrupt An

More information

ERRATA SHEET INTEGRATED CIRCUITS. Date: July 9, 2007 Document Release: Version 1.6 Device Affected: LPC2148

ERRATA SHEET INTEGRATED CIRCUITS. Date: July 9, 2007 Document Release: Version 1.6 Device Affected: LPC2148 INTEGRATED CIRCUITS ERRATA SHEET Date: July 9, 2007 Document Release: Version 1.6 Device Affected: LPC2148 This errata sheet describes both the functional deviations and any deviations from the electrical

More information

Microprocessors & Interfacing

Microprocessors & Interfacing Lecture Overview Microprocessors & Interfacing Interrupts (I) Lecturer : Dr. Annie Guo Introduction to Interrupts Interrupt system specifications Multiple sources of interrupts Interrupt priorities Interrupts

More information

Z8ICE001ZEM Z8PLUS EMULATOR PRODUCT SPECIFICATION KIT CONTENTS OPTIONAL ITEMS NOT SUPPLIED

Z8ICE001ZEM Z8PLUS EMULATOR PRODUCT SPECIFICATION KIT CONTENTS OPTIONAL ITEMS NOT SUPPLIED PRODUCT SPECIFICATION Z8PLUS EMULATOR KIT CONTENTS Circuit Board Z8M001 Emulation Board (99C0603-001) Cables 18-Pin Emulation Pod Cable 9-Pin M F Serial Cable (6 ft.) Host Software Developer Studio (ZDS)

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Ninth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides

More information

Interrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1

Interrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1 Interrupts (I) Lecturer: Sri Notes by Annie Guo Week8 1 Lecture overview Introduction to Interrupts Interrupt system specifications Multiple Sources of Interrupts Interrupt Priorities Interrupts in AVR

More information

Microprocessor or Microcontroller Not just a case of you say tomarto and I say tomayto

Microprocessor or Microcontroller Not just a case of you say tomarto and I say tomayto Microprocessor or Microcontroller Not just a case of you say tomarto and I say tomayto Discussion of the capabilities of the Analog Devices ADSP-5333 Evaluation Board used in this course M. Smith, ECE

More information

EVAL-AD9913 GENERAL DESCRIPTION FEATURES PACKAGE CONTENTS EVALUATION BOARD BLOCK DIAGRAM

EVAL-AD9913 GENERAL DESCRIPTION FEATURES PACKAGE CONTENTS EVALUATION BOARD BLOCK DIAGRAM FEATURES Evaluation board powered solely via the USB port Easy to use Windows graphical user interface allowing software control of all AD9913 features Flexible reference clock input accepts external crystal

More information

Memory Interface. are used for DMD 15-0

Memory Interface. are used for DMD 15-0 Memory Interface 10 10.1 OVERVIEW The ADSP-2100 family has a modified Harvard architecture in which data memory stores data and program memory stores both instructions and data. Each processor contains

More information

PC Interrupt Structure and 8259 DMA Controllers

PC Interrupt Structure and 8259 DMA Controllers ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 PC Interrupt Structure and 8259 DMA Controllers This lecture covers the use of interrupts and the vectored interrupt

More information

Have difficulty identifying any products Not incorporating embedded processor FPGA or CPLD In one form or another

Have difficulty identifying any products Not incorporating embedded processor FPGA or CPLD In one form or another Introduction Embedded systems Continue pervasive expansion into Vast variety of electronic systems and products Aircraft and automobiles games and medical equipment Have difficulty identifying any products

More information