Discover New Applications For Low-Cost Solutions Discover ... - Xilinx
Discover New Applications For Low-Cost Solutions Discover ... - Xilinx
Discover New Applications For Low-Cost Solutions Discover ... - Xilinx
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
64 Light Sensors<br />
LOAD<br />
Although this requires multiplexer logic, it<br />
is just for one bit and therefore only<br />
requires nine slices.<br />
Each sensor still requires its own logic.<br />
This is partly to synchronize the input<br />
signals, but is also required to ensure that<br />
each “beam broken” pulse is only used to<br />
record a count value once. <strong>For</strong> this reason,<br />
the one slice per sensor is unlikely to<br />
be reduced.<br />
When you see that the logic size is<br />
increasing because the function is becoming<br />
more parallel, it is worth looking to see<br />
if anything else can be time-shared and<br />
moved into memory. In this case, we can<br />
indeed improve things.<br />
We can replace the multiplexer with a<br />
64-bit parallel-to-serial converter (32<br />
slices), which converts the parallel domain<br />
into a serial sequential process, as demonstrated<br />
in Figure 10. To detect only the<br />
start of a new pulse, a memory is used to<br />
Original 2-D Design<br />
XC2S50<br />
332 CLB<br />
0 Block RAM<br />
4 x SRL16E = 64 delays<br />
Figure 10 – 64-bit parallel-to-serial converter replaces multiplexer.<br />
remember the last state of each of the 64<br />
sensors. Because the operation is so predictable,<br />
we can use the SRL16E memory<br />
mode, which requires just two slices.<br />
Dramatic <strong>Cost</strong> Reduction<br />
So was it worth it? I think the diagrams in<br />
Figure 11 speak for themselves.<br />
To reduce the function from 332 CLBs<br />
to just 22 CLBs is a dramatic change: 15<br />
times smaller. Our design now fits in the<br />
smallest Spartan-II device (XC2S15) – and<br />
actually only uses 25% of that.<br />
This reduction in size and cost is not<br />
just specific to this particular design. <strong>For</strong><br />
example, much of 3G wireless processing is<br />
involved with “chip rates” of 1.2288 MHz<br />
and 3.84 MHz. This provides the time to<br />
allow the performance and memory of<br />
Virtex devices to process at least 32 channels<br />
sequentially, in just the same way as<br />
our simple fruit counter.<br />
XC2S15<br />
22 CLB<br />
1 Block RAM<br />
Sequential 3-D Design<br />
Figure 11 – 3-D design yields compelling results.<br />
64 Cycles<br />
Increment<br />
Control<br />
Final Considerations<br />
The Spartan-II XC2S15 has only 86 user<br />
I/Os, and our design has high I/O<br />
demands. Having used 64 for sensor<br />
inputs and applied a clock, only 21 I/Os<br />
are left for the microcontroller interface.<br />
Given an 8-bit data bus, it is possible to<br />
connect to the microcontroller, but it<br />
does illustrate how I/O can limit a design<br />
once these highly efficient techniques are<br />
employed.<br />
Of course, it would be a pity for 75% of<br />
the XC2S15 to be completely wasted. It<br />
would be nice to embed the microcontroller<br />
and the UART in the same device.<br />
This is also possible, but it’s a topic for<br />
another article.<br />
Meanwhile, once you discover that 3-D<br />
designs are possible, you are well on your<br />
way to improving the profit margins on<br />
your own designs.<br />
[Editor’s note: This article was derived<br />
from a two-part TechXclusive on the<br />
support.xilinx.com website. To see the<br />
original TechXclusive, go to<br />
support.xilinx.com/support/<br />
techxclusives/3-D-techX22.htm and<br />
support.xilinx.com/support/<br />
techxclusives/3-D2-techX23.htm.<br />
To see more TechXclusives,<br />
go to support.xilinx.com and search for<br />
“TechXclusives,” then click on “<strong>Xilinx</strong><br />
TechXclusives Home.” ]<br />
Fall 2003 Xcell Journal 29