|
|
The priority.tdf file shown below shows a priority encoder that converts the level of the highest-priority active input into a value. It generates a 2-bit code that indicates the highest-priority input driven by VCC.
SUBDESIGN priority
(
low, middle, high : INPUT;
highest_level[1..0] : OUTPUT;
)
BEGIN
IF high THEN
highest_level[] = 3;
ELSIF middle THEN
highest_level[] = 2;
ELSIF low THEN
highest_level[] = 1;
ELSE
highest_level[] = 0;
END IF;
END;
In this example, the inputs high, middle, and low are evaluated to determine whether they are driven by VCC. The If Then Statement activates the equations that follow the active IF or ELSE clause, that is, if high is driven by VCC, highest_level[] is 3.
If more than one input is driven by VCC, the If Then Statement evaluates the priority of the inputs, which is determined by the order of the IF and ELSIF clauses (the first clause has the highest priority). In priority.tdf, high has the highest priority, middle has the next highest priority, and low has the lowest priority. The If Then Statement activates the equations that follow the highest-priority IF or ELSE clause that is true.
If none of the inputs are driven by VCC, the equations following the ELSE keyword are activated.
|
- PLDWorld - |
|
|
| Created by chm2web html help conversion utility. |