Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
sim:sources [2024/02/22 18:21] fabian created |
sim:sources [2024/02/23 13:19] (current) fabian [Interface] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Sources ====== | ====== Sources ====== | ||
- | For all data origin types, there are four sources providing it. This is by design: Ever source has a version with a single output channel and one with a configurable number of output channels. On top of that, each of those versions has a variation which will always be enabled, and one which has an enable flag exposed. In all other respects, those 4 versions are identical. Multi-ended sources will replicate tokens over all output channels and only send the next token when the previous transaction has completed on all channels. For the sake of simplicity, we will first explain the parameters all sources share, then go into parameters that differ between them. | + | For all data origin types, there are four sources providing it. This is by design: Ever source has a version with a single output channel and one with a configurable number of output channels |
+ | |||
+ | As a side-note: Make sure the timing behavior of multi-ended sources does not influence your testing routine when verifying a design. Insert token buffers where needed! A more detailed guide can be found on the page about [[sim: | ||
+ | |||
+ | For the sake of simplicity, we will first explain the parameters all sources share, then go into parameters that differ between them. | ||
===== Shared parameters ===== | ===== Shared parameters ===== | ||
Line 20: | Line 24: | ||
* '' | * '' | ||
- | * '' | ||
+ | Additionally, | ||
+ | |||
+ | * '' | ||
===== Source types ===== | ===== Source types ===== | ||
Line 73: | Line 79: | ||
This type of source can read a (repeating) sequence of data values from a file. This file can contain values in base 10, 16, 8, and 2 using no prefix, '' | This type of source can read a (repeating) sequence of data values from a file. This file can contain values in base 10, 16, 8, and 2 using no prefix, '' | ||
+ | |||
+ | < | ||
+ | # This is a demo input file | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | |||
+ | # Look, here comes a hex value | ||
+ | 0xDEADBEEF | ||
+ | |||
+ | # We support octal and binary as well | ||
+ | 0o10 # this is actually 8 in decimal | ||
+ | 0b1010101 | ||
+ | |||
+ | </ | ||
Multiple sources can use the same input file to read from without interfering with each other. There are also ways to write to files using the simulation library - you cannot read from and write to a specific file at the same time. | Multiple sources can use the same input file to read from without interfering with each other. There are also ways to write to files using the simulation library - you cannot read from and write to a specific file at the same time. |