Commit Graph

460 Commits

Author SHA1 Message Date
Éder F. Zulian
1dc4fff3ca Issue#50 fixed
Phases are recorded by the TlmRecorder by calling the following method:

recordPhase(payload, phase, recordingTime)

In the current design we can find calls to this method in Dram.h, Controller.h
and Arbiter.h.

Inside the TlmRecorder (TlmRecorder.cpp) some phases are terminating phases.

Terminating phases recorded by the controller:
END_RESP (end response)
END_REFA (refresh all)
END_REFB (refresh Bank)

Example:
The DRAM receives transaction with phase BEGIN_REFA and sends to the
controller transaction with phase END_REFA.

IMPORTANT: the DRAM adds the execution time of the related command
(Command::AutoRefresh) to the delay.

The controller calls recordPhase() and the phase this triggers the termination
of the related phase in the TlmRecorder.

Terminating phases recorded by the DRAM:
END_PDNA (end power down active)
END_PDNP (end precharge powerdown)
END_SREF (end self-refresh)
END_PDNAB (end power down active bank)
END_PDNPB (end precharge powerdown bank)
END_SREFB (end self-refresh bank)

These phases were being recorded without taking into consideration the
execution time of the associated command (Command::PDNAX, Command::PDNPX and
Command::SREFX). All of them take one clock cycle to execute.

As result the phases were reduced by 1 clock cycle in the traceAnalyzer
output.
2016-02-02 20:19:00 -02:00
Éder F. Zulian
4a4284ab43 Small fix and improvements in debug messages 2016-02-02 19:09:59 -02:00
Éder F. Zulian
f4f0ef1e06 Merge remote-tracking branch 'upstream/master' 2016-02-02 17:20:48 -02:00
Éder F. Zulian
38e0829360 Invalid commands are ignored.
The data structure that stores last commands is initialized with NOPs. So it
is possible to get a NOP as return of state.getLastScheduledCommand(bank).
2016-02-02 17:01:54 -02:00
Éder F. Zulian
bf26adca22 Debugs improved 2016-02-02 15:31:10 -02:00
Éder F. Zulian
2d4759a5b6 Debugs improved 2016-02-01 19:40:54 -02:00
Matthias Jung
3023063a60 frequency adjusted 2016-01-29 16:13:38 +01:00
Matthias Jung
4be698440c address mapping changed 2016-01-29 15:53:46 +01:00
Matthias Jung
d0c203656a ddr3 example project added 2016-01-29 13:24:07 +01:00
Matthias Jung
ac791a68aa symlinks to memspecs of DRAMPower 2016-01-29 12:42:51 +01:00
Éder F. Zulian
460e211f1e IceWrapper submodule updated 2016-01-28 22:18:52 -02:00
Éder F. Zulian
b065a4ef3f Issue#50 fixed.
Increment of 1 clock cycle is necessary when recording end of powerdown
related phases.

This is necessary due to our current TLM recorder design. The TLM recorder is
based on phases, but the commands PDNAX, PDNPX and SREFX do not have
corresponding pahses. These commands take one clock cycle to execute and this
clock cycle was being ignored in the traceAnalyzer output.
2016-01-28 13:18:14 -02:00
Éder F. Zulian
7a993cad5f Debugs improved - generating messages for every recorded phase (tlmRecorder->recordPhase()) 2016-01-28 12:12:34 -02:00
Éder F. Zulian
31110bd01b Debugs improved without changes in functionality.
Now it is possible to know exactly which module has generated a message. Some examples:

at 1716840 ps in sim.controller0: Entering PowerDownManagerTimeoutown BEGIN_PDNAB on bank 4
at 1820 ns in sim.tracePlayer0: Sending tracePlayer0ansaction number: 18
at 1831296 ps in sim.controller0: Payload enters system on bank 2. Total number of payloads in Controller: 0
at 1831296 ps in sim.controller0.core.pdnManagerBw: Waking up on bank 2 at 1831296 ps current power down state is Awake
at 1831296 ps in sim.controller0.core.pdnManagerBw: Awaken on bank 2 at 1831296 ps current power down state is Awake
at 1831296 ps in sim.controller0.core: Scheduling coremmand ACT on 2
at 1831296 ps in sim.controller0.core: Row buffer for bank 2 is now open
at 1831296 ps in sim.controller0: -> Next payload was scheduled by core
at 1849368 ps in sim.controller0: Received END_ACT on bank 2 from DRAM

at 2391528 ps in sim.controller3.core.pdnManagerBw: Is now in state PDN Active on Bank 0
at 2391528 ps in sim.controller3.core.pdnManagerBw: Schedulingending power down command PDNA on bank 0 start time 2397552 ps end time 2415624 ps
at 2397552 ps in sim.controller3: Entering PowerDown BEGIN_PDNABN_PDNAB on bank 0
at 2455 ns in sim.tracePlayer0: Sending transaction number: 24
2016-01-16 13:55:06 -02:00
Éder F. Zulian
bb51520213 TlmRecorders better identified with the number of the channel they are related to. 2016-01-15 11:15:20 -02:00
Éder F. Zulian
d7b8e7c8f6 Improvements on readability and debugging 2016-01-14 14:58:03 -02:00
Éder F. Zulian
62057c041f Code was commented and its readability was improved. 2016-01-14 10:51:34 -02:00
Éder F. Zulian
14eb888195 Minor changes to improve code readability 2016-01-14 10:34:27 -02:00
Matthias Jung
8601c8f28b Merge pull request #52 from fzeder/master
Coherence check for the configuration field NumberofMemChannels.
2015-12-17 09:15:42 +01:00
Éder F. Zulian
9820ac497f Coherence check for the configuration field NumberofMemChannels.
The number of bits reserved to describe the channel within the address
determines the maximum number of memory channels allowed.

