This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320C6742: Ultra-low Power floating-point DSP recommendations for alternatives to the ultra-low power C55xx based devices ?

Part Number: TMS320C6742
Other Parts Discussed in Thread: SYSBIOS

Hi,

We are looking at very low power floating-point DSP alternatives to the C55xx ultra-low power fixed-point DSP that we are very familiar with, and at first glance it would appear the TMS320C6742 is a good contender. I would appreciate some advice on very low-power floating-point DSP alternatives to the CC55xx devices, for which some of the following remarks below I would like some further clarification :

  1. The TMS320C6742 appears to have at most 128K of on-board memory. Is this the limit and are there equivalent devices with more than this ? What is the alternative to increasing the volatile memory, external EMIF etc ? (our existing code for the CC55xx devices used up prety much all of the DRAM and SRAM, so about 320K or so, so we'd be looking at this general target for internal memory usage at least ...)
  2. Is the 6742 a "low power" device as such and if so, how would it compare to a CC5515 device in terms of Watts/100MHz clock say, runing on a 3.3Vdd-io supply ? What I'm looking for is more of a ballpark figure, like x2 x3 or x10 more power consumption difference (or if I'm wrong, perhaps less ...) ?? I know power consumption my depend on many things, but if we assume say, that the same application code would run on both devices, what would the relative difference be ?
  3. In terms of hardware complexity, is there substantial difficulties and/or complexities moving to such a platform from a CC55xx background, given that local USB/Ethernet peripherals are not required etc is not required, rather the floating-point is what is the main peripheral addition being looked at for the application in mind ...
  4. Is the TMS320C6742 suitable for simultaneous use of one I2S bus, at least one SPI, and one I2C bus, one UART for low speed interface, and one parallel port for a screen-LCD/OLED type interface etc. (although serial I2C and/or SPI is also a possible screen interface option).... I'm saying this knowing that for the C55xx some combinations are pin-multiplexed so not all are sometimes available at the same time ...
  5. Porting an existing DSP/BIOS application made for the C55xx platofrm to such a device as the C6742 with SYS/BIOS would require a major code redesign ?

Thanks in advance for your suggestions.

