| 
 
 
  
  
  
  
  
  
 
 |  | 
 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 
  
 |