The program will be aborted if the number of memory channels in the
configuration exceeds the maximum number of memory channels supported based on
the number of bits reserved in the address mapping configuration file.
2015-12-17 01:25:23 -02:00
Matthias Jung
534eadf2fb Merge pull request #51 from fzeder/master
Readme updated with proper wideio address mappings examples
2015-12-14 22:26:04 +01:00
Éder F. Zulian
4f80335662 Images related to the last commit 2015-12-14 17:37:01 -02:00
Éder F. Zulian
6a90251d61 Readme file updated.
Using proper wideio address mappings as examples.
2015-12-14 17:35:32 -02:00
Matthias Jung
bdb42231c2 Merge pull request #43 from fzeder/master
Some changes in order to use DRAMSys in other machines.
2015-12-08 13:40:57 +01:00
Éder F. Zulian
f4851a449b Readme file updated with information about dependencies to build DRAMSys 2015-12-01 16:33:01 +01:00
Éder F. Zulian
bfec0fd99f IceWrapper submodule updated. 2015-11-24 13:02:45 +01:00
Éder F. Zulian
5cc32d090b Default storage mode is NoStorage 2015-11-20 21:30:38 +01:00
Éder F. Zulian
628731a5a3 3d-ice and superlu paths made configurable 2015-11-20 16:28:18 +01:00
Éder F. Zulian
8fcd2edc7f Config files updated. 2015-11-20 16:23:55 +01:00
Éder F. Zulian
1adee22ba0 Minor changes to avoid warnings. 2015-11-20 15:19:20 +01:00
Éder F. Zulian
01a08837a6 Some changes in order to make dramSys usable in other machines. 2015-11-20 10:30:32 +01:00
Matthias Jung
108cd51ef9 Merge branch 'master' of git.rhrk.uni-kl.de:EIT-Wehn/dram.vp.system 2015-11-19 14:08:04 +01:00
Matthias Jung
b7dfef76e5 Adressmapping for Wide I/O Fixed to Denali values 2015-11-19 14:07:25 +01:00
Matthias Jung
06a899a434 Merge pull request #41 from fzeder/master
FIFO Strict scheduler - Created a mechanism to unblock requests
2015-11-19 00:02:52 +01:00
Éder F. Zulian
b9acebfa98 FIFO Strict scheduler - Created a mechanism to unblock requests 2015-11-18 19:20:26 +01:00
Matthias Jung
d0788adf78 Merge pull request #40 from fzeder/master
Small fixes
2015-11-18 13:12:27 +01:00
Éder F. Zulian
52e0448fcf We should keep storage mode as "ErrorModel" in this test file. 2015-11-18 09:43:31 +01:00
Matthias Jung
23fbcbe601 Merge branch 'master' of git.rhrk.uni-kl.de:EIT-Wehn/dram.vp.system 2015-11-17 23:53:24 +01:00
Matthias Jung
29cb6bd57d some other test and metrics added 2015-11-17 23:52:29 +01:00
Matthias Jung
67d913544f Merge pull request #39 from fzeder/master
3D-ICE and FIFOStrict Scheduler
2015-11-17 12:50:29 +01:00
Éder F. Zulian
b7c4618778 Aborting simulation when retention time and/or temperature exceed maximum values in the error model. 2015-11-17 12:13:54 +01:00
Éder F. Zulian
5ab6e88ab5 FR_FCFS default storage mode changed back to "NoStorage".
It was an overcommit (I forgot to change it back ;) ).
2015-11-17 11:51:12 +01:00
Éder F. Zulian
c23c6311c7 FIFO strict scheduler is now working properly.
Summary:
- The code was simplified
- Using a deque instead of a vector to implement the FIFO.
- Fixed a bug related to the removal of requests (payloads) from the FIFO. It
  was possible that old requests were not properly removed and then processed
  again after the memory manager had free()d the payload (and its extensions)
  generating a segmentation fault.
2015-11-16 20:36:03 +01:00
Éder F. Zulian
977d4eed32 Maximum number of transactions to generate backpressure in the controller is now 8. 2015-11-16 20:32:34 +01:00
Éder F. Zulian
a4f80b24be Revert "The trace player will call payload.release() only after receiving the END_RESP message."
This reverts commit 2aeb2351c2.
2015-11-11 18:58:37 +01:00
Éder F. Zulian
2aeb2351c2 The trace player will call payload.release() only after receiving the END_RESP message. 2015-11-11 18:39:47 +01:00
Éder F. Zulian
cef3f87eff Using rm -f to ignore non existent files 2015-11-11 12:03:43 +01:00
Éder F. Zulian
7dbc2994a5 IceWrapper repo url - using https version 2015-11-11 11:20:30 +01:00
Éder F. Zulian
1beb3102a0 IceWrapper submodule repo URL changed.
Using the repo in github.com instead of github.rhrk.uni-kl.de.
2015-11-11 11:09:22 +01:00
Éder F. Zulian
ff23c83991 Readme file updated and small fix.
Get the static temperature value from config and store it in the Temperature
controller's internal structure always.
2015-10-23 12:01:51 +02:00