README updated
Trace generator script that for simple tests. The script can be easily changed and provides a way to quickly generate accesses to all channels, all bank groups, all banks, all rows and all columns of the memory. Be aware that a trace which covers all rows and all columns may be huge (several giga bytes) depending on your memory.
This commit is contained in:
55
README.md
55
README.md
@@ -791,6 +791,61 @@ The script runs one instance of DRAMSys for each of the files in the list. **The
|
|||||||
|
|
||||||
For more information check the documentation in [DRAMSylva folder](DRAMSys/library/resources/scripts/DRAMSylva).
|
For more information check the documentation in [DRAMSylva folder](DRAMSys/library/resources/scripts/DRAMSylva).
|
||||||
|
|
||||||
|
#### Trace Generator Script
|
||||||
|
|
||||||
|
A python script for generating simple traces for tests is provided.
|
||||||
|
[trace_gen.py](DRAMSys/library/resources/scripts/trace_gen.py).
|
||||||
|
|
||||||
|
Example on how to run the script:
|
||||||
|
``` bash
|
||||||
|
$ cd DRAMSys/library/resources/scripts
|
||||||
|
$ ./trace_gen.py > trace.stl
|
||||||
|
```
|
||||||
|
|
||||||
|
Now change your configuration file to use the new generated trace file and run
|
||||||
|
your simulation.
|
||||||
|
|
||||||
|
|
||||||
|
You can open the script with a text editor and change some parameters to fit your needs.
|
||||||
|
```
|
||||||
|
# Transaction type (read or write)
|
||||||
|
transaction = 'read'
|
||||||
|
|
||||||
|
# Channel information.
|
||||||
|
num_ch = 1 # Number of channels
|
||||||
|
ch_shift = 34 # Shift to reach the frist bit reserved for channels in the address
|
||||||
|
ch_mask = 0x1 # Mask for all channel bits in the address
|
||||||
|
|
||||||
|
# Bank group information.
|
||||||
|
num_bank_groups = 1 # Number of bank groups
|
||||||
|
bgroup_shift = 33 # Shift to reach the frist bit reserved for bank groups in the address
|
||||||
|
bgroup_mask = 0x1 # Mask for all bits in the address related to bank groups
|
||||||
|
|
||||||
|
# Bank information
|
||||||
|
num_banks = 8 # Number of banks
|
||||||
|
bank_shift = 30 # Shift to reach the frist bit reserved for banks in the address
|
||||||
|
bank_mask = 0x7 # Mask for all bank bits in the address
|
||||||
|
|
||||||
|
# Row information
|
||||||
|
num_rows = 128 * 1024 # Number of rows
|
||||||
|
row_shift = 13 # Shift to reach the frist bit reserved for rows in the address
|
||||||
|
row_mask = 0x1ffff # Mask for all row bits in the address
|
||||||
|
|
||||||
|
# Column information
|
||||||
|
num_col = 1 * 1024 # Number of columns
|
||||||
|
col_shift = 3 # Shift to reach the frist bit reserved for columns in the address
|
||||||
|
col_mask = 0x3ff # Mask for all column bits in the address
|
||||||
|
|
||||||
|
# Burst length
|
||||||
|
burst_len = 8
|
||||||
|
|
||||||
|
# Initial clock cycle
|
||||||
|
clock_cycle = 0
|
||||||
|
|
||||||
|
# Clock cycle increment between two accesses
|
||||||
|
clock_increment = 10
|
||||||
|
```
|
||||||
|
|
||||||
#### DRAMsys Diagrams
|
#### DRAMsys Diagrams
|
||||||
|
|
||||||
- **TLM Approximately Timed (AT)**
|
- **TLM Approximately Timed (AT)**
|
||||||
|
|||||||
Reference in New Issue
Block a user