Mapping the Bluetooth implementation developed by the Bluetooth team has turned out to be quite a challenge. The initial working behaviour which was developed by the Bluetooth group turned out to have a number of problems which required resolution. For the most part these problems were operational and coding problems, and are therefore best described on the Bluetooth team pages, however, one problem in particular caused many mapping problems.
The fact that the Bluetooth baseband contained a clock device (shown in the figure below) caused a number of problems. Firstly, the block contained no input ports, which meant that it could not be mapped in VCC. This means that before a mapping can be made for the baseband behaviour it will require to have redesign in terms of its timing functions. Secondly, when other devices in the baseband are mapped, there are constant 'Port Overwritten' errors in the simulation. This would seem to be caused by the fact that the clock device in the baseband is sending out conflicting timing signals to the processor timing signals, which then gives problems with a dual clock reference.
As an initial reference mapping to the SH2, we could just map all the blocks in the behaviours to the SH2 processor. This would give a reference time to work with. However, it is rather expected that the mapping of the Bluetooth TCP/IP stack will perform best with the baseband behaviours mapped to an ASIC outside the processor. This is because the baseband runs continually, monitoring and maintaining the Bluetooth base station link. Therefore, it would make sense to map this outside to a separate device to stop the processors from having to do the same continual calculations.
Such a mapping would look like Fig. ?.
It can be hypothesized, however, that the most likely setup will be with the TCP/IP stack running on the SH2 (or ARM, in the case of TIGER) processor, and the baseband section running on an outside ASIC. This is likely to be best since the continual nature of the baseband need only interfere with the processors when it is required, and not continually, which would slow the whole system down.