FPGA Architecture: Survey and Challenges
Ian Kuon1, Russell Tessier2
and Jonathan Rose1
1 The Edward S. Rogers Sr. Department of Electrical and Computer
Engineering, University of Toronto, Toronto, ON, Canada,
{ikuon, jayar}@eecg.utoronto.ca
2 Department of Electrical and Computer Engineering, University of
Massachusetts, Amherst, MA, USA, tessier@ecs.umass.edu
The combinatorial core of the OVSF code assignment problem
that arises in UMTS is to assign some nodes of a complete binary
tree of height h (the code tree) to n simultaneous connections, such that
no two assigned nodes (codes) are on the same root-to-leaf path. Each
connection requires a code on a specified level. The code can change over
time as long as it is still on the same level. We consider the one-step code
assignment problem: Given an assignment, move the minimum number of
codes to serve a new request. Minn and Siu proposed the so-called DCAalgorithm
to solve the problem optimally. We show that DCA does not
always return an optimal solution, and that the problem is NP-hard.
We give an exact nO(h)-time algorithm, and a polynomial time greedy
algorithm that achieves approximation ratio Θ(h). Finally, we consider
the online code assignment problem for which we derive several results
Input : A set S of planar points
Output : A convex hull for S
Step 1: If S contains no more than five points, use exhaustive searching to find the convex hull and return.
Step 2: Find a median line perpendicular to the X-axis which divides S into SL and SR SL lies to the left of SR .
Step 3: Recursively construct convex hulls for SL and SR. Denote these convex hulls by Hull(SL) and Hull(SR) respectively.
Step 4: Apply the merging procedure to merge Hull(SL) and Hull(SR) together to form a convex hull.
Time complexity:
T(n) = 2T(n/2) + O(n)
= O(n log n)
Huffman codes
In telecommunication, how do we represent a
set of messages, each with an access
frequency, by a sequence of 0’s and 1’s?
To minimize the transmission and decoding
costs, we may use short strings to represent
more frequently used messages.
This problem can by solved by using an
extended binary tree which is used in the 2-
way merging problem.