Questions
for the test of Programmable Systems Engineering:
- Name three categories of
digital programmable circuits (in terms of the architecture) and briefly
characterize each of them.
- What category of digital
programmable circuits deals with: coarse grade, medium grade and fine
grade? Briefly characterize the above mentioned types of circuits.
- What kind of configuration
memory is dominant in CPLDs and what is in FPGAs?
- Enumerate the configuration
memory types with their advantages and disadvantages.
- In the Spartan3E FPGA, some
logic functions can be implemented in one LUT cell. Specify how many input
variables can have any logical function implemented in one LUT, how many
input variables can have any logical function implemented in one slice,
and specify the maximum number of inputs that some logic functions
implemented on a single slice can have?
- Specify configurable parameters
of the Spartan3E I/O terminals.
- Specify the Spartan3E
configuration modes.
- Describe the properties and
applications of the ‘week-keeper’ module in the Spartan3E.
- Explain the concept of ‘local
routing’.
- Explain the concept of ‘general
purpose routing’.
- Explain the concept of ‘global
routing’.
- Explain the concept of
‘dedicated routing’.
- Explain the concept of ‘clock
skew’ and provide ways to reduce or compensate it.
- Explain the concept of ‘Delay
Locked Loop’, draw a diagram of such a loop and describe the applications.
- What signals can be generated
by the DCM module in the Spartan3E. What are the requirements for clock
signals?
- Name and characterize the
Spartan3E single-port Block-RAM memory write modes.
- Enumerate the possible
applications of a single-port Block-RAM memory in Spartan3E.
- Specify the properties and
applications of a two-port Block-RAM memory in Spartan3E.
- Specify the functions that the
LUT block in the Spartan3E CLB cell can implement.
- Specify differences of the
architecture between PLA and PAL circuits.
- Enumerate and briefly describe
the levels of abstraction used in the hardware description.
- Enumerate the methods of digital
circuit description.
- What is a synthesizable subset
of VHDL? Provide an example of a non-synthesizable statement.
- What is the resolution
function?
- Provide ways to avoid forbidden
states in state machines.
- What is the metastability of
flip-flops?
- Name and briefly describe three
methods of synthesis using functional blocks in FPGAs.
- Specify the properties of the
variables in the processes.
- Specify the properties of the
variables in the functions.
- Discuss the essential
differences between variables and signals.
- Discuss the ways of
parameterization of the design modules.
- What is the ‘unconstrained
vector’? Describe the applications.
- What are delta cycles? Give an
example.
- What should be the number of
iterations of the synthesizable loop?
- What is the ‘generate’
statement for?
- Write a synchronous process in
VHDL that implements a synthesizable n-bit multiplier (on unsigned binary
numbers). Do not use the * operator. The process should start the
multiplication when the mul_start signal (std_logic type) is triggered.
During the multiplication the mul_busy signal (std_logic type) should be
asserted. The multiplier inputs should be given to the signals mul_in_1
and mul_in_2 (these are std_logic_vector signals), and the result should
be given to the mul_result register (2n bit - also std_logic_vector).
Provide definitions of the signals used.
multiplier: process (clk, rst)
.....
end process;
- Write a synchronous process in
VHDL that implements the synthesizable n-bit Johnson's counter. Please
operate on signals of type std_logic and std_logic_vector. Provide
definitions of the signals used. Secure the counter against locking in
prohibited state (or states).
johnson: process (clk, rst)
.....
end process;
- Write a synchronous process in
VHDL that implements a synthesizable state machine that controls the
operation of the wiper motor. The machine has input signals: wipe_on
(means wiper on), home_pos (wiper rest position), end_pos (wiper end
position). The state machine generates the output signals: motor_on
(switches on the wiper motor), motor_rev (switches the direction of
rotation to reverse). Remember to synchronize input signals from sensors
(using D flip-flops). Provide definitions of the signals used.
wiper: process (clk, rst)
.....
end process;