05.07.2013 Views

Script for Laboratory: Designing embedded ASIPs - CES

Script for Laboratory: Designing embedded ASIPs - CES

Script for Laboratory: Designing embedded ASIPs - CES

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Signal Explanation<br />

im_data This is the Instruction Memory Data that corresponds to the previous<br />

shown im_addr. So it’s the binary representation of the assembly<br />

instruction that is fetched by the CPU.<br />

w_enb0 This is the write-enabled signal. It controls, whether the data at the<br />

input port of the register file will be written to the specified register or<br />

not. For example while jump or multicycle instructions this value is<br />

partially disabled (i.e. value ‘0’). Especially the jump instructions<br />

create a typical pattern <strong>for</strong> this signal. The jump instruction itself does<br />

not write to the register file, so this signal is ‘0’ when the jump<br />

instruction comes to its WB phase. The 2 instructions after the jump<br />

instruction enter the pipeline, but only the first one will be allowed to<br />

write its result back to the register file.<br />

w_sel0 This signal selects to which register the value at the input port of the<br />

register file shall be written.<br />

data_in0 This is the data value that is going to be written into the register file, if<br />

the write-enabled signal is active.<br />

r_selX This signal selects which register of the register file shall be read.<br />

data_outX This is the data value that was read from the requested register.<br />

dataab This is the Address Bus <strong>for</strong> memory accesses. This bus either contains<br />

the address to which some data shall be written or the address from<br />

which some data shall be read.<br />

datadb The Data Bus contains the value that shall be written or that was read.<br />

datareq This is the request signal with which the CPU triggers a read or a write<br />

access.<br />

dataack This is the acknowledge signal, that is activated by the memory<br />

controller after a requested write access is finished or after the data bus<br />

contains the result of a requested read access.<br />

datawin This signal determines the write mode. The usual values are “1111” <strong>for</strong><br />

“read word” and “0000” <strong>for</strong> “write word”, but there are also values <strong>for</strong><br />

writing 8- and 16-bit values.<br />

Figure 5-7<br />

Explanation of the signals in the ModelSim wave<br />

5.2 General hints<br />

• Change to your ModelSim directory inside your project directory tree and verify that<br />

the memory images TestData.IM and TestData.DM are present. They were build by<br />

mkimg. Furthermore you need the testbench file tb_ASIPmeister.vhd and the Model-<br />

Sim configuration script wave.do, which are available in the TEM-<br />

PLATE_PROJECT/ModelSim directory. Please check their existence in your Model-<br />

Sim directory be<strong>for</strong>e you start the work. It keeps you away from trouble.<br />

- 52 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!