Week 2 Activities

horizontal rule

ece333 | doering | ece labs | ece | rhit

Home
Schedule
Course Information
Policies
Homework
Labs
Resources

Tips:

bulletUse a 'parameter' definition for numerical constants that must be changed between simulation and synthesis, e.g., clock divider max value. Take a look at ifdef.v to learn a simple technique to make this happen automatically.
bulletSee comments.v to learn how to automatically embed comments in your waveform display.
bulletThe analog hardware behavior as seen by the digital controller can be emulated in a stand-alone 'always' block. From the controller's point of view, you apply a 7-bit value to the analog hardware and you get a 1-bit result after about 5 microseconds, so the analog hardware can be viewed as a sort of combinational (memoryless) circuit. You can emulate the analog input voltage with 7-bit value (declared as 'reg') that can be changed in the 'initial' block at the beginning of the next conversion cycle.
bulletUse 'wait' to create a delay that depends on a signal. For example, if your system has a signal called "Done" to indicate that the conversion cycle has completed, then use 'wait (Done==1)' as a delay in the same way that you have used a fixed delay such as '#10000'. The major advantage with the 'wait' technique is that you don't have to pre-calculate how long it will take for your device-under-test to complete an operation before you apply the next input stimulus.
bulletDo not rely on the 'Default' waveforms group to properly save your waveforms list. Instead, right-click and select "New Group" to create your own waveform group. Use right-click followed by "Reload Group" to recover it if it does not automatically reload. Apparently there is no "Save Group" option, but you will be prompted to save the group when you close the 'Analyzer' window.

Activities:

Refresh your memory about the Week 2 Deliverables and the testbench-related section of the Design Requirements.

Critical: Read (several times!) the ECE333 Design Rules document. When you adhere to the design rules, you are much less likely to spend a lot of time trying to understand why the synthesis tool does not like your design! It is quite easy to create designs that simulate successfully, even to the point of producing proper functional behavior, but that fail to synthesize properly. You may wish to review the Troubleshooting Tips document at this time to gain an idea of what can go wrong when the design rules are ignored.

Your goal at the end of Week 2 is to convince yourself and the instructor that your circuit works correctly in simulation, first at the individual module level, and then at the overall system level.

Implement the controller as a single module, and implement the datapath as one or more modules. Create a testbench for each module, and perform functional verification independently for each module. Produce annotated waveform plots for each of your modules. Do not proceed with integrating the modules together until you are convinced that each module works properly on its own!

Once you have individually verified each module in your system, create a top-level module to integrate the low-level modules into a single system. Prepare simulation waveform plots for the following time ranges (fit each plot type to a single page):

  1. Two consecutive conversion cycles for two different analog voltage values
  2. Beginning of a conversion cycle (showing transition of "Hold" from asserted level to deasserted level)
  3. End of a conversion cycle

Each waveform plot should order the signals as follows (insert blank lines between related groups using right-click followed by "Add Blank Line"):

  1. Clock, reset, comment
  2. Primary inputs (inputs that originate outside Verilog module)
  3. Primary outputs (outputs that are used by devices outside the Verilog module)
  4. State of controller FSM
  5. Control signals (from controller to datapath)
  6. Condition signals (from datapath to controller)
  7. Datapath devices (outputs of shift registers, counters, etc. that are internal to datapath but are nevertheless critical outputs to observe)

horizontal rule

Back to Week 1 | Continue to Week 3

Design Project Homepage

 

horizontal rule

Home | Schedule | Course Information | Policies | Homework | Labs | Resources

 ECE333: Digital Systems (W 2002-03)
Department of Electrical and Computer Engineering
Rose-Hulman Institute of Technology


For questions or comments regarding this web contact:
Last updated: 03/10/05.