| |
The overall system must:
- Accept input analog voltage in the range zero to five volts
- Continually produce digital measurements ("conversion cycles") at the rate
of 100 (±10%) Hz.
- Produce a digital measurement with seven-bit resolution at the end of a
conversion cycle that remains
constant during the subsequent conversion cycle
- Produce a digital value of zero for Vin = 0 volts (slight offsets are
permissible)
- Produce a digital value of 7F hexadecimal for Vin = 5 volts (slight
offsets are permissible)
- Include a "Pause" input (active high) that causes the system to
complete the current conversion cycle, then wait until "Pause" is de-asserted
before resuming conversion cycles
- Provide the following primary outputs: (a) digital primary measurement (seven bits), (b) digital value of the current
controlled voltage Vc (seven bits), and (c) an active-low
status signal pulse of one state machine cycle in duration indicating a conversion
cycle has just completed
- Display a voltage level indicator on the XS40 seven-segment LED that
displays the value of the most significant three bits of the digital
measurement (must be a graphic indicator, not a numerical value).
- Be demonstrated using a variable-voltage source as input, with the MSO
displaying analog voltages Vin and Vc and all digital signals listed in (7)
above as well as the analog comparator output
The digital controller must:
- Be implemented using XS40 FPGA board
- Be described in Verilog
- Adhere to all ECE333 Design Rules
for digital circuits
- Use controller-datapath architecture, where the controller is implemented
by a finite state machine
- Use a minimum of three Verilog modules: a top-level module, a module for
the controller, and one or more modules for the datapath
- Use synchronizer for each asynchronous input
- Be functionally verified in simulation using testbench methodology; a
distinct testbench must be created for each module in the system, and the
modules must be verified as stand-alone modules before integrating together in
the top-level module
- Use the 12 MHz oscillator on the XS40 board as the master clock
The testbench must:
- Create comments that automatically appear in the waveform display to describe the
current test procedure
- Generate text labels to interpret the state code of the controller finite
state machine
- Emulate the behavior of the voltage comparator in a separate 'always'
block
Design Project Homepage
|