The Designer's Guide to VHDL, Second Edition

15.2: A Behavioral Model

15.2 A Behavioral Model

Our model for the DLX CPU consists of an entity declaration and a behavioral architecture body. However, before we can write these units we need to define the types used in the external interface.

The DLX Types Package

Figure 15-12 shows a package declaration that defines the types for the CPU ports, based on the predefined bit and bit-vector types and on the numeric bit-vector types defined in the IEEE numeric_bit package. The package also defines some other types that are useful in the model. The type dlx_address represents logic vectors used for address values, and the type dlx_word represents logic vectors used for data values. Dlx_word_array represents an array of data words and is used in the declaration of multiple output register entities. The type dlx_bus_word is a standard-logic vector used for the CPU tristate data bus. The constant disabled_dlx_word is the value driven by the CPU or memory onto the data bus when it is inactive. This corresponds to an inactive tristate driver. The type dlx_mem_width represents values driven on the CPU width port. The three constants define legal values for this type. Finally, dlx_debug_control is an enumeration type listing values that we use to control the amount of tracing information to be reported by the model. The model reports on its progress during a simulation, to help us debug the model. The values of the type are used as follows:

  • none: the model does not report any information;

  • msg_every_100_instructions: the model reports after...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: CPU Cards and Modules
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.