Terminal Emulator 

In order to combine the new video module with the keyboard module, a top level structural VHDL file was created.  This file is responsible for sending the signals back and forth between the two modules as well as performing some functions for both the keyboard and video module to make the project work. (Download Terminal Emulator Files).

Structural Top DLX
The main function of the top level file is to perform the communications between the keyboard and video modules, as well as the Altera UP1 Board.  This is done by routing the signals from keyboard to video and vise versa (See Figure 1).  It maintains the system clock and receives the video and keyboard inputs from the board.

Figure 1.  Schematic of keyboard emulator  

The other function of the Top DLX module is to perform some functions for the video and keyboard that are not implemented in the respective modules.  Some of these functions include:

The reason these functions are done in the top module is to provide more flexibility and reuse of the video and keyboard modules.

The following events happen to print a character from the keyboard to the screen:
 

The End Result

After putting all three modules together, compiling, and programming the Flex 10K20 University board, you can type away as shown here.