Regards, MM

  • Citizen,

    Yes, C674x family is definitely a good low power DSP with fixed and floating point capabilities compared to the C55x device though not as ultra low power as the C55x variants. It definitely provides higher performance and greater peripheral set integration compared to C55x. Another great reason is the software for the device is on our latest Processor SDK RTOS baseline that allows for easier portability across different DSP products in the PRocessor portfolio. Let me provide specific responses to your enquiries and see if it helps you make the choice for your DSP product.

    citizen said:
    The TMS320C6742 appears to have at most 128K of on-board memory. Is this the limit and are there equivalent devices with more than this ? What is the alternative to increasing the volatile memory, external EMIF etc ? (our existing code for the CC55xx devices used up prety much all of the DRAM and SRAM, so about 320K or so, so we'd be looking at this general target for internal memory usage at least ...)

     

    C6742 DSP other than the 128 KB shared RAM also contains 256 KB L2 memory which can be used as SRAM or cache. If you don`t plan to use external mDDR/DDR2 memory using EMIF memory controller, you can configure the L2 as SRAM without severly impacting device performance. the EMIF external memory controller allows for memory extension. Additionally we have EMIFA interface (parallel) to connect to NAND/NOR/SRAM if required.

    citizen said:
    Is the 6742 a "low power" device as such and if so, how would it compare to a CC5515 device in terms of Watts/100MHz clock say, runing on a 3.3Vdd-io supply ? What I'm looking for is more of a ballpark figure, like x2 x3 or x10 more power consumption difference (or if I'm wrong, perhaps less ...) ?? I know power consumption my depend on many things, but if we assume say, that the same application code would run on both devices, what would the relative difference be ?

    You may want to use the Power estimation spreadsheet for C674x evaluating power for your use case.  Generally, it will vary depending on whether you are going to use DDR, USB/Ethernet and typical usage on the DSP. Based on typical nominal power in datasheet/power estimation sheet, I would expect the power to be 3-5X times C55x. 

    citizen said:
    In terms of hardware complexity, is there substantial difficulties and/or complexities moving to such a platform from a CC55xx background, given that local USB/Ethernet peripherals are not required etc is not required, rather the floating-point is what is the main peripheral addition being looked at for the application in mind ..

    Please note that many of  the serial interfaces like I2c, SPI, EMIFA, MCBSP on C674x are similar to C55x.I would say there is slightly higher complexity on C674x as it is 361 pin BGA or ZWT package while C55x is a smaller package with 196 pins. C674x supports both PMIC as well as discrete power solutions.you may want to look at some HW docs like schematic review checklist to determine the level of complexity with the C674x device.

    citizen said:
    Is the TMS320C6742 suitable for simultaneous use of one I2S bus, at least one SPI, and one I2C bus, one UART for low speed interface, and one parallel port for a screen-LCD/OLED type interface etc. (although serial I2C and/or SPI is also a possible screen interface option).... I'm saying this knowing that for the C55xx some combinations are pin-multiplexed so not all are sometimes available at the same time ...

       

    C6742 device also supports pinmuxing and should be able to support the simultaneous use of McASP/I2S,SPI, I2C and UART. I believe the LED/LCD lines are muxed with EMIF pins but it would be recommended to look at our pinmux tool to confirm.

    https://www.ti.com/lit/an/sprab63b/sprab63b.pdf?ts=1612972012535&ref_url=https%253A%252F%252Fwww.google.com%252F

    citizen said:
    Porting an existing DSP/BIOS application made for the C55xx platofrm to such a device as the C6742 with SYS/BIOS would require a major code redesign ?

    DSP/BIOS to SYSBIOS migration from a kernel and thread/task operation point of view operates the same so application redesign may not be signitificant. We have a migration guide for the APIs in the two versions of the OS but it will need some porting effort to move to the SYSBIOS baseline. We no longer use .tcf files used with DSPBIOS and have migrated to using XDC tools and .cfg files for configuration of kernel. There are plenty of examples to start with and the TI RTOS training on training.ti.com also uses C6748 LCDK as example platform so can be very useful to start with the migration

    Hope this helps.

    Regards,

    Rahul 

  • Rahul Prabhu said:

    Citizen,

    Yes, C674x family is definitely a good low power DSP with fixed and floating point capabilities compared to the C55x device though not as ultra low power as the C55x variants. It definitely provides higher performance and greater peripheral set integration compared to C55x. Another great reason is the software for the device is on our latest Processor SDK RTOS baseline that allows for easier portability across different DSP products in the PRocessor portfolio. Let me provide specific responses to your enquiries and see if it helps you make the choice for your DSP product.

    citizen
    The TMS320C6742 appears to have at most 128K of on-board memory. Is this the limit and are there equivalent devices with more than this ? What is the alternative to increasing the volatile memory, external EMIF etc ? (our existing code for the CC55xx devices used up prety much all of the DRAM and SRAM, so about 320K or so, so we'd be looking at this general target for internal memory usage at least ...)

    C6742 DSP other than the 128 KB shared RAM also contains 256 KB L2 memory which can be used as SRAM or cache. If you don`t plan to use external mDDR/DDR2 memory using EMIF memory controller, you can configure the L2 as SRAM without severly impacting device performance. the EMIF external memory controller allows for memory extension. Additionally we have EMIFA interface (parallel) to connect to NAND/NOR/SRAM if required.

    Hi Rahul, and thanks for your quick reply. So essentially, yes, we would probably use some external mSDRAM as we do already on the C5505, however is there a similar limitation on the external memory clock ? For the C5505 for the SYS clock > 100MHz the EMIF clock is limited to 1/2 of SYS clock. Is there something like this on the C674x DSPs ? BTW in the datasheet the mSDRAM is not explicitly mentioned, only SDRAM is mentioned, but I assume this should not be a problem eitherway ??

    Rahul Prabhu said:
    citizen
    Is the 6742 a "low power" device as such and if so, how would it compare to a CC5515 device in terms of Watts/100MHz clock say, runing on a 3.3Vdd-io supply ? What I'm looking for is more of a ballpark figure, like x2 x3 or x10 more power consumption difference (or if I'm wrong, perhaps less ...) ?? I know power consumption my depend on many things, but if we assume say, that the same application code would run on both devices, what would the relative difference be ?

    You may want to use the Power estimation spreadsheet for C674x evaluating power for your use case.  Generally, it will vary depending on whether you are going to use DDR, USB/Ethernet and typical usage on the DSP. Based on typical nominal power in datasheet/power estimation sheet, I would expect the power to be 3-5X times C55x. 

    Ok thanks, I was looking for a ball-park figure as such, and was not expecting anything less than about 3x more power use, so that's good to know...

    Rahul Prabhu said:
    citizen
    In terms of hardware complexity, is there substantial difficulties and/or complexities moving to such a platform from a CC55xx background, given that local USB/Ethernet peripherals are not required etc is not required, rather the floating-point is what is the main peripheral addition being looked at for the application in mind ..

    Yes we mainly make use of the I2C, EMIF, MCBSP, UART and LCD interface and power down all other peripherals not required. The routing complexity on the 0.65mm pitch BGA is quite high and it is welcomed to see there is an 0.8mm pitch BGA option available for the C674x devices ;-)

    Rahul Prabhu said:
    citizen
    Is the TMS320C6742 suitable for simultaneous use of one I2S bus, at least one SPI, and one I2C bus, one UART for low speed interface, and one parallel port for a screen-LCD/OLED type interface etc. (although serial I2C and/or SPI is also a possible screen interface option).... I'm saying this knowing that for the C55xx some combinations are pin-multiplexed so not all are sometimes available at the same time ...

    C6742 device also supports pinmuxing and should be able to support the simultaneous use of McASP/I2S,SPI, I2C and UART. I believe the LED/LCD lines are muxed with EMIF pins but it would be recommended to look at our pinmux tool to confirm.

    https://www.ti.com/lit/an/sprab63b/sprab63b.pdf?ts=1612972012535&ref_url=https%253A%252F%252Fwww.google.com%252F

    Ok thanks will take a look...
    Rahul Prabhu said:
    citizen
    Porting an existing DSP/BIOS application made for the C55xx platofrm to such a device as the C6742 with SYS/BIOS would require a major code redesign ?

    Hope this helps.

    Regards,

    Rahul

    Yes thanks Rahul it has been invaluable. There are several obstacles that we see going from an ultra-low power device to the C674x platform, including some hardware, then the migration to SYSBIOS, but also migrating to a new IDE (we never moved to Eclipse as we found early versions of 4.2 and 5 not stable enough ...) They can be handled however as we see there is a substantial amount of additional notes and documentation by TI to enable this ...
    Best Regards, MM