CS/ECE 552 Intro to Computer Architecture Spring 2020 Section 1
Instructor Matthew D. Sinclair
URL: http://www.cs.wisc.edu/~sinclair/courses/cs552/spring2020/

Stalling Memory Specification

After you have successfully made a pipelined version of your processor, the next step will be to make your design capable of handling arbitrary stalls in the memory accesses. To do this, replace your single-cycle memory modules with these "stalling memory" modules. The source files (stallmem.v) were included in the project tar and on Github Classroom (in the demo3 folder).

Copy the synthesizable version in the same directory as the stallmem.v file.

This module has an interface identical to the cache interface in mem_system_hier.v, with the same semantics.

Examining the source file stallmem.v, you will see "rand_pat", a shift register which controls the "ready" output. This is a random 32-bit number. You can changes its value by changing the seed used for random number of generation. You can do this by passing in "-seed" to wsrun.pl. For example:


			wsrun.pl -seed 45 -prog foo.asm proc_hier_pbench *.v

		  

If you are executing from inside ModelSim with run -all or using a testbench of your own for preliminary testing, you can pass in the seed, by adding the string "+seed=<value>" to the vsim command. Or simply edit stallmem.v and set the seed to a different value.

 
Computer Sciences | UW Home