We built a set of verilog components that are useful for
constructing your MIPS processor. Get the library
here. This link points to an archived Active-HDL design named lib378.
You should restore this into an Active-HDL workspace.
To install the library, unzip the file to a convenient location. Then, in ActiveHDL, do the following:
Registers:
|
|
Component |
Description |
register |
basic register with initial
value |
register_r |
register w/ reset signal |
register_re |
register_r w/ clock enable (Load
Signal) |
|
|
|
Multiplexors:
|
|
Component |
Description |
mux2_to_1 |
arbitrary width 2:1 multiplexor |
mux4_to_1 |
arbitrary width 4:1 multiplexor |
|
|
|
Wire Units:
|
|
Component |
Description |
shiftLeft |
simple left shift |
signEx |
basic sign extender |
extender |
more general controllable
extender |
|
|
|
Memories:
|
|
Component |
Description |
ROM256x32 |
instruction memory |
ram_control |
write_controller used by
ram16b_s36_wb (used
internally) |
ram16b_s36_wb |
8kB memory sync-write, byte
addressable / byte writeable (DON'T
USE FOR LAB1) |
Ram256x32_sw_ar_wb |
256 word memory, supports write
byte, half-word, and word. USE FOR LAB1 |
Memory_Toplevel |
Top level memory system for pipelined processors |
MMU |
Routing for instruction and data requests based on addresses provided. |
|
|
|
Misc:
|
|
Component |
Description |
clockgen |
clock and local reset generator |
constant |
represent a constant |
|
|
|
|
|
|
|