Homework #8

Guidelines

  1. Design the control unit for the keyboard scancode converter started in lecture 11. Integrate it into the code and run a testbench showing two buttons pressed - not the same ones that the existing testbench presses. Turn in:
    • Hand-drawn diagram showing how all the files given in Lecture 12 are connected together. Using the testbench (lec12_tb) as the top level entity and interconnecting the keyboard, lec12 (Lec 12 entity), lec12_cu (control unit), and lec12_dp (datapath).
    • Hand-drawn state diagram for the control unit.
    • The complete control word table for your design.
    • A digital copy via Canvas and BitBucket of the VHDL describing your control unit (include a proper header).
    • A digital image via Canvas and BitBucket of your timing diagram/waveform in Vivado Simulator showing the following signals - remove all other signals.
      • clk
      • reset
      • keyboard clock
      • keyboard data
      • control unit state
      • Status word
      • Control word
      • busy signal
      • shift register
      • scan code
      • keyCntr