Add local HLS dev setup: clangd, pragma highlighting + linting, local C-sim
This commit is contained in:
7
.gitignore
vendored
7
.gitignore
vendored
@@ -13,3 +13,10 @@ capture_*.jpg
|
|||||||
*.jou
|
*.jou
|
||||||
*.log
|
*.log
|
||||||
*.str
|
*.str
|
||||||
|
|
||||||
|
# HLS local dev: headers fetched from the server (each machine fetches its own)
|
||||||
|
Practicals/hlsdev/include/
|
||||||
|
# HLS local dev: compiled simulation binaries
|
||||||
|
Practicals/hlsdev/build/
|
||||||
|
# scratch space
|
||||||
|
.tmp/
|
||||||
|
|||||||
3
Practicals/README.md
Normal file
3
Practicals/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
These files live within the directory /home/userfs/b/brs544/Courses/EMBS/.
|
||||||
|
They must be created in that directory on the remote machine and can then be copied over to this local directory.
|
||||||
|
The file names must not be changed, not the directory name more importantly because if the files are then copied back, Vitis + Vivado won't realise the change as they hardcode paths in projects.
|
||||||
178
Practicals/hlsdev/README.md
Normal file
178
Practicals/hlsdev/README.md
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
# Local HLS development (`hlsdev`)
|
||||||
|
|
||||||
|
Vitis is slow over X11, so this folder lets you **edit, check and test** the
|
||||||
|
practical code on your Mac, and only go to the server when you want a real
|
||||||
|
synthesis run.
|
||||||
|
|
||||||
|
It gives you four things:
|
||||||
|
|
||||||
|
| | What | Why |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 1 | **clangd diagnostics** for the C++ itself | Real errors and warnings as you type, with no Xilinx install |
|
||||||
|
| 2 | **`#pragma HLS` highlighting** | Stock syntax files treat pragmas as anonymous preprocessor text |
|
||||||
|
| 3 | **`#pragma HLS` linting** | Compilers silently ignore misspelled pragmas - this catches them |
|
||||||
|
| 4 | **A local C-simulation** (`./sim.sh`) | Runs the real testbench in about a second instead of minutes |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The one thing worth understanding first
|
||||||
|
|
||||||
|
`#pragma HLS ...` is **not C++**. clang and gcc have never heard of it and just
|
||||||
|
ignore it:
|
||||||
|
|
||||||
|
```c
|
||||||
|
#pragma HLS PIPELINE II=2
|
||||||
|
#pragma HLS TOTALLY_MADE_UP nonsense=1 // compiles identically fine
|
||||||
|
```
|
||||||
|
|
||||||
|
That has two consequences, and they are the reason this folder exists:
|
||||||
|
|
||||||
|
* **Good news:** you get correct C++ diagnostics with any normal compiler. The
|
||||||
|
pragmas never produce false errors.
|
||||||
|
* **Bad news:** nothing but the HLS compiler can tell a valid pragma from a
|
||||||
|
typo, and even Vitis HLS is often happy to ignore one silently. So a mistyped
|
||||||
|
`PIPLINE` can quietly cost you the optimisation you asked for.
|
||||||
|
|
||||||
|
Hence items 1-2 are for editing comfort, and item 3 is the one that actually
|
||||||
|
catches bugs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
### 1. Point Neovim at the highlighting and linter (one line)
|
||||||
|
|
||||||
|
Add this to your `init.lua`:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
vim.opt.runtimepath:append(vim.fn.expand('~/Projects/EMBS/Practicals/hlsdev/nvim'))
|
||||||
|
vim.opt.runtimepath:append(vim.fn.expand('~/Projects/EMBS/Practicals/hlsdev/nvim/after'))
|
||||||
|
```
|
||||||
|
|
||||||
|
Both lines are needed: the first picks up `plugin/`, the second picks up
|
||||||
|
`after/syntax/`. Nothing else to install - no plugin manager involved.
|
||||||
|
|
||||||
|
### 2. Get the real HLS headers (optional but recommended)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd ~/Projects/EMBS/Practicals/hlsdev
|
||||||
|
./fetch-headers.sh --dry-run # see what is there and how big it is
|
||||||
|
./fetch-headers.sh # copy them (asks for your gateway password)
|
||||||
|
```
|
||||||
|
|
||||||
|
This copies just the header files (a few MB) from
|
||||||
|
`/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis` - not the 60 GB
|
||||||
|
toolchain. `clangd` and `./sim.sh` then use the genuine `ap_int.h`.
|
||||||
|
|
||||||
|
If you skip this, everything still works using the stand-in header in
|
||||||
|
`include-stub/`. That stub is **not** the real header - it only implements the
|
||||||
|
handful of `ap_uint` operations the practicals use, and `./sim.sh` prints a
|
||||||
|
warning when it falls back to it.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Daily use
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd ~/Projects/EMBS/Practicals/hlsdev
|
||||||
|
|
||||||
|
./sim.sh # compile + run the C simulation locally (fast)
|
||||||
|
./lint.sh # check every #pragma HLS line
|
||||||
|
./sim.sh practical-4 # any other practical folder
|
||||||
|
./lint.sh ../practical-3b/game_of_life_practical3b/gameoflife.cpp # one file
|
||||||
|
```
|
||||||
|
|
||||||
|
In Neovim:
|
||||||
|
|
||||||
|
* Diagnostics from the pragma linter appear alongside clangd's, automatically
|
||||||
|
on open and on save.
|
||||||
|
* `:HlsPragmaLint` re-runs it on the current buffer.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What the linter catches
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ./lint.sh
|
||||||
|
gameoflife.cpp:2:9: error: unknown HLS pragma 'PIPLINE' - did you mean 'PIPELINE'?
|
||||||
|
gameoflife.cpp:3:9: error: UNROLL: factor must be an integer, got 'two'
|
||||||
|
gameoflife.cpp:4:9: warning: ARRAY_PARTITION: variable='missing_array' is not declared anywhere in this file
|
||||||
|
gameoflife.cpp:5:9: error: ARRAY_PARTITION: type='complet' is invalid (expected one of: block, complete, cyclic)
|
||||||
|
gameoflife.cpp:6:9: error: INTERFACE: 's_axillite' is not a valid mode (expected one of: ... s_axilite ...)
|
||||||
|
gameoflife.cpp:8:9: error: unknown HLS pragma 'TOTALLY_MADE_UP'
|
||||||
|
gameoflife.cpp:9:9: error: LOOP_TRIPCOUNT: missing required option 'min='
|
||||||
|
```
|
||||||
|
|
||||||
|
It checks pragma names, option names, option values, required options, and
|
||||||
|
whether the `variable=` / `port=` you named actually exists in the file -
|
||||||
|
with "did you mean" suggestions throughout.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## How clangd is wired up
|
||||||
|
|
||||||
|
Vitis writes a `compile_commands.json` next to the sources, but its paths point
|
||||||
|
at `/home/userfs/b/...` on the server and its flags (`-fhls`, `-hls-syn-headers-dir=`,
|
||||||
|
`--gcc-toolchain=`) are Xilinx-only, so clangd cannot use it.
|
||||||
|
|
||||||
|
Rather than overwrite it (Vitis regenerates and hard-codes paths), the file
|
||||||
|
`game_of_life_practical3b/.clangd` redirects clangd to a local flag set:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
CompileFlags:
|
||||||
|
CompilationDatabase: ../../hlsdev/clangd
|
||||||
|
```
|
||||||
|
|
||||||
|
and `hlsdev/clangd/compile_flags.txt` holds the actual flags:
|
||||||
|
|
||||||
|
```
|
||||||
|
-xc++
|
||||||
|
-std=c++14
|
||||||
|
-Wno-unknown-pragmas
|
||||||
|
-I../include
|
||||||
|
-I../include-stub
|
||||||
|
```
|
||||||
|
|
||||||
|
Relative paths are resolved from the `compile_flags.txt` directory, so this
|
||||||
|
stays portable - no absolute paths are committed.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Files
|
||||||
|
|
||||||
|
| File | Purpose |
|
||||||
|
| --- | --- |
|
||||||
|
| `sim.sh` | Compile + run the C simulation locally |
|
||||||
|
| `lint.sh` | Run the pragma linter over the practicals |
|
||||||
|
| `hls_pragma_lint.py` | The linter itself (also usable in CI) |
|
||||||
|
| `fetch-headers.sh` | Copy the real HLS headers down from csteach0 |
|
||||||
|
| `clangd/compile_flags.txt` | Flags clangd uses for these files |
|
||||||
|
| `include-stub/ap_int.h` | Editor-only stand-in for the real `ap_int.h` |
|
||||||
|
| `include/` | Where `fetch-headers.sh` puts the real headers (gitignored) |
|
||||||
|
| `nvim/after/syntax/cpp.vim` | `#pragma HLS` highlighting |
|
||||||
|
| `nvim/plugin/hls_pragma_lint.lua` | Neovim diagnostics integration |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Two caveats
|
||||||
|
|
||||||
|
**Treesitter will override the highlighting if the `cpp` parser is installed.**
|
||||||
|
Your config runs `vim.treesitter.start()` on every filetype, and Neovim has no
|
||||||
|
`cpp` parser installed, so it currently falls back to Vim syntax (where our
|
||||||
|
rules live). If you ever run `:TSInstall cpp`, the pragma highlighting will
|
||||||
|
stop working. Fix it by not starting treesitter for cpp, e.g.:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
vim.api.nvim_create_autocmd('FileType', {
|
||||||
|
callback = function()
|
||||||
|
if vim.bo.filetype == 'cpp' then return end -- keep Vim syntax for cpp
|
||||||
|
pcall(vim.treesitter.start)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
**The local simulation is not synthesis.** It checks your logic against the
|
||||||
|
testbench, which is the bulk of the work - but it does not tell you about
|
||||||
|
timing, `II`, resource usage or whether the pragmas did what you wanted. For
|
||||||
|
that you still need a real HLS run on the server. `./lint.sh` covers the pragma
|
||||||
|
typos that the compiler would otherwise swallow.
|
||||||
5
Practicals/hlsdev/clangd/compile_flags.txt
Normal file
5
Practicals/hlsdev/clangd/compile_flags.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
-xc++
|
||||||
|
-std=c++14
|
||||||
|
-Wno-unknown-pragmas
|
||||||
|
-I../include
|
||||||
|
-I../include-stub
|
||||||
53
Practicals/hlsdev/fetch-headers.sh
Executable file
53
Practicals/hlsdev/fetch-headers.sh
Executable file
@@ -0,0 +1,53 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Copy the real Vitis HLS headers down from the CS server.
|
||||||
|
#
|
||||||
|
# Only header files are copied - a few MB, not the 60 GB toolchain - so clangd
|
||||||
|
# and ./sim.sh work against the genuine ap_int.h / hls_stream.h instead of the
|
||||||
|
# stand-in in hlsdev/include-stub.
|
||||||
|
#
|
||||||
|
# You will be asked for your gateway password / Duo approval, because the
|
||||||
|
# server is behind the IT Services SSH gateway.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# ./fetch-headers.sh # copy
|
||||||
|
# ./fetch-headers.sh --dry-run # just report what is there and how big it is
|
||||||
|
#
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
inc="$here/include"
|
||||||
|
host="${EMBS_HOST:-csteach0.york.ac.uk}"
|
||||||
|
vitis="${VITIS_ROOT:-/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis}"
|
||||||
|
|
||||||
|
sim_inc="$vitis/include"
|
||||||
|
syn_inc="$vitis/common/technology/autopilot"
|
||||||
|
|
||||||
|
echo "host : $host"
|
||||||
|
echo "sim inc : $sim_inc"
|
||||||
|
echo "syn inc : $syn_inc"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "Asking the server what is there ..."
|
||||||
|
ssh "$host" "
|
||||||
|
du -sh '$sim_inc' '$syn_inc' 2>/dev/null || true
|
||||||
|
echo
|
||||||
|
echo 'ap_int.h / hls_stream.h found at:'
|
||||||
|
find '$sim_inc' '$syn_inc' -maxdepth 2 \\( -name ap_int.h -o -name hls_stream.h -o -name ap_fixed.h \\) 2>/dev/null
|
||||||
|
" || { echo "error: could not reach $host" >&2; exit 1; }
|
||||||
|
|
||||||
|
if [ "${1:-}" = "--dry-run" ]; then
|
||||||
|
echo
|
||||||
|
echo "--dry-run: nothing copied."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$inc"
|
||||||
|
echo
|
||||||
|
echo "Copying headers (watch for the password prompt) ..."
|
||||||
|
rsync -a --info=progress2 "$host:$sim_inc/" "$inc/"
|
||||||
|
rsync -a --info=progress2 "$host:$syn_inc/" "$inc/"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Done. $(find "$inc" -name '*.h' | wc -l | tr -d ' ') headers now in $inc"
|
||||||
|
echo "clangd and ./sim.sh will use these in preference to the stub."
|
||||||
322
Practicals/hlsdev/hls_pragma_lint.py
Executable file
322
Practicals/hlsdev/hls_pragma_lint.py
Executable file
@@ -0,0 +1,322 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
hls_pragma_lint.py - check Xilinx Vitis HLS pragmas.
|
||||||
|
|
||||||
|
Why this exists
|
||||||
|
---------------
|
||||||
|
`#pragma HLS ...` is not C++. Stock clang and gcc do not know these pragmas
|
||||||
|
and simply ignore them, so a typo like
|
||||||
|
|
||||||
|
#pragma HLS PIPLINE II=2
|
||||||
|
|
||||||
|
compiles perfectly happily. Vitis HLS may also accept it silently, meaning the
|
||||||
|
optimisation you asked for just never happens - which is a genuinely nasty way
|
||||||
|
to lose an afternoon.
|
||||||
|
|
||||||
|
This linter knows the pragma names, the options each one takes, and the values
|
||||||
|
those options allow. It reports problems in the standard
|
||||||
|
|
||||||
|
file:line:col: error: message
|
||||||
|
|
||||||
|
form, so it works with nvim's errorformat, nvim-lint, efm-langserver, `:make`,
|
||||||
|
or any CI.
|
||||||
|
|
||||||
|
Usage
|
||||||
|
-----
|
||||||
|
./hls_pragma_lint.py file.cpp [more.cpp ...]
|
||||||
|
./hls_pragma_lint.py ../practical-3b/game_of_life_practical3b/gameoflife.cpp
|
||||||
|
|
||||||
|
Exit status is 0 when nothing is wrong, 1 when there is at least one error.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import difflib
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# The pragma reference
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# "FLAG" -> a bare keyword with no value, e.g. `rewind`
|
||||||
|
# "NUM" -> an integer
|
||||||
|
# set -> a value that must be one of these
|
||||||
|
# "ANY" -> anything (identifier, number, ...)
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
FLAG, NUM, ANY = "FLAG", "NUM", "ANY"
|
||||||
|
|
||||||
|
INTERFACE_MODES = {
|
||||||
|
"ap_none", "ap_vld", "ap_ack", "ap_hs", "ap_ovld", "ap_fifo",
|
||||||
|
"ap_memory", "ap_bram", "bram", "ap_ctrl_none", "ap_ctrl_hs",
|
||||||
|
"ap_ctrl_chain", "m_axi", "s_axilite", "axis", "s_axis", "m_axis",
|
||||||
|
"ap_stable", "ap_bus", "ap_array", "ap_array_rtl",
|
||||||
|
}
|
||||||
|
|
||||||
|
PRAGMAS = {
|
||||||
|
"PIPELINE": {
|
||||||
|
"options": {
|
||||||
|
"II": NUM, "rewind": FLAG, "off": FLAG, "enable_flush": FLAG,
|
||||||
|
"style": {"stp", "frp", "flp"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"UNROLL": {
|
||||||
|
"options": {
|
||||||
|
"factor": NUM, "region": FLAG, "skip_exit_check": FLAG, "off": FLAG,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"ARRAY_PARTITION": {
|
||||||
|
"options": {
|
||||||
|
"variable": ANY, "type": {"block", "cyclic", "complete"},
|
||||||
|
"factor": NUM, "dim": NUM, "recursive": FLAG, "off": FLAG,
|
||||||
|
},
|
||||||
|
"required": ["variable"],
|
||||||
|
},
|
||||||
|
"ARRAY_RESHAPE": {
|
||||||
|
"options": {
|
||||||
|
"variable": ANY, "type": {"block", "cyclic", "complete"},
|
||||||
|
"factor": NUM, "dim": NUM, "off": FLAG,
|
||||||
|
},
|
||||||
|
"required": ["variable"],
|
||||||
|
},
|
||||||
|
"ARRAY_MAP": {
|
||||||
|
"options": {
|
||||||
|
"variable": ANY, "instance": ANY,
|
||||||
|
"mode": {"horizontal", "vertical"}, "offset": NUM, "off": FLAG,
|
||||||
|
},
|
||||||
|
"required": ["variable"],
|
||||||
|
},
|
||||||
|
"DATA_PACK": {
|
||||||
|
"options": {
|
||||||
|
"variable": ANY, "instance": ANY, "offset": NUM, "off": FLAG,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"AGGREGATE": {
|
||||||
|
"options": {
|
||||||
|
"variable": ANY, "compact": {"bit", "byte", "none", "auto"},
|
||||||
|
"dim": NUM, "off": FLAG,
|
||||||
|
},
|
||||||
|
"required": ["variable"],
|
||||||
|
},
|
||||||
|
"STREAM": {
|
||||||
|
"options": {
|
||||||
|
"variable": ANY, "depth": NUM, "dim": NUM, "off": FLAG,
|
||||||
|
},
|
||||||
|
"required": ["variable"],
|
||||||
|
},
|
||||||
|
"INTERFACE": {
|
||||||
|
"positional": INTERFACE_MODES,
|
||||||
|
"options": {
|
||||||
|
"mode": INTERFACE_MODES, "port": ANY, "bundle": ANY,
|
||||||
|
"register": FLAG, "depth": NUM, "offset": ANY, "clock": ANY,
|
||||||
|
"name": ANY, "num_read_outstanding": NUM,
|
||||||
|
"num_write_outstanding": NUM, "max_read_burst_length": NUM,
|
||||||
|
"max_write_burst_length": NUM, "latency": NUM,
|
||||||
|
"m_axi_offset": ANY, "storage_type": ANY, "storage_impl": ANY,
|
||||||
|
"sync": FLAG, "max_widen_bitwidth": NUM,
|
||||||
|
},
|
||||||
|
"required": ["port"],
|
||||||
|
},
|
||||||
|
"DATAFLOW": {
|
||||||
|
"options": {"off": FLAG, "disable_start_propagation": FLAG},
|
||||||
|
},
|
||||||
|
"INLINE": {
|
||||||
|
"options": {"off": FLAG, "recursive": FLAG, "region": FLAG},
|
||||||
|
},
|
||||||
|
"LATENCY": {
|
||||||
|
"options": {"min": NUM, "max": NUM, "off": FLAG},
|
||||||
|
},
|
||||||
|
"DEPENDENCE": {
|
||||||
|
"options": {
|
||||||
|
"variable": ANY, "type": {"inter", "intra"},
|
||||||
|
"direction": {"RAW", "WAR", "WAW"}, "distance": NUM, "off": FLAG,
|
||||||
|
},
|
||||||
|
"required": ["variable"],
|
||||||
|
},
|
||||||
|
"ALLOCATION": {
|
||||||
|
"options": {
|
||||||
|
"limit": NUM, "instances": ANY, "operation": ANY, "off": FLAG,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"OCCURRENCE": {
|
||||||
|
"options": {"cycle": NUM, "operation": ANY, "off": FLAG},
|
||||||
|
},
|
||||||
|
"LOOP_FLATTEN": {"options": {"off": FLAG}},
|
||||||
|
"LOOP_MERGE": {"options": {"force": FLAG, "off": FLAG}},
|
||||||
|
"LOOP_TRIPCOUNT": {
|
||||||
|
"options": {"min": NUM, "max": NUM, "avg": NUM},
|
||||||
|
"required": ["min"],
|
||||||
|
},
|
||||||
|
"FUNCTION_INSTANTIATE": {
|
||||||
|
"options": {"variable": ANY}, "required": ["variable"],
|
||||||
|
},
|
||||||
|
"RESET": {"options": {"off": FLAG}},
|
||||||
|
"PROTOCOL": {"positional": {"fixed", "float"}},
|
||||||
|
"EXPRESSION_BALANCE": {"options": {"off": FLAG}},
|
||||||
|
"REQUIREMENTS": {"options": {"min": NUM, "max": NUM}},
|
||||||
|
"DISAGGREGATE": {
|
||||||
|
"options": {"variable": ANY, "dim": NUM, "type": ANY},
|
||||||
|
"required": ["variable"],
|
||||||
|
},
|
||||||
|
"BIND_OP": {
|
||||||
|
"options": {
|
||||||
|
"op": ANY, "impl": ANY, "variable": ANY, "latency": NUM,
|
||||||
|
},
|
||||||
|
"required": ["op", "impl"],
|
||||||
|
},
|
||||||
|
"BIND_STORAGE": {
|
||||||
|
"options": {
|
||||||
|
"type": ANY, "impl": ANY, "variable": ANY, "latency": NUM,
|
||||||
|
},
|
||||||
|
"required": ["type", "impl"],
|
||||||
|
},
|
||||||
|
"SHARED": {"options": {"off": FLAG}},
|
||||||
|
}
|
||||||
|
|
||||||
|
# Options whose value is a name declared in the code.
|
||||||
|
NAME_OPTIONS = ("variable", "port", "op")
|
||||||
|
|
||||||
|
PRAGMA_RE = re.compile(r"#\s*pragma\s+HLS\b(?P<rest>.*)$")
|
||||||
|
TOKEN_RE = re.compile(r"(?P<key>[A-Za-z_]\w*)\s*=\s*(?P<val>[^\s=]+)|(?P<bare>[^\s=]+)")
|
||||||
|
|
||||||
|
|
||||||
|
def find_pragma_name(rest):
|
||||||
|
"""Pull the pragma name off the front of a pragma's argument text."""
|
||||||
|
m = re.match(r"\s*([A-Za-z_]\w*)", rest)
|
||||||
|
if not m:
|
||||||
|
return None, rest
|
||||||
|
return m.group(1), rest[m.end():]
|
||||||
|
|
||||||
|
|
||||||
|
def parse_tokens(text):
|
||||||
|
"""Return (options, bare_words) where options is [(key, val, col), ...]."""
|
||||||
|
options, bare = [], []
|
||||||
|
for m in TOKEN_RE.finditer(text):
|
||||||
|
if m.group("key"):
|
||||||
|
options.append((m.group("key"), m.group("val"), m.start("key")))
|
||||||
|
else:
|
||||||
|
bare.append((m.group("bare"), m.start("bare")))
|
||||||
|
return options, bare
|
||||||
|
|
||||||
|
|
||||||
|
def lint_file(path):
|
||||||
|
"""Return a list of (line, col, severity, message)."""
|
||||||
|
out = []
|
||||||
|
try:
|
||||||
|
with open(path, "r", errors="replace") as fh:
|
||||||
|
lines = fh.readlines()
|
||||||
|
except OSError as exc:
|
||||||
|
return [(1, 1, "error", "cannot read file: %s" % exc)]
|
||||||
|
|
||||||
|
whole_file = "".join(lines)
|
||||||
|
|
||||||
|
for lineno, line in enumerate(lines, start=1):
|
||||||
|
m = PRAGMA_RE.search(line)
|
||||||
|
if not m:
|
||||||
|
continue
|
||||||
|
rest = m.group("rest")
|
||||||
|
|
||||||
|
name, args = find_pragma_name(rest)
|
||||||
|
col = m.start() + m.group(0).index("HLS") + 1
|
||||||
|
|
||||||
|
if name is None:
|
||||||
|
out.append((lineno, col, "error",
|
||||||
|
"HLS pragma has no name (expected e.g. PIPELINE, UNROLL)"))
|
||||||
|
continue
|
||||||
|
|
||||||
|
if name not in PRAGMAS:
|
||||||
|
hint = difflib.get_close_matches(name, PRAGMAS.keys(), n=1, cutoff=0.6)
|
||||||
|
msg = "unknown HLS pragma '%s'" % name
|
||||||
|
if hint:
|
||||||
|
msg += " - did you mean '%s'?" % hint[0]
|
||||||
|
else:
|
||||||
|
msg += " (see the Vitis HLS pragma reference)"
|
||||||
|
out.append((lineno, col, "error", msg))
|
||||||
|
continue
|
||||||
|
|
||||||
|
spec = PRAGMAS[name]
|
||||||
|
known = spec.get("options", {})
|
||||||
|
positional = spec.get("positional")
|
||||||
|
|
||||||
|
options, bare = parse_tokens(args)
|
||||||
|
seen = {k for k, _, _ in options}
|
||||||
|
|
||||||
|
# Bare words: either a positional value or a flag.
|
||||||
|
for word, off in bare:
|
||||||
|
if word in known and known[word] is FLAG:
|
||||||
|
seen.add(word)
|
||||||
|
continue
|
||||||
|
if positional and word in positional:
|
||||||
|
continue
|
||||||
|
if positional and word not in positional:
|
||||||
|
out.append((lineno, col, "error",
|
||||||
|
"%s: '%s' is not a valid mode (expected one of: %s)"
|
||||||
|
% (name, word, ", ".join(sorted(positional)))))
|
||||||
|
continue
|
||||||
|
if word in known:
|
||||||
|
out.append((lineno, col, "error",
|
||||||
|
"%s: '%s' needs a value, e.g. %s=..." % (name, word, word)))
|
||||||
|
continue
|
||||||
|
hint = difflib.get_close_matches(word, list(known) + list(positional or ()),
|
||||||
|
n=1, cutoff=0.6)
|
||||||
|
msg = "%s: unknown option '%s'" % (name, word)
|
||||||
|
if hint:
|
||||||
|
msg += " - did you mean '%s'?" % hint[0]
|
||||||
|
out.append((lineno, col, "error", msg))
|
||||||
|
|
||||||
|
# key=value options
|
||||||
|
for key, val, off in options:
|
||||||
|
if key not in known:
|
||||||
|
hint = difflib.get_close_matches(key, known.keys(), n=1, cutoff=0.6)
|
||||||
|
msg = "%s: unknown option '%s'" % (name, key)
|
||||||
|
if hint:
|
||||||
|
msg += " - did you mean '%s'?" % hint[0]
|
||||||
|
out.append((lineno, col, "error", msg))
|
||||||
|
continue
|
||||||
|
|
||||||
|
expect = known[key]
|
||||||
|
if expect is FLAG:
|
||||||
|
out.append((lineno, col, "warning",
|
||||||
|
"%s: '%s' is a flag and takes no value" % (name, key)))
|
||||||
|
elif expect is NUM:
|
||||||
|
if not re.fullmatch(r"\d+", val):
|
||||||
|
out.append((lineno, col, "error",
|
||||||
|
"%s: %s must be an integer, got '%s'"
|
||||||
|
% (name, key, val)))
|
||||||
|
elif isinstance(expect, set):
|
||||||
|
if val not in expect:
|
||||||
|
out.append((lineno, col, "error",
|
||||||
|
"%s: %s='%s' is invalid (expected one of: %s)"
|
||||||
|
% (name, key, val, ", ".join(sorted(expect)))))
|
||||||
|
if key in NAME_OPTIONS and val != "return":
|
||||||
|
# Count occurrences across the file. A real object is declared
|
||||||
|
# at least once and named in at least one pragma, so a single
|
||||||
|
# hit means the only mention is this pragma itself.
|
||||||
|
hits = len(re.findall(r"\b%s\b" % re.escape(val), whole_file))
|
||||||
|
if hits <= 1:
|
||||||
|
out.append((lineno, col, "warning",
|
||||||
|
"%s: %s='%s' is not declared anywhere in this file"
|
||||||
|
% (name, key, val)))
|
||||||
|
|
||||||
|
# Required options
|
||||||
|
for req in spec.get("required", []):
|
||||||
|
if req not in seen and not (positional and req in positional):
|
||||||
|
out.append((lineno, col, "error",
|
||||||
|
"%s: missing required option '%s='" % (name, req)))
|
||||||
|
|
||||||
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
if len(argv) < 2:
|
||||||
|
print(__doc__.strip(), file=sys.stderr)
|
||||||
|
return 2
|
||||||
|
|
||||||
|
errors = 0
|
||||||
|
for path in argv[1:]:
|
||||||
|
for line, col, sev, msg in lint_file(path):
|
||||||
|
print("%s:%d:%d: %s: %s" % (path, line, col, sev, msg))
|
||||||
|
if sev == "error":
|
||||||
|
errors += 1
|
||||||
|
return 1 if errors else 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(main(sys.argv))
|
||||||
75
Practicals/hlsdev/include-stub/ap_int.h
Normal file
75
Practicals/hlsdev/include-stub/ap_int.h
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
#ifndef HLSDEV_AP_INT_STUB_H
|
||||||
|
#define HLSDEV_AP_INT_STUB_H
|
||||||
|
|
||||||
|
// ===========================================================================
|
||||||
|
// EDITOR-ONLY STAND-IN for Xilinx's <ap_int.h>
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
// This is NOT the real header. It exists so clangd can resolve ap_uint<N>
|
||||||
|
// (and so a simple C-simulation can be built) on a machine with no Xilinx
|
||||||
|
// tools installed.
|
||||||
|
//
|
||||||
|
// It implements only what the EMBS practicals use: unsigned fixed-width
|
||||||
|
// values, bit indexing, += / -=, and conversion to/from integers.
|
||||||
|
// It supports widths 1..64 only, and has none of the real header's
|
||||||
|
// arbitrary-precision, signed, overflow or simulation semantics.
|
||||||
|
//
|
||||||
|
// Run ./fetch-headers.sh to download the REAL headers from csteach0.
|
||||||
|
// They take precedence over this file when present.
|
||||||
|
// ===========================================================================
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
template <int W>
|
||||||
|
class ap_uint {
|
||||||
|
static_assert(W > 0 && W <= 64, "hlsdev stub ap_uint supports widths 1..64");
|
||||||
|
|
||||||
|
public:
|
||||||
|
unsigned long long v;
|
||||||
|
|
||||||
|
static constexpr unsigned long long width_mask() {
|
||||||
|
return W >= 64 ? ~0ULL : ((1ULL << W) - 1ULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
ap_uint() : v(0) {}
|
||||||
|
ap_uint(int x) : v((unsigned long long)x & width_mask()) {}
|
||||||
|
ap_uint(unsigned int x) : v((unsigned long long)x & width_mask()) {}
|
||||||
|
ap_uint(unsigned long long x) : v(x & width_mask()) {}
|
||||||
|
|
||||||
|
// Cross-width conversion, so e.g. ap_uint<4> += ap_uint<1> works.
|
||||||
|
// The implicit copy constructor is still preferred for the same width.
|
||||||
|
template <int W2>
|
||||||
|
ap_uint(const ap_uint<W2>& o) : v((unsigned long long)o & width_mask()) {}
|
||||||
|
|
||||||
|
operator unsigned long long() const { return v & width_mask(); }
|
||||||
|
|
||||||
|
ap_uint& operator=(unsigned long long x) { v = x & width_mask(); return *this; }
|
||||||
|
|
||||||
|
ap_uint& operator+=(const ap_uint& o) { v = (v + o.v) & width_mask(); return *this; }
|
||||||
|
ap_uint& operator-=(const ap_uint& o) { v = (v - o.v) & width_mask(); return *this; }
|
||||||
|
|
||||||
|
// Writing a single bit needs a proxy object, just like the real ap_uint.
|
||||||
|
class bit_ref {
|
||||||
|
ap_uint& parent;
|
||||||
|
int bit;
|
||||||
|
|
||||||
|
public:
|
||||||
|
bit_ref(ap_uint& p, int b) : parent(p), bit(b) {}
|
||||||
|
|
||||||
|
bit_ref& operator=(bool x) {
|
||||||
|
if (x) parent.v |= (1ULL << bit);
|
||||||
|
else parent.v &= ~(1ULL << bit);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
operator bool() const { return ((parent.v >> bit) & 1ULL) != 0; }
|
||||||
|
|
||||||
|
// Convert straight to any ap_uint<N> in a single user-defined
|
||||||
|
// conversion, so things like acc += grid[r][c]; resolve cleanly.
|
||||||
|
template <int W2>
|
||||||
|
operator ap_uint<W2>() const { return ap_uint<W2>((parent.v >> bit) & 1ULL); }
|
||||||
|
};
|
||||||
|
|
||||||
|
bit_ref operator[](int b) { return bit_ref(*this, b); }
|
||||||
|
bool operator[](int b) const { return ((v >> b) & 1ULL) != 0; }
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // HLSDEV_AP_INT_STUB_H
|
||||||
39
Practicals/hlsdev/lint.sh
Executable file
39
Practicals/hlsdev/lint.sh
Executable file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Run the HLS pragma linter over the practicals.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# ./lint.sh # every source under Practicals/
|
||||||
|
# ./lint.sh path/to/file.cpp [more.cpp ...] # just these
|
||||||
|
#
|
||||||
|
# Exits non-zero if anything is wrong, so it also works as a pre-commit or CI
|
||||||
|
# check. For inline diagnostics inside nvim, see nvim/plugin/hls_pragma_lint.lua
|
||||||
|
#
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
if [ "$#" -gt 0 ]; then
|
||||||
|
exec python3 "$here/hls_pragma_lint.py" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Resolve the parent properly: find returns the path as given, and
|
||||||
|
# ".../hlsdev/.." would contain "/hlsdev/" and defeat the exclusions below.
|
||||||
|
root="$(cd "$here/.." && pwd)"
|
||||||
|
|
||||||
|
# Every hand-written source, skipping generated HLS build output and our own
|
||||||
|
# tooling. Paths in the practicals never contain spaces (Vitis requires it).
|
||||||
|
files="$(find "$root" -type f \( \
|
||||||
|
-name '*.cpp' -o -name '*.cc' -o -name '*.cxx' -o -name '*.c' \
|
||||||
|
-o -name '*.h' -o -name '*.hpp' \) \
|
||||||
|
-not -path '*/hls/*' -not -path '*/hlsdev/*' | sort)"
|
||||||
|
|
||||||
|
if [ -z "$files" ]; then
|
||||||
|
echo "no source files found" >&2
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$files" | sed "s|^$root/| |"
|
||||||
|
echo
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
exec python3 "$here/hls_pragma_lint.py" $files
|
||||||
43
Practicals/hlsdev/nvim/after/syntax/cpp.vim
Normal file
43
Practicals/hlsdev/nvim/after/syntax/cpp.vim
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
" ===========================================================================
|
||||||
|
" HLS pragma highlighting for Vitis HLS (EMBS)
|
||||||
|
" ---------------------------------------------------------------------------
|
||||||
|
" Vim's stock C/C++ syntax files treat the whole "#pragma HLS ..." line as one
|
||||||
|
" anonymous preprocessor directive, so the pragma name and its options are
|
||||||
|
" invisible. These rules give them their own highlight groups.
|
||||||
|
"
|
||||||
|
" Loaded automatically when this directory is on 'runtimepath' (see the
|
||||||
|
" hlsdev README). Safe to source twice.
|
||||||
|
" ===========================================================================
|
||||||
|
|
||||||
|
if !exists('b:current_syntax')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
if b:current_syntax !=# 'cpp' && b:current_syntax !=# 'c'
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" The pragma line as a whole, so options inside it can be picked out.
|
||||||
|
syntax region hlsPragma
|
||||||
|
\ start=/#\s*pragma\s\+HLS\>/
|
||||||
|
\ end="$"
|
||||||
|
\ keepend
|
||||||
|
\ contains=hlsPragmaName,hlsPragmaOption,hlsPragmaValue,hlsPragmaMode
|
||||||
|
|
||||||
|
" The pragma name: PIPELINE, UNROLL, ARRAY_PARTITION, INTERFACE, ...
|
||||||
|
syntax match hlsPragmaName /\<HLS\>\s\+\zs[A-Z][A-Z_]*/ contained
|
||||||
|
|
||||||
|
" Option keys: variable=, II=, type=, port=, bundle=
|
||||||
|
syntax match hlsPragmaOption /\<\w\+\ze\s*=/ contained
|
||||||
|
|
||||||
|
" Option values: complete, 2, in_words, AXILiteS
|
||||||
|
syntax match hlsPragmaValue /=\s*\zs[^ ]\+/ contained
|
||||||
|
|
||||||
|
" INTERFACE modes are positional, so they have no "mode=" in front of them:
|
||||||
|
" #pragma HLS INTERFACE s_axilite port=return bundle=ctrl
|
||||||
|
syntax match hlsPragmaMode /\<\%(ap_none\|ap_vld\|ap_ack\|ap_hs\|ap_ovld\|ap_fifo\|ap_memory\|ap_bram\|bram\|ap_ctrl_none\|ap_ctrl_hs\|ap_ctrl_chain\|m_axi\|s_axilite\|axis\|s_axis\|m_axis\|ap_stable\|ap_bus\)\>/ contained
|
||||||
|
|
||||||
|
highlight default link hlsPragma PreProc
|
||||||
|
highlight default link hlsPragmaName Statement
|
||||||
|
highlight default link hlsPragmaOption Identifier
|
||||||
|
highlight default link hlsPragmaValue Constant
|
||||||
|
highlight default link hlsPragmaMode Constant
|
||||||
92
Practicals/hlsdev/nvim/plugin/hls_pragma_lint.lua
Normal file
92
Practicals/hlsdev/nvim/plugin/hls_pragma_lint.lua
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
-- ===========================================================================
|
||||||
|
-- HLS pragma diagnostics for Neovim (EMBS)
|
||||||
|
-- ---------------------------------------------------------------------------
|
||||||
|
-- Runs hls_pragma_lint.py over C/C++ buffers and reports the results through
|
||||||
|
-- vim.diagnostic, so they show up exactly like clangd's errors.
|
||||||
|
--
|
||||||
|
-- No plugin manager involved: this file lives in the hlsdev nvim runtimepath
|
||||||
|
-- entry, and Neovim sources plugin/*.lua automatically.
|
||||||
|
--
|
||||||
|
-- Commands:
|
||||||
|
-- :HlsPragmaLint re-run on the current buffer
|
||||||
|
-- :lua vim.diagnostic.reset(...) (see :h vim.diagnostic)
|
||||||
|
-- ===========================================================================
|
||||||
|
|
||||||
|
if vim.g.loaded_hls_pragma_lint then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
vim.g.loaded_hls_pragma_lint = true
|
||||||
|
|
||||||
|
local ns = vim.api.nvim_create_namespace('hls_pragma_lint')
|
||||||
|
|
||||||
|
-- Locate hls_pragma_lint.py next to this runtimepath entry.
|
||||||
|
local plugin_dir = vim.fn.fnamemodify(debug.getinfo(1, 'S').source:sub(2), ':p:h')
|
||||||
|
local linter = vim.fn.fnamemodify(plugin_dir, ':h:h') .. '/hls_pragma_lint.py'
|
||||||
|
|
||||||
|
local function python()
|
||||||
|
if vim.fn.executable('python3') == 1 then
|
||||||
|
return 'python3'
|
||||||
|
end
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local SEVERITY = {
|
||||||
|
error = vim.diagnostic.severity.ERROR,
|
||||||
|
warning = vim.diagnostic.severity.WARN,
|
||||||
|
info = vim.diagnostic.severity.INFO,
|
||||||
|
}
|
||||||
|
|
||||||
|
local function parse(output, bufnr)
|
||||||
|
local diags = {}
|
||||||
|
for line in vim.gsplit(output, '\n', { plain = true }) do
|
||||||
|
local _, l, c, sev, msg = line:match('^(.-):(%d+):(%d+): (%a+): (.*)$')
|
||||||
|
if l then
|
||||||
|
table.insert(diags, {
|
||||||
|
bufnr = bufnr,
|
||||||
|
lnum = tonumber(l) - 1,
|
||||||
|
col = tonumber(c) - 1,
|
||||||
|
severity = SEVERITY[sev] or vim.diagnostic.severity.INFO,
|
||||||
|
message = msg,
|
||||||
|
source = 'hls-pragma',
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return diags
|
||||||
|
end
|
||||||
|
|
||||||
|
local function lint(bufnr)
|
||||||
|
bufnr = bufnr or vim.api.nvim_get_current_buf()
|
||||||
|
if not vim.api.nvim_buf_is_valid(bufnr) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local ft = vim.bo[bufnr].filetype
|
||||||
|
if ft ~= 'c' and ft ~= 'cpp' then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if vim.fn.filereadable(linter) ~= 1 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local py = python()
|
||||||
|
if not py then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local path = vim.api.nvim_buf_get_name(bufnr)
|
||||||
|
if path == '' then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local out = vim.fn.system({ py, linter, path })
|
||||||
|
vim.diagnostic.set(ns, bufnr, parse(out, bufnr))
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd({ 'BufWritePost', 'BufReadPost' }, {
|
||||||
|
group = vim.api.nvim_create_augroup('HlsPragmaLint', { clear = true }),
|
||||||
|
pattern = { '*.c', '*.cpp', '*.cc', '*.h', '*.hpp' },
|
||||||
|
callback = function(ev)
|
||||||
|
lint(ev.buf)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command('HlsPragmaLint', function()
|
||||||
|
lint(0)
|
||||||
|
end, { desc = 'Check #pragma HLS lines in this buffer' })
|
||||||
75
Practicals/hlsdev/sim.sh
Executable file
75
Practicals/hlsdev/sim.sh
Executable file
@@ -0,0 +1,75 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Build and run the Vitis HLS C-simulation for a practical, locally.
|
||||||
|
#
|
||||||
|
# This is a plain C++ compile of the testbench + DUT, which is what "Run C
|
||||||
|
# Simulation" does on the server (minus the HLS compiler's extra checking).
|
||||||
|
# It is the fast way to know your logic is right before spending time on the
|
||||||
|
# remote machine.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# ./sim.sh # practical-3b
|
||||||
|
# ./sim.sh practical-4 # any other practical directory
|
||||||
|
#
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
practical="${1:-practical-3b}"
|
||||||
|
|
||||||
|
# Find the HLS component: the directory holding hls_config.cfg.
|
||||||
|
cfg="$(find "$here/../$practical" -name hls_config.cfg -not -path '*/hls/*' 2>/dev/null | head -1)"
|
||||||
|
if [ -z "$cfg" ]; then
|
||||||
|
echo "error: no hls_config.cfg found under $here/../$practical" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
proj="$(cd "$(dirname "$cfg")" && pwd)"
|
||||||
|
|
||||||
|
# hls_config.cfg names the sources, so we never have to guess.
|
||||||
|
tb_name="$(grep -E '^tb\.file=' "$cfg" | head -1 | cut -d= -f2- | tr -d '\r')"
|
||||||
|
dut_name="$(grep -E '^syn\.file=' "$cfg" | grep -E '\.(cpp|cc|cxx|c)$' | head -1 | cut -d= -f2- | tr -d '\r')"
|
||||||
|
|
||||||
|
if [ -z "$tb_name" ] || [ -z "$dut_name" ]; then
|
||||||
|
echo "error: could not read tb.file / syn.file from $cfg" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prefer the real Xilinx headers; fall back to the stub so this still works
|
||||||
|
# before ./fetch-headers.sh has been run.
|
||||||
|
if [ -f "$here/include/ap_int.h" ]; then
|
||||||
|
inc="$here/include"
|
||||||
|
inc_extra="$here/include"
|
||||||
|
else
|
||||||
|
inc="$here/include-stub"
|
||||||
|
inc_extra="$here/include-stub"
|
||||||
|
echo "=============================================================="
|
||||||
|
echo "NOTE: using the FALLBACK stub headers in hlsdev/include-stub."
|
||||||
|
echo " They are good enough for the Game of Life practical, but"
|
||||||
|
echo " they are NOT the real Xilinx headers. Run ./fetch-headers.sh"
|
||||||
|
echo " for a simulation you can fully trust."
|
||||||
|
echo "=============================================================="
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
CXX="${CXX:-clang++}"
|
||||||
|
out="$here/build"
|
||||||
|
mkdir -p "$out"
|
||||||
|
|
||||||
|
dut="$proj/$dut_name"
|
||||||
|
tb="$proj/$tb_name"
|
||||||
|
for f in "$dut" "$tb"; do
|
||||||
|
[ -f "$f" ] || { echo "error: missing source $f" >&2; exit 1; }
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "component : $proj"
|
||||||
|
echo "testbench : $tb_name"
|
||||||
|
echo "dut : $dut_name"
|
||||||
|
echo "compiling with $CXX ..."
|
||||||
|
|
||||||
|
"$CXX" -std=c++14 -O2 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-label \
|
||||||
|
-I"$inc" -I"$inc_extra" -I"$proj" \
|
||||||
|
"$tb" "$dut" -o "$out/csim"
|
||||||
|
|
||||||
|
echo "running ..."
|
||||||
|
echo "------------------------------------------------------------------"
|
||||||
|
"$out/csim"
|
||||||
|
echo "------------------------------------------------------------------"
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
5
Practicals/practical-3b/game_of_life_practical3b/.clangd
Normal file
5
Practicals/practical-3b/game_of_life_practical3b/.clangd
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Tell clangd to ignore the Vitis-generated compile_commands.json (its paths
|
||||||
|
# point at /home/userfs/... on the remote server and its flags are Xilinx-only)
|
||||||
|
# and use the local flag set in Practicals/hlsdev/clangd instead.
|
||||||
|
CompileFlags:
|
||||||
|
CompilationDatabase: ../../hlsdev/clangd
|
||||||
21
Practicals/practical-3b/game_of_life_practical3b/.gitignore
vendored
Normal file
21
Practicals/practical-3b/game_of_life_practical3b/.gitignore
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Ignore build output directory
|
||||||
|
/build
|
||||||
|
/export
|
||||||
|
|
||||||
|
# Ignore object files and dependent files
|
||||||
|
.o
|
||||||
|
.d
|
||||||
|
|
||||||
|
#Ignore logs folder and log files
|
||||||
|
/logs
|
||||||
|
.log
|
||||||
|
|
||||||
|
#Ignore lock files
|
||||||
|
.lock
|
||||||
|
|
||||||
|
.bin
|
||||||
|
.pdi
|
||||||
|
.vitisWorkspace.json
|
||||||
|
|
||||||
|
_ide/logs
|
||||||
|
_ide/.wsdata
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"directory": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b",
|
||||||
|
"arguments": [
|
||||||
|
"/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/vcxx/libexec/clang++",
|
||||||
|
"--gcc-toolchain=/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/tps/lnx64/gcc-8.3.0",
|
||||||
|
"-fhls",
|
||||||
|
"-hls-syn-headers-dir=/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/common/technology/autopilot",
|
||||||
|
"-fhlstoplevel=game_of_life_step",
|
||||||
|
"-c",
|
||||||
|
"/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/gameoflife.cpp"
|
||||||
|
],
|
||||||
|
"file": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/gameoflife.cpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b",
|
||||||
|
"arguments": [
|
||||||
|
"/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/vcxx/libexec/clang++",
|
||||||
|
"--gcc-toolchain=/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/tps/lnx64/gcc-8.3.0",
|
||||||
|
"-fhls-tb",
|
||||||
|
"-hls-sim-headers-dir=/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/include",
|
||||||
|
"-c",
|
||||||
|
"/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/testbench.cpp"
|
||||||
|
],
|
||||||
|
"file": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/testbench.cpp"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -0,0 +1,246 @@
|
|||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"thisFile": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/game_of_life_practical3b.hlscompile_summary",
|
||||||
|
"connectId": "",
|
||||||
|
"serverToken": "",
|
||||||
|
"timestamp": "0"
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_CmdStep",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:47 2026",
|
||||||
|
"timestampMillis": "1792515047583",
|
||||||
|
"buildStep": {
|
||||||
|
"cmdId": "26212046-3e3b-461a-b5bb-933a3659c9f1",
|
||||||
|
"name": "v++",
|
||||||
|
"logFile": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/logs/game_of_life_practical3b.steps.log",
|
||||||
|
"commandLine": "/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/bin/unwrapped/lnx64.o/v++ -c --mode hls --config /home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/hls_config.cfg --work_dir game_of_life_practical3b ",
|
||||||
|
"args": [
|
||||||
|
"-c",
|
||||||
|
"--mode",
|
||||||
|
"hls",
|
||||||
|
"--config",
|
||||||
|
"/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/hls_config.cfg",
|
||||||
|
"--work_dir",
|
||||||
|
"game_of_life_practical3b"
|
||||||
|
],
|
||||||
|
"iniFiles": [
|
||||||
|
{
|
||||||
|
"path": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/hls_config.cfg",
|
||||||
|
"content": "part=xc7z010clg400-1\n\n[hls]\nflow_target=vivado\npackage.output.format=ip_catalog\npackage.output.syn=false\ntb.file=testbench.cpp\nsyn.file=gameoflife.cpp\nsyn.file=gameoflife.h\nsyn.top=game_of_life_step"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cwd": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Status",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:47 2026",
|
||||||
|
"timestampMillis": "1792515047583",
|
||||||
|
"status": {
|
||||||
|
"cmdId": "26212046-3e3b-461a-b5bb-933a3659c9f1",
|
||||||
|
"state": "CS_RUNNING"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_FlowMetaData",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:57 2026",
|
||||||
|
"timestampMillis": "1792515057957",
|
||||||
|
"buildSummary": {
|
||||||
|
"hardwarePlatform": "",
|
||||||
|
"hardwareDsa": "",
|
||||||
|
"platformDirectory": "",
|
||||||
|
"runtime": "",
|
||||||
|
"systemConfig": "",
|
||||||
|
"flow": "BF_COMPILE",
|
||||||
|
"target": "TT_HW",
|
||||||
|
"kernels": [
|
||||||
|
{
|
||||||
|
"base": {
|
||||||
|
"type": "KERNEL",
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"file": "",
|
||||||
|
"reports": [],
|
||||||
|
"uuid": ""
|
||||||
|
},
|
||||||
|
"sources": [
|
||||||
|
"/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/gameoflife.cpp",
|
||||||
|
"/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/gameoflife.h"
|
||||||
|
],
|
||||||
|
"psSources": [],
|
||||||
|
"cuNames": [],
|
||||||
|
"type": "HLS",
|
||||||
|
"frequency": 0,
|
||||||
|
"freqUnits": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"toolVersion": "2025.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_SubCmdStep",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:57 2026",
|
||||||
|
"timestampMillis": "1792515057958",
|
||||||
|
"buildStep": {
|
||||||
|
"cmdId": "af5e477a-dfc6-4635-ba72-f96514ab12ad",
|
||||||
|
"name": "",
|
||||||
|
"logFile": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/hls/hls.log",
|
||||||
|
"commandLine": "",
|
||||||
|
"args": [],
|
||||||
|
"iniFiles": [],
|
||||||
|
"cwd": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Status",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:57 2026",
|
||||||
|
"timestampMillis": "1792515057958",
|
||||||
|
"status": {
|
||||||
|
"cmdId": "af5e477a-dfc6-4635-ba72-f96514ab12ad",
|
||||||
|
"state": "CS_RUNNING"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:57 2026",
|
||||||
|
"timestampMillis": "1792515057958",
|
||||||
|
"report": {
|
||||||
|
"path": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/hls/hls_data.json",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "JSON",
|
||||||
|
"reportType": "HLS_SYNTHESIS",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:57 2026",
|
||||||
|
"timestampMillis": "1792515057958",
|
||||||
|
"report": {
|
||||||
|
"path": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/hls/syn/report/csynth.rpt",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "TEXT",
|
||||||
|
"reportType": "HLS_SYNTHESIS",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:57 2026",
|
||||||
|
"timestampMillis": "1792515057958",
|
||||||
|
"report": {
|
||||||
|
"path": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/hls/syn/report/csynth.xml",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "XML",
|
||||||
|
"reportType": "HLS_SYNTHESIS",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:51:22 2026",
|
||||||
|
"timestampMillis": "1792515082964",
|
||||||
|
"report": {
|
||||||
|
"path": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/hls",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "DIR",
|
||||||
|
"reportType": "HLS_DATAFLOW",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:51:22 2026",
|
||||||
|
"timestampMillis": "1792515082965",
|
||||||
|
"report": {
|
||||||
|
"path": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/hls",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "DIR",
|
||||||
|
"reportType": "HLS_FUNCTION_CALL_GRAPH",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:51:22 2026",
|
||||||
|
"timestampMillis": "1792515082965",
|
||||||
|
"report": {
|
||||||
|
"path": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/hls",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "DIR",
|
||||||
|
"reportType": "HLS_SCHEDULE",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Status",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:51:22 2026",
|
||||||
|
"timestampMillis": "1792515082965",
|
||||||
|
"status": {
|
||||||
|
"cmdId": "af5e477a-dfc6-4635-ba72-f96514ab12ad",
|
||||||
|
"state": "CS_PASSED"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Status",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:51:23 2026",
|
||||||
|
"timestampMillis": "1792515083151",
|
||||||
|
"status": {
|
||||||
|
"cmdId": "26212046-3e3b-461a-b5bb-933a3659c9f1",
|
||||||
|
"state": "CS_PASSED"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:51:23 2026",
|
||||||
|
"timestampMillis": "1792515083335",
|
||||||
|
"report": {
|
||||||
|
"path": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/reports/v++_compile_game_of_life_practical3b_guidance.html",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "HTML",
|
||||||
|
"reportType": "GLOBAL_RULECHECK_GUIDANCE",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:51:23 2026",
|
||||||
|
"timestampMillis": "1792515083336",
|
||||||
|
"report": {
|
||||||
|
"path": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/reports/.db/v++_compile_game_of_life_practical3b_guidance.pb3",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "BINARY_PROTOBUF",
|
||||||
|
"reportType": "GLOBAL_RULECHECK_GUIDANCE",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
@@ -0,0 +1,157 @@
|
|||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"thisFile": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/game_of_life_practical3b.hlsrun_csim_summary",
|
||||||
|
"connectId": "",
|
||||||
|
"serverToken": "",
|
||||||
|
"timestamp": "0"
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_CmdStep",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:49:54 2026",
|
||||||
|
"timestampMillis": "1792514994026",
|
||||||
|
"buildStep": {
|
||||||
|
"cmdId": "611563b7-dc4a-4ed6-b71c-5c087f2ef0ef",
|
||||||
|
"name": "vitis-run",
|
||||||
|
"logFile": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/logs/game_of_life_practical3b.steps.log",
|
||||||
|
"commandLine": "/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/bin/unwrapped/lnx64.o/vitis-run --mode hls --csim --config /home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/hls_config.cfg --work_dir game_of_life_practical3b ",
|
||||||
|
"args": [
|
||||||
|
"--mode",
|
||||||
|
"hls",
|
||||||
|
"--csim",
|
||||||
|
"--config",
|
||||||
|
"/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/hls_config.cfg",
|
||||||
|
"--work_dir",
|
||||||
|
"game_of_life_practical3b"
|
||||||
|
],
|
||||||
|
"iniFiles": [],
|
||||||
|
"cwd": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Status",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:49:54 2026",
|
||||||
|
"timestampMillis": "1792514994026",
|
||||||
|
"status": {
|
||||||
|
"cmdId": "611563b7-dc4a-4ed6-b71c-5c087f2ef0ef",
|
||||||
|
"state": "CS_RUNNING"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_FlowMetaData",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:08 2026",
|
||||||
|
"timestampMillis": "1792515008064",
|
||||||
|
"buildSummary": {
|
||||||
|
"hardwarePlatform": "",
|
||||||
|
"hardwareDsa": "",
|
||||||
|
"platformDirectory": "",
|
||||||
|
"runtime": "",
|
||||||
|
"systemConfig": "",
|
||||||
|
"flow": "BF_RUN",
|
||||||
|
"target": "TT_HLS_C_SIM",
|
||||||
|
"kernels": [
|
||||||
|
{
|
||||||
|
"base": {
|
||||||
|
"type": "KERNEL",
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"file": "",
|
||||||
|
"reports": [],
|
||||||
|
"uuid": ""
|
||||||
|
},
|
||||||
|
"sources": [
|
||||||
|
"/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/gameoflife.cpp",
|
||||||
|
"/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/gameoflife.h"
|
||||||
|
],
|
||||||
|
"psSources": [],
|
||||||
|
"cuNames": [],
|
||||||
|
"type": "HLS",
|
||||||
|
"frequency": 0,
|
||||||
|
"freqUnits": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"toolVersion": "2025.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_SubCmdStep",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:08 2026",
|
||||||
|
"timestampMillis": "1792515008064",
|
||||||
|
"buildStep": {
|
||||||
|
"cmdId": "52087256-5096-452a-a117-2dd93b94b79f",
|
||||||
|
"name": "",
|
||||||
|
"logFile": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/hls/hls.log",
|
||||||
|
"commandLine": "",
|
||||||
|
"args": [],
|
||||||
|
"iniFiles": [],
|
||||||
|
"cwd": "/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Status",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:08 2026",
|
||||||
|
"timestampMillis": "1792515008067",
|
||||||
|
"status": {
|
||||||
|
"cmdId": "52087256-5096-452a-a117-2dd93b94b79f",
|
||||||
|
"state": "CS_RUNNING"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Status",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:09 2026",
|
||||||
|
"timestampMillis": "1792515009671",
|
||||||
|
"status": {
|
||||||
|
"cmdId": "52087256-5096-452a-a117-2dd93b94b79f",
|
||||||
|
"state": "CS_PASSED"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Status",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:09 2026",
|
||||||
|
"timestampMillis": "1792515009780",
|
||||||
|
"status": {
|
||||||
|
"cmdId": "611563b7-dc4a-4ed6-b71c-5c087f2ef0ef",
|
||||||
|
"state": "CS_PASSED"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:09 2026",
|
||||||
|
"timestampMillis": "1792515009781",
|
||||||
|
"report": {
|
||||||
|
"path": "",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "HTML",
|
||||||
|
"reportType": "GLOBAL_RULECHECK_GUIDANCE",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
|
<ENTRY>
|
||||||
|
{
|
||||||
|
"type": "ET_Report",
|
||||||
|
"dateTimestamp": "Tue Oct 20 17:50:09 2026",
|
||||||
|
"timestampMillis": "1792515009782",
|
||||||
|
"report": {
|
||||||
|
"path": "",
|
||||||
|
"name": "",
|
||||||
|
"fileType": "BINARY_PROTOBUF",
|
||||||
|
"reportType": "GLOBAL_RULECHECK_GUIDANCE",
|
||||||
|
"cmdId": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ENTRY>
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,23 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"functionLabel": "",
|
||||||
|
"functionName": "game_of_life_step",
|
||||||
|
"id": 0,
|
||||||
|
"ifcond": "",
|
||||||
|
"insert_position": "",
|
||||||
|
"label": "",
|
||||||
|
"pragma": {
|
||||||
|
"name": "TOP",
|
||||||
|
"option": [
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"value": "game_of_life_step"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"slx": false,
|
||||||
|
"sourceFile": "",
|
||||||
|
"sourceLine": 0,
|
||||||
|
"success": true
|
||||||
|
}
|
||||||
|
]
|
||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,280 @@
|
|||||||
|
; ModuleID = '/home/userfs/b/brs544/vitis_workspace/game_of_life_practical3b/game_of_life_practical3b/hls/.autopilot/db/a.g.ld.5.gdce.bc'
|
||||||
|
source_filename = "llvm-link"
|
||||||
|
target datalayout = "e-m:e-i64:64-i128:128-i256:256-i512:512-i1024:1024-i2048:2048-i4096:4096-n8:16:32:64-S128-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
|
||||||
|
target triple = "fpga64-xilinx-none"
|
||||||
|
|
||||||
|
; Function Attrs: inaccessiblemem_or_argmemonly noinline willreturn
|
||||||
|
define void @apatb_game_of_life_step_ir(i32* noalias nocapture nonnull readonly "fpga.decayed.dim.hint"="4" "partition" %in_words, i32* noalias nocapture nonnull "fpga.decayed.dim.hint"="4" "partition" %out_words) local_unnamed_addr #0 {
|
||||||
|
entry:
|
||||||
|
%0 = bitcast i32* %in_words to [4 x i32]*
|
||||||
|
%in_words_copy_0 = alloca i32, align 512
|
||||||
|
%in_words_copy_1 = alloca i32, align 512
|
||||||
|
%in_words_copy_2 = alloca i32, align 512
|
||||||
|
%in_words_copy_3 = alloca i32, align 512
|
||||||
|
%1 = bitcast i32* %out_words to [4 x i32]*
|
||||||
|
%out_words_copy_0 = alloca i32, align 512
|
||||||
|
%out_words_copy_1 = alloca i32, align 512
|
||||||
|
%out_words_copy_2 = alloca i32, align 512
|
||||||
|
%out_words_copy_3 = alloca i32, align 512
|
||||||
|
call void @copy_in([4 x i32]* nonnull %0, i32* nonnull align 512 %in_words_copy_0, i32* nonnull align 512 %in_words_copy_1, i32* nonnull align 512 %in_words_copy_2, i32* nonnull align 512 %in_words_copy_3, [4 x i32]* nonnull %1, i32* nonnull align 512 %out_words_copy_0, i32* nonnull align 512 %out_words_copy_1, i32* nonnull align 512 %out_words_copy_2, i32* nonnull align 512 %out_words_copy_3)
|
||||||
|
call void @apatb_game_of_life_step_hw(i32* %in_words_copy_0, i32* %in_words_copy_1, i32* %in_words_copy_2, i32* %in_words_copy_3, i32* %out_words_copy_0, i32* %out_words_copy_1, i32* %out_words_copy_2, i32* %out_words_copy_3)
|
||||||
|
call void @copy_back([4 x i32]* %0, i32* %in_words_copy_0, i32* %in_words_copy_1, i32* %in_words_copy_2, i32* %in_words_copy_3, [4 x i32]* %1, i32* %out_words_copy_0, i32* %out_words_copy_1, i32* %out_words_copy_2, i32* %out_words_copy_3)
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
; Function Attrs: argmemonly noinline norecurse willreturn
|
||||||
|
define void @arraycpy_hls.p0a4i32([4 x i32]* "orig.arg.no"="0" %dst, [4 x i32]* readonly "orig.arg.no"="1" %src, i64 "orig.arg.no"="2" %num) local_unnamed_addr #1 {
|
||||||
|
entry:
|
||||||
|
%0 = icmp eq [4 x i32]* %src, null
|
||||||
|
%1 = icmp eq [4 x i32]* %dst, null
|
||||||
|
%2 = or i1 %1, %0
|
||||||
|
br i1 %2, label %ret, label %copy
|
||||||
|
|
||||||
|
copy: ; preds = %entry
|
||||||
|
%for.loop.cond1 = icmp sgt i64 %num, 0
|
||||||
|
br i1 %for.loop.cond1, label %for.loop.lr.ph, label %copy.split
|
||||||
|
|
||||||
|
for.loop.lr.ph: ; preds = %copy
|
||||||
|
br label %for.loop
|
||||||
|
|
||||||
|
for.loop: ; preds = %for.loop, %for.loop.lr.ph
|
||||||
|
%for.loop.idx2 = phi i64 [ 0, %for.loop.lr.ph ], [ %for.loop.idx.next, %for.loop ]
|
||||||
|
%dst.addr = getelementptr [4 x i32], [4 x i32]* %dst, i64 0, i64 %for.loop.idx2
|
||||||
|
%src.addr = getelementptr [4 x i32], [4 x i32]* %src, i64 0, i64 %for.loop.idx2
|
||||||
|
%3 = load i32, i32* %src.addr, align 4
|
||||||
|
store i32 %3, i32* %dst.addr, align 4
|
||||||
|
%for.loop.idx.next = add nuw nsw i64 %for.loop.idx2, 1
|
||||||
|
%exitcond = icmp ne i64 %for.loop.idx.next, %num
|
||||||
|
br i1 %exitcond, label %for.loop, label %copy.split
|
||||||
|
|
||||||
|
copy.split: ; preds = %for.loop, %copy
|
||||||
|
br label %ret
|
||||||
|
|
||||||
|
ret: ; preds = %copy.split, %entry
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
; Function Attrs: argmemonly noinline norecurse willreturn
|
||||||
|
define void @arraycpy_hls.p0a4i32.4.5(i32* "orig.arg.no"="0" "unpacked"="0.0" %dst_0, i32* "orig.arg.no"="0" "unpacked"="0.1" %dst_1, i32* "orig.arg.no"="0" "unpacked"="0.2" %dst_2, i32* "orig.arg.no"="0" "unpacked"="0.3" %dst_3, [4 x i32]* readonly "orig.arg.no"="1" %src, i64 "orig.arg.no"="2" %num) #1 {
|
||||||
|
entry:
|
||||||
|
%0 = icmp eq [4 x i32]* %src, null
|
||||||
|
%1 = icmp eq i32* %dst_0, null
|
||||||
|
%2 = or i1 %1, %0
|
||||||
|
br i1 %2, label %ret, label %copy
|
||||||
|
|
||||||
|
copy: ; preds = %entry
|
||||||
|
%for.loop.cond1 = icmp sgt i64 %num, 0
|
||||||
|
br i1 %for.loop.cond1, label %for.loop.lr.ph, label %copy.split
|
||||||
|
|
||||||
|
for.loop.lr.ph: ; preds = %copy
|
||||||
|
br label %for.loop
|
||||||
|
|
||||||
|
for.loop: ; preds = %dst.addr.exit, %for.loop.lr.ph
|
||||||
|
%for.loop.idx2 = phi i64 [ 0, %for.loop.lr.ph ], [ %for.loop.idx.next, %dst.addr.exit ]
|
||||||
|
%src.addr = getelementptr [4 x i32], [4 x i32]* %src, i64 0, i64 %for.loop.idx2
|
||||||
|
%3 = load i32, i32* %src.addr, align 4
|
||||||
|
switch i64 %for.loop.idx2, label %dst.addr.exit [
|
||||||
|
i64 0, label %dst.addr.case.0
|
||||||
|
i64 1, label %dst.addr.case.1
|
||||||
|
i64 2, label %dst.addr.case.2
|
||||||
|
i64 3, label %dst.addr.case.3
|
||||||
|
]
|
||||||
|
|
||||||
|
dst.addr.case.0: ; preds = %for.loop
|
||||||
|
store i32 %3, i32* %dst_0, align 4
|
||||||
|
br label %dst.addr.exit
|
||||||
|
|
||||||
|
dst.addr.case.1: ; preds = %for.loop
|
||||||
|
store i32 %3, i32* %dst_1, align 4
|
||||||
|
br label %dst.addr.exit
|
||||||
|
|
||||||
|
dst.addr.case.2: ; preds = %for.loop
|
||||||
|
store i32 %3, i32* %dst_2, align 4
|
||||||
|
br label %dst.addr.exit
|
||||||
|
|
||||||
|
dst.addr.case.3: ; preds = %for.loop
|
||||||
|
store i32 %3, i32* %dst_3, align 4
|
||||||
|
br label %dst.addr.exit
|
||||||
|
|
||||||
|
dst.addr.exit: ; preds = %dst.addr.case.3, %dst.addr.case.2, %dst.addr.case.1, %dst.addr.case.0, %for.loop
|
||||||
|
%for.loop.idx.next = add nuw nsw i64 %for.loop.idx2, 1
|
||||||
|
%exitcond = icmp ne i64 %for.loop.idx.next, %num
|
||||||
|
br i1 %exitcond, label %for.loop, label %copy.split
|
||||||
|
|
||||||
|
copy.split: ; preds = %dst.addr.exit, %copy
|
||||||
|
br label %ret
|
||||||
|
|
||||||
|
ret: ; preds = %copy.split, %entry
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
; Function Attrs: argmemonly noinline norecurse willreturn
|
||||||
|
define internal void @onebyonecpy_hls.p0a4i32.3.6(i32* noalias align 512 "orig.arg.no"="0" "unpacked"="0.0" %dst_0, i32* noalias align 512 "orig.arg.no"="0" "unpacked"="0.1" %dst_1, i32* noalias align 512 "orig.arg.no"="0" "unpacked"="0.2" %dst_2, i32* noalias align 512 "orig.arg.no"="0" "unpacked"="0.3" %dst_3, [4 x i32]* noalias readonly "orig.arg.no"="1" %src) #2 {
|
||||||
|
entry:
|
||||||
|
%0 = icmp eq i32* %dst_0, null
|
||||||
|
%1 = icmp eq [4 x i32]* %src, null
|
||||||
|
%2 = or i1 %0, %1
|
||||||
|
br i1 %2, label %ret, label %copy
|
||||||
|
|
||||||
|
copy: ; preds = %entry
|
||||||
|
call void @arraycpy_hls.p0a4i32.4.5(i32* nonnull %dst_0, i32* %dst_1, i32* %dst_2, i32* %dst_3, [4 x i32]* nonnull %src, i64 4)
|
||||||
|
br label %ret
|
||||||
|
|
||||||
|
ret: ; preds = %copy, %entry
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
; Function Attrs: argmemonly noinline norecurse willreturn
|
||||||
|
define internal void @copy_in([4 x i32]* noalias readonly "orig.arg.no"="0", i32* noalias align 512 "orig.arg.no"="1" "unpacked"="1.0" %_0, i32* noalias align 512 "orig.arg.no"="1" "unpacked"="1.1" %_1, i32* noalias align 512 "orig.arg.no"="1" "unpacked"="1.2" %_2, i32* noalias align 512 "orig.arg.no"="1" "unpacked"="1.3" %_3, [4 x i32]* noalias readonly "orig.arg.no"="2", i32* noalias align 512 "orig.arg.no"="3" "unpacked"="3.0" %_01, i32* noalias align 512 "orig.arg.no"="3" "unpacked"="3.1" %_12, i32* noalias align 512 "orig.arg.no"="3" "unpacked"="3.2" %_23, i32* noalias align 512 "orig.arg.no"="3" "unpacked"="3.3" %_34) #3 {
|
||||||
|
entry:
|
||||||
|
call void @onebyonecpy_hls.p0a4i32.3.6(i32* align 512 %_0, i32* align 512 %_1, i32* align 512 %_2, i32* align 512 %_3, [4 x i32]* %0)
|
||||||
|
call void @onebyonecpy_hls.p0a4i32.3.6(i32* align 512 %_01, i32* align 512 %_12, i32* align 512 %_23, i32* align 512 %_34, [4 x i32]* %1)
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
; Function Attrs: argmemonly noinline norecurse willreturn
|
||||||
|
define void @arraycpy_hls.p0a4i32.12.13([4 x i32]* "orig.arg.no"="0" %dst, i32* readonly "orig.arg.no"="1" "unpacked"="1.0" %src_0, i32* readonly "orig.arg.no"="1" "unpacked"="1.1" %src_1, i32* readonly "orig.arg.no"="1" "unpacked"="1.2" %src_2, i32* readonly "orig.arg.no"="1" "unpacked"="1.3" %src_3, i64 "orig.arg.no"="2" %num) #1 {
|
||||||
|
entry:
|
||||||
|
%0 = icmp eq i32* %src_0, null
|
||||||
|
%1 = icmp eq [4 x i32]* %dst, null
|
||||||
|
%2 = or i1 %1, %0
|
||||||
|
br i1 %2, label %ret, label %copy
|
||||||
|
|
||||||
|
copy: ; preds = %entry
|
||||||
|
%for.loop.cond1 = icmp sgt i64 %num, 0
|
||||||
|
br i1 %for.loop.cond1, label %for.loop.lr.ph, label %copy.split
|
||||||
|
|
||||||
|
for.loop.lr.ph: ; preds = %copy
|
||||||
|
br label %for.loop
|
||||||
|
|
||||||
|
for.loop: ; preds = %src.addr.exit, %for.loop.lr.ph
|
||||||
|
%for.loop.idx2 = phi i64 [ 0, %for.loop.lr.ph ], [ %for.loop.idx.next, %src.addr.exit ]
|
||||||
|
%dst.addr = getelementptr [4 x i32], [4 x i32]* %dst, i64 0, i64 %for.loop.idx2
|
||||||
|
switch i64 %for.loop.idx2, label %src.addr.exit [
|
||||||
|
i64 0, label %src.addr.case.0
|
||||||
|
i64 1, label %src.addr.case.1
|
||||||
|
i64 2, label %src.addr.case.2
|
||||||
|
i64 3, label %src.addr.case.3
|
||||||
|
]
|
||||||
|
|
||||||
|
src.addr.case.0: ; preds = %for.loop
|
||||||
|
%_0 = load i32, i32* %src_0, align 4
|
||||||
|
br label %src.addr.exit
|
||||||
|
|
||||||
|
src.addr.case.1: ; preds = %for.loop
|
||||||
|
%_1 = load i32, i32* %src_1, align 4
|
||||||
|
br label %src.addr.exit
|
||||||
|
|
||||||
|
src.addr.case.2: ; preds = %for.loop
|
||||||
|
%_2 = load i32, i32* %src_2, align 4
|
||||||
|
br label %src.addr.exit
|
||||||
|
|
||||||
|
src.addr.case.3: ; preds = %for.loop
|
||||||
|
%_3 = load i32, i32* %src_3, align 4
|
||||||
|
br label %src.addr.exit
|
||||||
|
|
||||||
|
src.addr.exit: ; preds = %src.addr.case.3, %src.addr.case.2, %src.addr.case.1, %src.addr.case.0, %for.loop
|
||||||
|
%3 = phi i32 [ %_0, %src.addr.case.0 ], [ %_1, %src.addr.case.1 ], [ %_2, %src.addr.case.2 ], [ %_3, %src.addr.case.3 ], [ undef, %for.loop ]
|
||||||
|
store i32 %3, i32* %dst.addr, align 4
|
||||||
|
%for.loop.idx.next = add nuw nsw i64 %for.loop.idx2, 1
|
||||||
|
%exitcond = icmp ne i64 %for.loop.idx.next, %num
|
||||||
|
br i1 %exitcond, label %for.loop, label %copy.split
|
||||||
|
|
||||||
|
copy.split: ; preds = %src.addr.exit, %copy
|
||||||
|
br label %ret
|
||||||
|
|
||||||
|
ret: ; preds = %copy.split, %entry
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
; Function Attrs: argmemonly noinline norecurse willreturn
|
||||||
|
define internal void @onebyonecpy_hls.p0a4i32.11.14([4 x i32]* noalias "orig.arg.no"="0" %dst, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.0" %src_0, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.1" %src_1, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.2" %src_2, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.3" %src_3) #2 {
|
||||||
|
entry:
|
||||||
|
%0 = icmp eq [4 x i32]* %dst, null
|
||||||
|
%1 = icmp eq i32* %src_0, null
|
||||||
|
%2 = or i1 %0, %1
|
||||||
|
br i1 %2, label %ret, label %copy
|
||||||
|
|
||||||
|
copy: ; preds = %entry
|
||||||
|
call void @arraycpy_hls.p0a4i32.12.13([4 x i32]* nonnull %dst, i32* nonnull %src_0, i32* %src_1, i32* %src_2, i32* %src_3, i64 4)
|
||||||
|
br label %ret
|
||||||
|
|
||||||
|
ret: ; preds = %copy, %entry
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
; Function Attrs: argmemonly noinline norecurse willreturn
|
||||||
|
define internal void @copy_out([4 x i32]* noalias "orig.arg.no"="0", i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.0" %_0, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.1" %_1, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.2" %_2, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.3" %_3, [4 x i32]* noalias "orig.arg.no"="2", i32* noalias readonly align 512 "orig.arg.no"="3" "unpacked"="3.0" %_01, i32* noalias readonly align 512 "orig.arg.no"="3" "unpacked"="3.1" %_12, i32* noalias readonly align 512 "orig.arg.no"="3" "unpacked"="3.2" %_23, i32* noalias readonly align 512 "orig.arg.no"="3" "unpacked"="3.3" %_34) #4 {
|
||||||
|
entry:
|
||||||
|
call void @onebyonecpy_hls.p0a4i32.11.14([4 x i32]* %0, i32* align 512 %_0, i32* align 512 %_1, i32* align 512 %_2, i32* align 512 %_3)
|
||||||
|
call void @onebyonecpy_hls.p0a4i32.11.14([4 x i32]* %1, i32* align 512 %_01, i32* align 512 %_12, i32* align 512 %_23, i32* align 512 %_34)
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
declare i8* @malloc(i64)
|
||||||
|
|
||||||
|
declare void @free(i8*)
|
||||||
|
|
||||||
|
declare void @apatb_game_of_life_step_hw(i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*)
|
||||||
|
|
||||||
|
; Function Attrs: argmemonly noinline norecurse willreturn
|
||||||
|
define internal void @copy_back([4 x i32]* noalias "orig.arg.no"="0", i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.0" %_0, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.1" %_1, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.2" %_2, i32* noalias readonly align 512 "orig.arg.no"="1" "unpacked"="1.3" %_3, [4 x i32]* noalias "orig.arg.no"="2", i32* noalias readonly align 512 "orig.arg.no"="3" "unpacked"="3.0" %_01, i32* noalias readonly align 512 "orig.arg.no"="3" "unpacked"="3.1" %_12, i32* noalias readonly align 512 "orig.arg.no"="3" "unpacked"="3.2" %_23, i32* noalias readonly align 512 "orig.arg.no"="3" "unpacked"="3.3" %_34) #4 {
|
||||||
|
entry:
|
||||||
|
call void @onebyonecpy_hls.p0a4i32.11.14([4 x i32]* %1, i32* align 512 %_01, i32* align 512 %_12, i32* align 512 %_23, i32* align 512 %_34)
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
declare void @game_of_life_step_hw_stub(i32* noalias nocapture nonnull readonly, i32* noalias nocapture nonnull)
|
||||||
|
|
||||||
|
define void @game_of_life_step_hw_stub_wrapper(i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32*) #5 {
|
||||||
|
entry:
|
||||||
|
%8 = call i8* @malloc(i64 16)
|
||||||
|
%9 = bitcast i8* %8 to [4 x i32]*
|
||||||
|
%10 = call i8* @malloc(i64 16)
|
||||||
|
%11 = bitcast i8* %10 to [4 x i32]*
|
||||||
|
call void @copy_out([4 x i32]* %9, i32* %0, i32* %1, i32* %2, i32* %3, [4 x i32]* %11, i32* %4, i32* %5, i32* %6, i32* %7)
|
||||||
|
%12 = bitcast [4 x i32]* %9 to i32*
|
||||||
|
%13 = bitcast [4 x i32]* %11 to i32*
|
||||||
|
call void @game_of_life_step_hw_stub(i32* %12, i32* %13)
|
||||||
|
call void @copy_in([4 x i32]* %9, i32* %0, i32* %1, i32* %2, i32* %3, [4 x i32]* %11, i32* %4, i32* %5, i32* %6, i32* %7)
|
||||||
|
call void @free(i8* %8)
|
||||||
|
call void @free(i8* %10)
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
attributes #0 = { inaccessiblemem_or_argmemonly noinline willreturn "fpga.wrapper.func"="wrapper" }
|
||||||
|
attributes #1 = { argmemonly noinline norecurse willreturn "fpga.wrapper.func"="arraycpy_hls" }
|
||||||
|
attributes #2 = { argmemonly noinline norecurse willreturn "fpga.wrapper.func"="onebyonecpy_hls" }
|
||||||
|
attributes #3 = { argmemonly noinline norecurse willreturn "fpga.wrapper.func"="copyin" }
|
||||||
|
attributes #4 = { argmemonly noinline norecurse willreturn "fpga.wrapper.func"="copyout" }
|
||||||
|
attributes #5 = { "fpga.wrapper.func"="stub" }
|
||||||
|
|
||||||
|
!llvm.dbg.cu = !{}
|
||||||
|
!llvm.ident = !{!0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0, !0}
|
||||||
|
!llvm.module.flags = !{!1, !2, !3}
|
||||||
|
!blackbox_cfg = !{!4}
|
||||||
|
!datalayout.transforms.on.top = !{!5, !15}
|
||||||
|
|
||||||
|
!0 = !{!"clang version 7.0.0 "}
|
||||||
|
!1 = !{i32 2, !"Dwarf Version", i32 4}
|
||||||
|
!2 = !{i32 2, !"Debug Info Version", i32 3}
|
||||||
|
!3 = !{i32 1, !"wchar_size", i32 4}
|
||||||
|
!4 = !{}
|
||||||
|
!5 = !{!6, !8, !10}
|
||||||
|
!6 = !{!7}
|
||||||
|
!7 = !{!"0", [4 x i32]* null}
|
||||||
|
!8 = !{!9}
|
||||||
|
!9 = !{!"array_partition", !"type=Complete", !"dim=1"}
|
||||||
|
!10 = !{!11, !12, !13, !14}
|
||||||
|
!11 = !{!"0.0", i32* null}
|
||||||
|
!12 = !{!"0.1", i32* null}
|
||||||
|
!13 = !{!"0.2", i32* null}
|
||||||
|
!14 = !{!"0.3", i32* null}
|
||||||
|
!15 = !{!16, !8, !18}
|
||||||
|
!16 = !{!17}
|
||||||
|
!17 = !{!"1", [4 x i32]* null}
|
||||||
|
!18 = !{!19, !20, !21, !22}
|
||||||
|
!19 = !{!"1.0", i32* null}
|
||||||
|
!20 = !{!"1.1", i32* null}
|
||||||
|
!21 = !{!"1.2", i32* null}
|
||||||
|
!22 = !{!"1.3", i32* null}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
set SynModuleInfo {
|
||||||
|
{SRCNAME game_of_life_step MODELNAME game_of_life_step RTLNAME game_of_life_step IS_TOP 1
|
||||||
|
SUBMODULES {
|
||||||
|
{MODELNAME game_of_life_step_AXILiteS_s_axi RTLNAME game_of_life_step_AXILiteS_s_axi BINDTYPE interface TYPE interface_s_axilite}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
game_of_life_step_AXILiteS_s_axi
|
||||||
|
game_of_life_step
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 56,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 3,
|
||||||
|
"def_use_depth": 5,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 203,
|
||||||
|
"loads": {
|
||||||
|
"L": 3,
|
||||||
|
"T": 1
|
||||||
|
},
|
||||||
|
"memory_accesses": 12,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"L": 3,
|
||||||
|
"T": 1
|
||||||
|
},
|
||||||
|
"total_instructions": 376
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 4426,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 3,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 12626,
|
||||||
|
"loads": {
|
||||||
|
"L": 1204,
|
||||||
|
"T": 100
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"L": 304,
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 12626
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 37,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 3588,
|
||||||
|
"loads": {
|
||||||
|
"L": 145,
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"L": 200,
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 3588
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 3492,
|
||||||
|
"loads": {
|
||||||
|
"L": 142,
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"L": 200,
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 3492
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 3492,
|
||||||
|
"loads": {
|
||||||
|
"L": 142,
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"L": 200,
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 3492
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 3482,
|
||||||
|
"loads": {
|
||||||
|
"L": 141,
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"L": 200,
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 3482
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2921,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2921
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2921,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2921
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2921,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2921
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2921,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2921
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2921,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2921
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2921,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2921
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2921,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2921
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2921,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2921
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2921,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2921
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2937,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2937
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"basicblocks": 1,
|
||||||
|
"calls": "",
|
||||||
|
"control_depth": 0,
|
||||||
|
"def_use_depth": 16,
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": 5,
|
||||||
|
"instructions": 2938,
|
||||||
|
"loads": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"memory_accesses": 0,
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"stores": {
|
||||||
|
"T": 4
|
||||||
|
},
|
||||||
|
"total_instructions": 2938
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"0": {
|
||||||
|
"name": "game_of_life_step",
|
||||||
|
"file": "gameoflife.cpp",
|
||||||
|
"fileloc": "5",
|
||||||
|
"instructions": "1714",
|
||||||
|
"total_instructions": "1714",
|
||||||
|
"calls": "",
|
||||||
|
"basicblocks": "1",
|
||||||
|
"memory_accesses": "0",
|
||||||
|
"control_depth": "0",
|
||||||
|
"def_use_depth": "10"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
// 0x00 : Control signals
|
||||||
|
// bit 0 - ap_start (Read/Write/COH)
|
||||||
|
// bit 1 - ap_done (Read/COR)
|
||||||
|
// bit 2 - ap_idle (Read)
|
||||||
|
// bit 3 - ap_ready (Read/COR)
|
||||||
|
// bit 7 - auto_restart (Read/Write)
|
||||||
|
// bit 9 - interrupt (Read)
|
||||||
|
// others - reserved
|
||||||
|
// 0x04 : Global Interrupt Enable Register
|
||||||
|
// bit 0 - Global Interrupt Enable (Read/Write)
|
||||||
|
// others - reserved
|
||||||
|
// 0x08 : IP Interrupt Enable Register (Read/Write)
|
||||||
|
// bit 0 - enable ap_done interrupt (Read/Write)
|
||||||
|
// bit 1 - enable ap_ready interrupt (Read/Write)
|
||||||
|
// others - reserved
|
||||||
|
// 0x0c : IP Interrupt Status Register (Read/TOW)
|
||||||
|
// bit 0 - ap_done (Read/TOW)
|
||||||
|
// bit 1 - ap_ready (Read/TOW)
|
||||||
|
// others - reserved
|
||||||
|
// 0x10 : Data signal of in_words_0
|
||||||
|
// bit 31~0 - in_words_0[31:0] (Read/Write)
|
||||||
|
// 0x14 : reserved
|
||||||
|
// 0x18 : Data signal of in_words_1
|
||||||
|
// bit 31~0 - in_words_1[31:0] (Read/Write)
|
||||||
|
// 0x1c : reserved
|
||||||
|
// 0x20 : Data signal of in_words_2
|
||||||
|
// bit 31~0 - in_words_2[31:0] (Read/Write)
|
||||||
|
// 0x24 : reserved
|
||||||
|
// 0x28 : Data signal of in_words_3
|
||||||
|
// bit 31~0 - in_words_3[31:0] (Read/Write)
|
||||||
|
// 0x2c : reserved
|
||||||
|
// 0x30 : Data signal of out_words_0
|
||||||
|
// bit 31~0 - out_words_0[31:0] (Read)
|
||||||
|
// 0x34 : Control signal of out_words_0
|
||||||
|
// bit 0 - out_words_0_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// 0x40 : Data signal of out_words_1
|
||||||
|
// bit 31~0 - out_words_1[31:0] (Read)
|
||||||
|
// 0x44 : Control signal of out_words_1
|
||||||
|
// bit 0 - out_words_1_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// 0x50 : Data signal of out_words_2
|
||||||
|
// bit 31~0 - out_words_2[31:0] (Read)
|
||||||
|
// 0x54 : Control signal of out_words_2
|
||||||
|
// bit 0 - out_words_2_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// 0x60 : Data signal of out_words_3
|
||||||
|
// bit 31~0 - out_words_3[31:0] (Read)
|
||||||
|
// 0x64 : Control signal of out_words_3
|
||||||
|
// bit 0 - out_words_3_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// (SC = Self Clear, COR = Clear on Read, TOW = Toggle on Write, COH = Clear on Handshake)
|
||||||
|
|
||||||
|
#define AXILITES_ADDR_AP_CTRL 0x00
|
||||||
|
#define AXILITES_ADDR_GIE 0x04
|
||||||
|
#define AXILITES_ADDR_IER 0x08
|
||||||
|
#define AXILITES_ADDR_ISR 0x0c
|
||||||
|
#define AXILITES_ADDR_IN_WORDS_0_DATA 0x10
|
||||||
|
#define AXILITES_BITS_IN_WORDS_0_DATA 32
|
||||||
|
#define AXILITES_ADDR_IN_WORDS_1_DATA 0x18
|
||||||
|
#define AXILITES_BITS_IN_WORDS_1_DATA 32
|
||||||
|
#define AXILITES_ADDR_IN_WORDS_2_DATA 0x20
|
||||||
|
#define AXILITES_BITS_IN_WORDS_2_DATA 32
|
||||||
|
#define AXILITES_ADDR_IN_WORDS_3_DATA 0x28
|
||||||
|
#define AXILITES_BITS_IN_WORDS_3_DATA 32
|
||||||
|
#define AXILITES_ADDR_OUT_WORDS_0_DATA 0x30
|
||||||
|
#define AXILITES_BITS_OUT_WORDS_0_DATA 32
|
||||||
|
#define AXILITES_ADDR_OUT_WORDS_0_CTRL 0x34
|
||||||
|
#define AXILITES_ADDR_OUT_WORDS_1_DATA 0x40
|
||||||
|
#define AXILITES_BITS_OUT_WORDS_1_DATA 32
|
||||||
|
#define AXILITES_ADDR_OUT_WORDS_1_CTRL 0x44
|
||||||
|
#define AXILITES_ADDR_OUT_WORDS_2_DATA 0x50
|
||||||
|
#define AXILITES_BITS_OUT_WORDS_2_DATA 32
|
||||||
|
#define AXILITES_ADDR_OUT_WORDS_2_CTRL 0x54
|
||||||
|
#define AXILITES_ADDR_OUT_WORDS_3_DATA 0x60
|
||||||
|
#define AXILITES_BITS_OUT_WORDS_3_DATA 32
|
||||||
|
#define AXILITES_ADDR_OUT_WORDS_3_CTRL 0x64
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
dict set slaves AXILiteS {ports {in_words_0 {type i_ap_none width 32} in_words_1 {type i_ap_none width 32} in_words_2 {type i_ap_none width 32} in_words_3 {type i_ap_none width 32} out_words_0 {type o_ap_vld width 32} out_words_1 {type o_ap_vld width 32} out_words_2 {type o_ap_vld width 32} out_words_3 {type o_ap_vld width 32} ap_start {type ap_ctrl width 1} ap_done {type ap_ctrl width 1} ap_ready {type ap_ctrl width 1} ap_idle {type ap_ctrl width 1}} mems {} has_ctrl 1}
|
||||||
|
set datawidth 32
|
||||||
|
set addrwidth 64
|
||||||
|
set intr_clr_mode TOW
|
||||||
@@ -0,0 +1,612 @@
|
|||||||
|
// ==============================================================
|
||||||
|
// Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
// Tool Version Limit: 2025.05
|
||||||
|
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
//
|
||||||
|
// ==============================================================
|
||||||
|
`timescale 1ns/1ps
|
||||||
|
module game_of_life_step_AXILiteS_s_axi
|
||||||
|
#(parameter
|
||||||
|
C_S_AXI_ADDR_WIDTH = 7,
|
||||||
|
C_S_AXI_DATA_WIDTH = 32
|
||||||
|
)(
|
||||||
|
input wire ACLK,
|
||||||
|
input wire ARESET,
|
||||||
|
input wire ACLK_EN,
|
||||||
|
input wire [C_S_AXI_ADDR_WIDTH-1:0] AWADDR,
|
||||||
|
input wire AWVALID,
|
||||||
|
output wire AWREADY,
|
||||||
|
input wire [C_S_AXI_DATA_WIDTH-1:0] WDATA,
|
||||||
|
input wire [C_S_AXI_DATA_WIDTH/8-1:0] WSTRB,
|
||||||
|
input wire WVALID,
|
||||||
|
output wire WREADY,
|
||||||
|
output wire [1:0] BRESP,
|
||||||
|
output wire BVALID,
|
||||||
|
input wire BREADY,
|
||||||
|
input wire [C_S_AXI_ADDR_WIDTH-1:0] ARADDR,
|
||||||
|
input wire ARVALID,
|
||||||
|
output wire ARREADY,
|
||||||
|
output wire [C_S_AXI_DATA_WIDTH-1:0] RDATA,
|
||||||
|
output wire [1:0] RRESP,
|
||||||
|
output wire RVALID,
|
||||||
|
input wire RREADY,
|
||||||
|
output wire interrupt,
|
||||||
|
output wire [31:0] in_words_0,
|
||||||
|
output wire [31:0] in_words_1,
|
||||||
|
output wire [31:0] in_words_2,
|
||||||
|
output wire [31:0] in_words_3,
|
||||||
|
input wire [31:0] out_words_0,
|
||||||
|
input wire out_words_0_ap_vld,
|
||||||
|
input wire [31:0] out_words_1,
|
||||||
|
input wire out_words_1_ap_vld,
|
||||||
|
input wire [31:0] out_words_2,
|
||||||
|
input wire out_words_2_ap_vld,
|
||||||
|
input wire [31:0] out_words_3,
|
||||||
|
input wire out_words_3_ap_vld,
|
||||||
|
output wire ap_start,
|
||||||
|
input wire ap_done,
|
||||||
|
input wire ap_ready,
|
||||||
|
input wire ap_idle
|
||||||
|
);
|
||||||
|
//------------------------Address Info-------------------
|
||||||
|
// Protocol Used: ap_ctrl_hs
|
||||||
|
//
|
||||||
|
// 0x00 : Control signals
|
||||||
|
// bit 0 - ap_start (Read/Write/COH)
|
||||||
|
// bit 1 - ap_done (Read/COR)
|
||||||
|
// bit 2 - ap_idle (Read)
|
||||||
|
// bit 3 - ap_ready (Read/COR)
|
||||||
|
// bit 7 - auto_restart (Read/Write)
|
||||||
|
// bit 9 - interrupt (Read)
|
||||||
|
// others - reserved
|
||||||
|
// 0x04 : Global Interrupt Enable Register
|
||||||
|
// bit 0 - Global Interrupt Enable (Read/Write)
|
||||||
|
// others - reserved
|
||||||
|
// 0x08 : IP Interrupt Enable Register (Read/Write)
|
||||||
|
// bit 0 - enable ap_done interrupt (Read/Write)
|
||||||
|
// bit 1 - enable ap_ready interrupt (Read/Write)
|
||||||
|
// others - reserved
|
||||||
|
// 0x0c : IP Interrupt Status Register (Read/TOW)
|
||||||
|
// bit 0 - ap_done (Read/TOW)
|
||||||
|
// bit 1 - ap_ready (Read/TOW)
|
||||||
|
// others - reserved
|
||||||
|
// 0x10 : Data signal of in_words_0
|
||||||
|
// bit 31~0 - in_words_0[31:0] (Read/Write)
|
||||||
|
// 0x14 : reserved
|
||||||
|
// 0x18 : Data signal of in_words_1
|
||||||
|
// bit 31~0 - in_words_1[31:0] (Read/Write)
|
||||||
|
// 0x1c : reserved
|
||||||
|
// 0x20 : Data signal of in_words_2
|
||||||
|
// bit 31~0 - in_words_2[31:0] (Read/Write)
|
||||||
|
// 0x24 : reserved
|
||||||
|
// 0x28 : Data signal of in_words_3
|
||||||
|
// bit 31~0 - in_words_3[31:0] (Read/Write)
|
||||||
|
// 0x2c : reserved
|
||||||
|
// 0x30 : Data signal of out_words_0
|
||||||
|
// bit 31~0 - out_words_0[31:0] (Read)
|
||||||
|
// 0x34 : Control signal of out_words_0
|
||||||
|
// bit 0 - out_words_0_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// 0x40 : Data signal of out_words_1
|
||||||
|
// bit 31~0 - out_words_1[31:0] (Read)
|
||||||
|
// 0x44 : Control signal of out_words_1
|
||||||
|
// bit 0 - out_words_1_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// 0x50 : Data signal of out_words_2
|
||||||
|
// bit 31~0 - out_words_2[31:0] (Read)
|
||||||
|
// 0x54 : Control signal of out_words_2
|
||||||
|
// bit 0 - out_words_2_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// 0x60 : Data signal of out_words_3
|
||||||
|
// bit 31~0 - out_words_3[31:0] (Read)
|
||||||
|
// 0x64 : Control signal of out_words_3
|
||||||
|
// bit 0 - out_words_3_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// (SC = Self Clear, COR = Clear on Read, TOW = Toggle on Write, COH = Clear on Handshake)
|
||||||
|
|
||||||
|
//------------------------Parameter----------------------
|
||||||
|
localparam
|
||||||
|
ADDR_AP_CTRL = 7'h00,
|
||||||
|
ADDR_GIE = 7'h04,
|
||||||
|
ADDR_IER = 7'h08,
|
||||||
|
ADDR_ISR = 7'h0c,
|
||||||
|
ADDR_IN_WORDS_0_DATA_0 = 7'h10,
|
||||||
|
ADDR_IN_WORDS_0_CTRL = 7'h14,
|
||||||
|
ADDR_IN_WORDS_1_DATA_0 = 7'h18,
|
||||||
|
ADDR_IN_WORDS_1_CTRL = 7'h1c,
|
||||||
|
ADDR_IN_WORDS_2_DATA_0 = 7'h20,
|
||||||
|
ADDR_IN_WORDS_2_CTRL = 7'h24,
|
||||||
|
ADDR_IN_WORDS_3_DATA_0 = 7'h28,
|
||||||
|
ADDR_IN_WORDS_3_CTRL = 7'h2c,
|
||||||
|
ADDR_OUT_WORDS_0_DATA_0 = 7'h30,
|
||||||
|
ADDR_OUT_WORDS_0_CTRL = 7'h34,
|
||||||
|
ADDR_OUT_WORDS_1_DATA_0 = 7'h40,
|
||||||
|
ADDR_OUT_WORDS_1_CTRL = 7'h44,
|
||||||
|
ADDR_OUT_WORDS_2_DATA_0 = 7'h50,
|
||||||
|
ADDR_OUT_WORDS_2_CTRL = 7'h54,
|
||||||
|
ADDR_OUT_WORDS_3_DATA_0 = 7'h60,
|
||||||
|
ADDR_OUT_WORDS_3_CTRL = 7'h64,
|
||||||
|
WRIDLE = 2'd0,
|
||||||
|
WRDATA = 2'd1,
|
||||||
|
WRRESP = 2'd2,
|
||||||
|
WRRESET = 2'd3,
|
||||||
|
RDIDLE = 2'd0,
|
||||||
|
RDDATA = 2'd1,
|
||||||
|
RDRESET = 2'd2,
|
||||||
|
ADDR_BITS = 7;
|
||||||
|
|
||||||
|
//------------------------Local signal-------------------
|
||||||
|
reg [1:0] wstate = WRRESET;
|
||||||
|
reg [1:0] wnext;
|
||||||
|
reg [ADDR_BITS-1:0] waddr;
|
||||||
|
wire [C_S_AXI_DATA_WIDTH-1:0] wmask;
|
||||||
|
wire aw_hs;
|
||||||
|
wire w_hs;
|
||||||
|
reg [1:0] rstate = RDRESET;
|
||||||
|
reg [1:0] rnext;
|
||||||
|
reg [C_S_AXI_DATA_WIDTH-1:0] rdata;
|
||||||
|
wire ar_hs;
|
||||||
|
wire [ADDR_BITS-1:0] raddr;
|
||||||
|
// internal registers
|
||||||
|
reg int_ap_idle = 1'b0;
|
||||||
|
reg int_ap_ready = 1'b0;
|
||||||
|
wire task_ap_ready;
|
||||||
|
reg int_ap_done = 1'b0;
|
||||||
|
wire task_ap_done;
|
||||||
|
reg int_task_ap_done = 1'b0;
|
||||||
|
reg int_ap_start = 1'b0;
|
||||||
|
reg int_interrupt = 1'b0;
|
||||||
|
reg int_auto_restart = 1'b0;
|
||||||
|
reg auto_restart_status = 1'b0;
|
||||||
|
wire auto_restart_done;
|
||||||
|
reg int_gie = 1'b0;
|
||||||
|
reg [1:0] int_ier = 2'b0;
|
||||||
|
reg [1:0] int_isr = 2'b0;
|
||||||
|
reg [31:0] int_in_words_0 = 'b0;
|
||||||
|
reg [31:0] int_in_words_1 = 'b0;
|
||||||
|
reg [31:0] int_in_words_2 = 'b0;
|
||||||
|
reg [31:0] int_in_words_3 = 'b0;
|
||||||
|
reg int_out_words_0_ap_vld;
|
||||||
|
reg [31:0] int_out_words_0 = 'b0;
|
||||||
|
reg int_out_words_1_ap_vld;
|
||||||
|
reg [31:0] int_out_words_1 = 'b0;
|
||||||
|
reg int_out_words_2_ap_vld;
|
||||||
|
reg [31:0] int_out_words_2 = 'b0;
|
||||||
|
reg int_out_words_3_ap_vld;
|
||||||
|
reg [31:0] int_out_words_3 = 'b0;
|
||||||
|
|
||||||
|
//------------------------Instantiation------------------
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------AXI write fsm------------------
|
||||||
|
assign AWREADY = (wstate == WRIDLE);
|
||||||
|
assign WREADY = (wstate == WRDATA);
|
||||||
|
assign BVALID = (wstate == WRRESP);
|
||||||
|
assign BRESP = 2'b00; // OKAY
|
||||||
|
assign wmask = { {8{WSTRB[3]}}, {8{WSTRB[2]}}, {8{WSTRB[1]}}, {8{WSTRB[0]}} };
|
||||||
|
assign aw_hs = AWVALID & AWREADY;
|
||||||
|
assign w_hs = WVALID & WREADY;
|
||||||
|
|
||||||
|
// wstate
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
wstate <= WRRESET;
|
||||||
|
else if (ACLK_EN)
|
||||||
|
wstate <= wnext;
|
||||||
|
end
|
||||||
|
|
||||||
|
// wnext
|
||||||
|
always @(*) begin
|
||||||
|
case (wstate)
|
||||||
|
WRIDLE:
|
||||||
|
if (AWVALID)
|
||||||
|
wnext = WRDATA;
|
||||||
|
else
|
||||||
|
wnext = WRIDLE;
|
||||||
|
WRDATA:
|
||||||
|
if (WVALID)
|
||||||
|
wnext = WRRESP;
|
||||||
|
else
|
||||||
|
wnext = WRDATA;
|
||||||
|
WRRESP:
|
||||||
|
if (BREADY & BVALID)
|
||||||
|
wnext = WRIDLE;
|
||||||
|
else
|
||||||
|
wnext = WRRESP;
|
||||||
|
default:
|
||||||
|
wnext = WRIDLE;
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
|
||||||
|
// waddr
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ACLK_EN) begin
|
||||||
|
if (aw_hs)
|
||||||
|
waddr <= {AWADDR[ADDR_BITS-1:2], {2{1'b0}}};
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
//------------------------AXI read fsm-------------------
|
||||||
|
assign ARREADY = (rstate == RDIDLE);
|
||||||
|
assign RDATA = rdata;
|
||||||
|
assign RRESP = 2'b00; // OKAY
|
||||||
|
assign RVALID = (rstate == RDDATA);
|
||||||
|
assign ar_hs = ARVALID & ARREADY;
|
||||||
|
assign raddr = ARADDR[ADDR_BITS-1:0];
|
||||||
|
|
||||||
|
// rstate
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
rstate <= RDRESET;
|
||||||
|
else if (ACLK_EN)
|
||||||
|
rstate <= rnext;
|
||||||
|
end
|
||||||
|
|
||||||
|
// rnext
|
||||||
|
always @(*) begin
|
||||||
|
case (rstate)
|
||||||
|
RDIDLE:
|
||||||
|
if (ARVALID)
|
||||||
|
rnext = RDDATA;
|
||||||
|
else
|
||||||
|
rnext = RDIDLE;
|
||||||
|
RDDATA:
|
||||||
|
if (RREADY & RVALID)
|
||||||
|
rnext = RDIDLE;
|
||||||
|
else
|
||||||
|
rnext = RDDATA;
|
||||||
|
default:
|
||||||
|
rnext = RDIDLE;
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
|
||||||
|
// rdata
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ACLK_EN) begin
|
||||||
|
if (ar_hs) begin
|
||||||
|
rdata <= 'b0;
|
||||||
|
case (raddr)
|
||||||
|
ADDR_AP_CTRL: begin
|
||||||
|
rdata[0] <= int_ap_start;
|
||||||
|
rdata[1] <= int_task_ap_done;
|
||||||
|
rdata[2] <= int_ap_idle;
|
||||||
|
rdata[3] <= int_ap_ready;
|
||||||
|
rdata[7] <= int_auto_restart;
|
||||||
|
rdata[9] <= int_interrupt;
|
||||||
|
end
|
||||||
|
ADDR_GIE: begin
|
||||||
|
rdata <= int_gie;
|
||||||
|
end
|
||||||
|
ADDR_IER: begin
|
||||||
|
rdata <= int_ier;
|
||||||
|
end
|
||||||
|
ADDR_ISR: begin
|
||||||
|
rdata <= int_isr;
|
||||||
|
end
|
||||||
|
ADDR_IN_WORDS_0_DATA_0: begin
|
||||||
|
rdata <= int_in_words_0[31:0];
|
||||||
|
end
|
||||||
|
ADDR_IN_WORDS_1_DATA_0: begin
|
||||||
|
rdata <= int_in_words_1[31:0];
|
||||||
|
end
|
||||||
|
ADDR_IN_WORDS_2_DATA_0: begin
|
||||||
|
rdata <= int_in_words_2[31:0];
|
||||||
|
end
|
||||||
|
ADDR_IN_WORDS_3_DATA_0: begin
|
||||||
|
rdata <= int_in_words_3[31:0];
|
||||||
|
end
|
||||||
|
ADDR_OUT_WORDS_0_DATA_0: begin
|
||||||
|
rdata <= int_out_words_0[31:0];
|
||||||
|
end
|
||||||
|
ADDR_OUT_WORDS_0_CTRL: begin
|
||||||
|
rdata[0] <= int_out_words_0_ap_vld;
|
||||||
|
end
|
||||||
|
ADDR_OUT_WORDS_1_DATA_0: begin
|
||||||
|
rdata <= int_out_words_1[31:0];
|
||||||
|
end
|
||||||
|
ADDR_OUT_WORDS_1_CTRL: begin
|
||||||
|
rdata[0] <= int_out_words_1_ap_vld;
|
||||||
|
end
|
||||||
|
ADDR_OUT_WORDS_2_DATA_0: begin
|
||||||
|
rdata <= int_out_words_2[31:0];
|
||||||
|
end
|
||||||
|
ADDR_OUT_WORDS_2_CTRL: begin
|
||||||
|
rdata[0] <= int_out_words_2_ap_vld;
|
||||||
|
end
|
||||||
|
ADDR_OUT_WORDS_3_DATA_0: begin
|
||||||
|
rdata <= int_out_words_3[31:0];
|
||||||
|
end
|
||||||
|
ADDR_OUT_WORDS_3_CTRL: begin
|
||||||
|
rdata[0] <= int_out_words_3_ap_vld;
|
||||||
|
end
|
||||||
|
endcase
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------Register logic-----------------
|
||||||
|
assign interrupt = int_interrupt;
|
||||||
|
assign ap_start = int_ap_start;
|
||||||
|
assign task_ap_done = (ap_done && !auto_restart_status) || auto_restart_done;
|
||||||
|
assign task_ap_ready = ap_ready && !int_auto_restart;
|
||||||
|
assign auto_restart_done = auto_restart_status && (ap_idle && !int_ap_idle);
|
||||||
|
assign in_words_0 = int_in_words_0;
|
||||||
|
assign in_words_1 = int_in_words_1;
|
||||||
|
assign in_words_2 = int_in_words_2;
|
||||||
|
assign in_words_3 = int_in_words_3;
|
||||||
|
// int_interrupt
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_interrupt <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (int_gie && (|int_isr))
|
||||||
|
int_interrupt <= 1'b1;
|
||||||
|
else
|
||||||
|
int_interrupt <= 1'b0;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_ap_start
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_ap_start <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (w_hs && waddr == ADDR_AP_CTRL && WSTRB[0] && WDATA[0])
|
||||||
|
int_ap_start <= 1'b1;
|
||||||
|
else if (ap_ready)
|
||||||
|
int_ap_start <= int_auto_restart; // clear on handshake/auto restart
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_ap_done
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_ap_done <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
int_ap_done <= ap_done;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_task_ap_done
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_task_ap_done <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (task_ap_done)
|
||||||
|
int_task_ap_done <= 1'b1;
|
||||||
|
else if (ar_hs && raddr == ADDR_AP_CTRL)
|
||||||
|
int_task_ap_done <= 1'b0; // clear on read
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_ap_idle
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_ap_idle <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
int_ap_idle <= ap_idle;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_ap_ready
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_ap_ready <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (task_ap_ready)
|
||||||
|
int_ap_ready <= 1'b1;
|
||||||
|
else if (ar_hs && raddr == ADDR_AP_CTRL)
|
||||||
|
int_ap_ready <= 1'b0;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_auto_restart
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_auto_restart <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (w_hs && waddr == ADDR_AP_CTRL && WSTRB[0])
|
||||||
|
int_auto_restart <= WDATA[7];
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// auto_restart_status
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
auto_restart_status <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (int_auto_restart)
|
||||||
|
auto_restart_status <= 1'b1;
|
||||||
|
else if (ap_idle)
|
||||||
|
auto_restart_status <= 1'b0;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_gie
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_gie <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (w_hs && waddr == ADDR_GIE && WSTRB[0])
|
||||||
|
int_gie <= WDATA[0];
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_ier
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_ier <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (w_hs && waddr == ADDR_IER && WSTRB[0])
|
||||||
|
int_ier <= WDATA[1:0];
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_isr[0]
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_isr[0] <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (int_ier[0] & ap_done)
|
||||||
|
int_isr[0] <= 1'b1;
|
||||||
|
else if (w_hs && waddr == ADDR_ISR && WSTRB[0])
|
||||||
|
int_isr[0] <= int_isr[0] ^ WDATA[0]; // toggle on write
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_isr[1]
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_isr[1] <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (int_ier[1] & ap_ready)
|
||||||
|
int_isr[1] <= 1'b1;
|
||||||
|
else if (w_hs && waddr == ADDR_ISR && WSTRB[0])
|
||||||
|
int_isr[1] <= int_isr[1] ^ WDATA[1]; // toggle on write
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_in_words_0[31:0]
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_in_words_0[31:0] <= 0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (w_hs && waddr == ADDR_IN_WORDS_0_DATA_0)
|
||||||
|
int_in_words_0[31:0] <= (WDATA[31:0] & wmask) | (int_in_words_0[31:0] & ~wmask);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_in_words_1[31:0]
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_in_words_1[31:0] <= 0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (w_hs && waddr == ADDR_IN_WORDS_1_DATA_0)
|
||||||
|
int_in_words_1[31:0] <= (WDATA[31:0] & wmask) | (int_in_words_1[31:0] & ~wmask);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_in_words_2[31:0]
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_in_words_2[31:0] <= 0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (w_hs && waddr == ADDR_IN_WORDS_2_DATA_0)
|
||||||
|
int_in_words_2[31:0] <= (WDATA[31:0] & wmask) | (int_in_words_2[31:0] & ~wmask);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_in_words_3[31:0]
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_in_words_3[31:0] <= 0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (w_hs && waddr == ADDR_IN_WORDS_3_DATA_0)
|
||||||
|
int_in_words_3[31:0] <= (WDATA[31:0] & wmask) | (int_in_words_3[31:0] & ~wmask);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_out_words_0
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_out_words_0 <= 0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (out_words_0_ap_vld)
|
||||||
|
int_out_words_0 <= out_words_0;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_out_words_0_ap_vld
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_out_words_0_ap_vld <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (out_words_0_ap_vld)
|
||||||
|
int_out_words_0_ap_vld <= 1'b1;
|
||||||
|
else if (ar_hs && raddr == ADDR_OUT_WORDS_0_CTRL)
|
||||||
|
int_out_words_0_ap_vld <= 1'b0; // clear on read
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_out_words_1
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_out_words_1 <= 0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (out_words_1_ap_vld)
|
||||||
|
int_out_words_1 <= out_words_1;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_out_words_1_ap_vld
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_out_words_1_ap_vld <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (out_words_1_ap_vld)
|
||||||
|
int_out_words_1_ap_vld <= 1'b1;
|
||||||
|
else if (ar_hs && raddr == ADDR_OUT_WORDS_1_CTRL)
|
||||||
|
int_out_words_1_ap_vld <= 1'b0; // clear on read
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_out_words_2
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_out_words_2 <= 0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (out_words_2_ap_vld)
|
||||||
|
int_out_words_2 <= out_words_2;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_out_words_2_ap_vld
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_out_words_2_ap_vld <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (out_words_2_ap_vld)
|
||||||
|
int_out_words_2_ap_vld <= 1'b1;
|
||||||
|
else if (ar_hs && raddr == ADDR_OUT_WORDS_2_CTRL)
|
||||||
|
int_out_words_2_ap_vld <= 1'b0; // clear on read
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_out_words_3
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_out_words_3 <= 0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (out_words_3_ap_vld)
|
||||||
|
int_out_words_3 <= out_words_3;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
// int_out_words_3_ap_vld
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ARESET)
|
||||||
|
int_out_words_3_ap_vld <= 1'b0;
|
||||||
|
else if (ACLK_EN) begin
|
||||||
|
if (out_words_3_ap_vld)
|
||||||
|
int_out_words_3_ap_vld <= 1'b1;
|
||||||
|
else if (ar_hs && raddr == ADDR_OUT_WORDS_3_CTRL)
|
||||||
|
int_out_words_3_ap_vld <= 1'b0; // clear on read
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
//synthesis translate_off
|
||||||
|
always @(posedge ACLK) begin
|
||||||
|
if (ACLK_EN) begin
|
||||||
|
if (int_gie & ~int_isr[0] & int_ier[0] & ap_done)
|
||||||
|
$display ("// Interrupt Monitor : interrupt for ap_done detected @ \"%0t\"", $time);
|
||||||
|
if (int_gie & ~int_isr[1] & int_ier[1] & ap_ready)
|
||||||
|
$display ("// Interrupt Monitor : interrupt for ap_ready detected @ \"%0t\"", $time);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
//synthesis translate_on
|
||||||
|
|
||||||
|
//------------------------Memory logic-------------------
|
||||||
|
|
||||||
|
endmodule
|
||||||
@@ -0,0 +1,688 @@
|
|||||||
|
-- ==============================================================
|
||||||
|
-- Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
-- Tool Version Limit: 2025.05
|
||||||
|
-- Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
-- Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
--
|
||||||
|
-- ==============================================================
|
||||||
|
library IEEE;
|
||||||
|
use IEEE.STD_LOGIC_1164.all;
|
||||||
|
use IEEE.NUMERIC_STD.all;
|
||||||
|
|
||||||
|
entity game_of_life_step_AXILiteS_s_axi is
|
||||||
|
generic (
|
||||||
|
C_S_AXI_ADDR_WIDTH : INTEGER := 7;
|
||||||
|
C_S_AXI_DATA_WIDTH : INTEGER := 32);
|
||||||
|
port (
|
||||||
|
ACLK :in STD_LOGIC;
|
||||||
|
ARESET :in STD_LOGIC;
|
||||||
|
ACLK_EN :in STD_LOGIC;
|
||||||
|
AWADDR :in STD_LOGIC_VECTOR(C_S_AXI_ADDR_WIDTH-1 downto 0);
|
||||||
|
AWVALID :in STD_LOGIC;
|
||||||
|
AWREADY :out STD_LOGIC;
|
||||||
|
WDATA :in STD_LOGIC_VECTOR(C_S_AXI_DATA_WIDTH-1 downto 0);
|
||||||
|
WSTRB :in STD_LOGIC_VECTOR(C_S_AXI_DATA_WIDTH/8-1 downto 0);
|
||||||
|
WVALID :in STD_LOGIC;
|
||||||
|
WREADY :out STD_LOGIC;
|
||||||
|
BRESP :out STD_LOGIC_VECTOR(1 downto 0);
|
||||||
|
BVALID :out STD_LOGIC;
|
||||||
|
BREADY :in STD_LOGIC;
|
||||||
|
ARADDR :in STD_LOGIC_VECTOR(C_S_AXI_ADDR_WIDTH-1 downto 0);
|
||||||
|
ARVALID :in STD_LOGIC;
|
||||||
|
ARREADY :out STD_LOGIC;
|
||||||
|
RDATA :out STD_LOGIC_VECTOR(C_S_AXI_DATA_WIDTH-1 downto 0);
|
||||||
|
RRESP :out STD_LOGIC_VECTOR(1 downto 0);
|
||||||
|
RVALID :out STD_LOGIC;
|
||||||
|
RREADY :in STD_LOGIC;
|
||||||
|
interrupt :out STD_LOGIC;
|
||||||
|
in_words_0 :out STD_LOGIC_VECTOR(31 downto 0);
|
||||||
|
in_words_1 :out STD_LOGIC_VECTOR(31 downto 0);
|
||||||
|
in_words_2 :out STD_LOGIC_VECTOR(31 downto 0);
|
||||||
|
in_words_3 :out STD_LOGIC_VECTOR(31 downto 0);
|
||||||
|
out_words_0 :in STD_LOGIC_VECTOR(31 downto 0);
|
||||||
|
out_words_0_ap_vld :in STD_LOGIC;
|
||||||
|
out_words_1 :in STD_LOGIC_VECTOR(31 downto 0);
|
||||||
|
out_words_1_ap_vld :in STD_LOGIC;
|
||||||
|
out_words_2 :in STD_LOGIC_VECTOR(31 downto 0);
|
||||||
|
out_words_2_ap_vld :in STD_LOGIC;
|
||||||
|
out_words_3 :in STD_LOGIC_VECTOR(31 downto 0);
|
||||||
|
out_words_3_ap_vld :in STD_LOGIC;
|
||||||
|
ap_start :out STD_LOGIC;
|
||||||
|
ap_done :in STD_LOGIC;
|
||||||
|
ap_ready :in STD_LOGIC;
|
||||||
|
ap_idle :in STD_LOGIC
|
||||||
|
);
|
||||||
|
end entity game_of_life_step_AXILiteS_s_axi;
|
||||||
|
|
||||||
|
-- ------------------------Address Info-------------------
|
||||||
|
-- Protocol Used: ap_ctrl_hs
|
||||||
|
--
|
||||||
|
-- 0x00 : Control signals
|
||||||
|
-- bit 0 - ap_start (Read/Write/COH)
|
||||||
|
-- bit 1 - ap_done (Read/COR)
|
||||||
|
-- bit 2 - ap_idle (Read)
|
||||||
|
-- bit 3 - ap_ready (Read/COR)
|
||||||
|
-- bit 7 - auto_restart (Read/Write)
|
||||||
|
-- bit 9 - interrupt (Read)
|
||||||
|
-- others - reserved
|
||||||
|
-- 0x04 : Global Interrupt Enable Register
|
||||||
|
-- bit 0 - Global Interrupt Enable (Read/Write)
|
||||||
|
-- others - reserved
|
||||||
|
-- 0x08 : IP Interrupt Enable Register (Read/Write)
|
||||||
|
-- bit 0 - enable ap_done interrupt (Read/Write)
|
||||||
|
-- bit 1 - enable ap_ready interrupt (Read/Write)
|
||||||
|
-- others - reserved
|
||||||
|
-- 0x0c : IP Interrupt Status Register (Read/TOW)
|
||||||
|
-- bit 0 - ap_done (Read/TOW)
|
||||||
|
-- bit 1 - ap_ready (Read/TOW)
|
||||||
|
-- others - reserved
|
||||||
|
-- 0x10 : Data signal of in_words_0
|
||||||
|
-- bit 31~0 - in_words_0[31:0] (Read/Write)
|
||||||
|
-- 0x14 : reserved
|
||||||
|
-- 0x18 : Data signal of in_words_1
|
||||||
|
-- bit 31~0 - in_words_1[31:0] (Read/Write)
|
||||||
|
-- 0x1c : reserved
|
||||||
|
-- 0x20 : Data signal of in_words_2
|
||||||
|
-- bit 31~0 - in_words_2[31:0] (Read/Write)
|
||||||
|
-- 0x24 : reserved
|
||||||
|
-- 0x28 : Data signal of in_words_3
|
||||||
|
-- bit 31~0 - in_words_3[31:0] (Read/Write)
|
||||||
|
-- 0x2c : reserved
|
||||||
|
-- 0x30 : Data signal of out_words_0
|
||||||
|
-- bit 31~0 - out_words_0[31:0] (Read)
|
||||||
|
-- 0x34 : Control signal of out_words_0
|
||||||
|
-- bit 0 - out_words_0_ap_vld (Read/COR)
|
||||||
|
-- others - reserved
|
||||||
|
-- 0x40 : Data signal of out_words_1
|
||||||
|
-- bit 31~0 - out_words_1[31:0] (Read)
|
||||||
|
-- 0x44 : Control signal of out_words_1
|
||||||
|
-- bit 0 - out_words_1_ap_vld (Read/COR)
|
||||||
|
-- others - reserved
|
||||||
|
-- 0x50 : Data signal of out_words_2
|
||||||
|
-- bit 31~0 - out_words_2[31:0] (Read)
|
||||||
|
-- 0x54 : Control signal of out_words_2
|
||||||
|
-- bit 0 - out_words_2_ap_vld (Read/COR)
|
||||||
|
-- others - reserved
|
||||||
|
-- 0x60 : Data signal of out_words_3
|
||||||
|
-- bit 31~0 - out_words_3[31:0] (Read)
|
||||||
|
-- 0x64 : Control signal of out_words_3
|
||||||
|
-- bit 0 - out_words_3_ap_vld (Read/COR)
|
||||||
|
-- others - reserved
|
||||||
|
-- (SC = Self Clear, COR = Clear on Read, TOW = Toggle on Write, COH = Clear on Handshake)
|
||||||
|
|
||||||
|
architecture behave of game_of_life_step_AXILiteS_s_axi is
|
||||||
|
type states is (wridle, wrdata, wrresp, wrreset, rdidle, rddata, rdreset); -- read and write fsm states
|
||||||
|
signal wstate : states := wrreset;
|
||||||
|
signal rstate : states := rdreset;
|
||||||
|
signal wnext, rnext: states;
|
||||||
|
constant ADDR_AP_CTRL : INTEGER := 16#00#;
|
||||||
|
constant ADDR_GIE : INTEGER := 16#04#;
|
||||||
|
constant ADDR_IER : INTEGER := 16#08#;
|
||||||
|
constant ADDR_ISR : INTEGER := 16#0c#;
|
||||||
|
constant ADDR_IN_WORDS_0_DATA_0 : INTEGER := 16#10#;
|
||||||
|
constant ADDR_IN_WORDS_0_CTRL : INTEGER := 16#14#;
|
||||||
|
constant ADDR_IN_WORDS_1_DATA_0 : INTEGER := 16#18#;
|
||||||
|
constant ADDR_IN_WORDS_1_CTRL : INTEGER := 16#1c#;
|
||||||
|
constant ADDR_IN_WORDS_2_DATA_0 : INTEGER := 16#20#;
|
||||||
|
constant ADDR_IN_WORDS_2_CTRL : INTEGER := 16#24#;
|
||||||
|
constant ADDR_IN_WORDS_3_DATA_0 : INTEGER := 16#28#;
|
||||||
|
constant ADDR_IN_WORDS_3_CTRL : INTEGER := 16#2c#;
|
||||||
|
constant ADDR_OUT_WORDS_0_DATA_0 : INTEGER := 16#30#;
|
||||||
|
constant ADDR_OUT_WORDS_0_CTRL : INTEGER := 16#34#;
|
||||||
|
constant ADDR_OUT_WORDS_1_DATA_0 : INTEGER := 16#40#;
|
||||||
|
constant ADDR_OUT_WORDS_1_CTRL : INTEGER := 16#44#;
|
||||||
|
constant ADDR_OUT_WORDS_2_DATA_0 : INTEGER := 16#50#;
|
||||||
|
constant ADDR_OUT_WORDS_2_CTRL : INTEGER := 16#54#;
|
||||||
|
constant ADDR_OUT_WORDS_3_DATA_0 : INTEGER := 16#60#;
|
||||||
|
constant ADDR_OUT_WORDS_3_CTRL : INTEGER := 16#64#;
|
||||||
|
constant ADDR_BITS : INTEGER := 7;
|
||||||
|
|
||||||
|
signal AWREADY_t : STD_LOGIC;
|
||||||
|
signal WREADY_t : STD_LOGIC;
|
||||||
|
signal ARREADY_t : STD_LOGIC;
|
||||||
|
signal RVALID_t : STD_LOGIC;
|
||||||
|
signal BVALID_t : STD_LOGIC;
|
||||||
|
signal waddr : UNSIGNED(ADDR_BITS-1 downto 0);
|
||||||
|
signal wmask : UNSIGNED(C_S_AXI_DATA_WIDTH-1 downto 0);
|
||||||
|
signal aw_hs : STD_LOGIC;
|
||||||
|
signal w_hs : STD_LOGIC;
|
||||||
|
signal rdata_data : UNSIGNED(C_S_AXI_DATA_WIDTH-1 downto 0);
|
||||||
|
signal ar_hs : STD_LOGIC;
|
||||||
|
signal raddr : UNSIGNED(ADDR_BITS-1 downto 0);
|
||||||
|
-- internal registers
|
||||||
|
signal int_ap_idle : STD_LOGIC := '0';
|
||||||
|
signal int_ap_ready : STD_LOGIC := '0';
|
||||||
|
signal task_ap_ready : STD_LOGIC;
|
||||||
|
signal int_ap_done : STD_LOGIC := '0';
|
||||||
|
signal task_ap_done : STD_LOGIC;
|
||||||
|
signal int_task_ap_done : STD_LOGIC := '0';
|
||||||
|
signal int_ap_start : STD_LOGIC := '0';
|
||||||
|
signal int_interrupt : STD_LOGIC := '0';
|
||||||
|
signal int_auto_restart : STD_LOGIC := '0';
|
||||||
|
signal auto_restart_status : STD_LOGIC := '0';
|
||||||
|
signal auto_restart_done : STD_LOGIC;
|
||||||
|
signal int_gie : STD_LOGIC := '0';
|
||||||
|
signal int_ier : UNSIGNED(1 downto 0) := (others => '0');
|
||||||
|
signal int_isr : UNSIGNED(1 downto 0) := (others => '0');
|
||||||
|
signal int_in_words_0 : UNSIGNED(31 downto 0) := (others => '0');
|
||||||
|
signal int_in_words_1 : UNSIGNED(31 downto 0) := (others => '0');
|
||||||
|
signal int_in_words_2 : UNSIGNED(31 downto 0) := (others => '0');
|
||||||
|
signal int_in_words_3 : UNSIGNED(31 downto 0) := (others => '0');
|
||||||
|
signal int_out_words_0_ap_vld : STD_LOGIC;
|
||||||
|
signal int_out_words_0 : UNSIGNED(31 downto 0) := (others => '0');
|
||||||
|
signal int_out_words_1_ap_vld : STD_LOGIC;
|
||||||
|
signal int_out_words_1 : UNSIGNED(31 downto 0) := (others => '0');
|
||||||
|
signal int_out_words_2_ap_vld : STD_LOGIC;
|
||||||
|
signal int_out_words_2 : UNSIGNED(31 downto 0) := (others => '0');
|
||||||
|
signal int_out_words_3_ap_vld : STD_LOGIC;
|
||||||
|
signal int_out_words_3 : UNSIGNED(31 downto 0) := (others => '0');
|
||||||
|
|
||||||
|
|
||||||
|
begin
|
||||||
|
-- ----------------------- Instantiation------------------
|
||||||
|
|
||||||
|
|
||||||
|
-- ----------------------- AXI WRITE ---------------------
|
||||||
|
AWREADY_t <= '1' when wstate = wridle else '0';
|
||||||
|
AWREADY <= AWREADY_t;
|
||||||
|
WREADY_t <= '1' when wstate = wrdata else '0';
|
||||||
|
WREADY <= WREADY_t;
|
||||||
|
BVALID_t <= '1' when wstate = wrresp else '0';
|
||||||
|
BVALID <= BVALID_t;
|
||||||
|
BRESP <= "00"; -- OKAY
|
||||||
|
wmask <= (31 downto 24 => WSTRB(3), 23 downto 16 => WSTRB(2), 15 downto 8 => WSTRB(1), 7 downto 0 => WSTRB(0));
|
||||||
|
aw_hs <= AWVALID and AWREADY_t;
|
||||||
|
w_hs <= WVALID and WREADY_t;
|
||||||
|
|
||||||
|
-- write FSM
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
wstate <= wrreset;
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
wstate <= wnext;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (wstate, AWVALID, WVALID, BREADY, BVALID_t)
|
||||||
|
begin
|
||||||
|
case (wstate) is
|
||||||
|
when wridle =>
|
||||||
|
if (AWVALID = '1') then
|
||||||
|
wnext <= wrdata;
|
||||||
|
else
|
||||||
|
wnext <= wridle;
|
||||||
|
end if;
|
||||||
|
when wrdata =>
|
||||||
|
if (WVALID = '1') then
|
||||||
|
wnext <= wrresp;
|
||||||
|
else
|
||||||
|
wnext <= wrdata;
|
||||||
|
end if;
|
||||||
|
when wrresp =>
|
||||||
|
if (BREADY = '1' and BVALID_t = '1') then
|
||||||
|
wnext <= wridle;
|
||||||
|
else
|
||||||
|
wnext <= wrresp;
|
||||||
|
end if;
|
||||||
|
when others =>
|
||||||
|
wnext <= wridle;
|
||||||
|
end case;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
waddr_proc : process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ACLK_EN = '1') then
|
||||||
|
if (aw_hs = '1') then
|
||||||
|
waddr <= UNSIGNED(AWADDR(ADDR_BITS-1 downto 2) & (1 downto 0 => '0'));
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
-- ----------------------- AXI READ ----------------------
|
||||||
|
ARREADY_t <= '1' when (rstate = rdidle) else '0';
|
||||||
|
ARREADY <= ARREADY_t;
|
||||||
|
RDATA <= STD_LOGIC_VECTOR(rdata_data);
|
||||||
|
RRESP <= "00"; -- OKAY
|
||||||
|
RVALID_t <= '1' when (rstate = rddata) else '0';
|
||||||
|
RVALID <= RVALID_t;
|
||||||
|
ar_hs <= ARVALID and ARREADY_t;
|
||||||
|
raddr <= UNSIGNED(ARADDR(ADDR_BITS-1 downto 0));
|
||||||
|
|
||||||
|
-- read FSM
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
rstate <= rdreset;
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
rstate <= rnext;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (rstate, ARVALID, RREADY, RVALID_t)
|
||||||
|
begin
|
||||||
|
case (rstate) is
|
||||||
|
when rdidle =>
|
||||||
|
if (ARVALID = '1') then
|
||||||
|
rnext <= rddata;
|
||||||
|
else
|
||||||
|
rnext <= rdidle;
|
||||||
|
end if;
|
||||||
|
when rddata =>
|
||||||
|
if (RREADY = '1' and RVALID_t = '1') then
|
||||||
|
rnext <= rdidle;
|
||||||
|
else
|
||||||
|
rnext <= rddata;
|
||||||
|
end if;
|
||||||
|
when others =>
|
||||||
|
rnext <= rdidle;
|
||||||
|
end case;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
rdata_proc : process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ACLK_EN = '1') then
|
||||||
|
if (ar_hs = '1') then
|
||||||
|
rdata_data <= (others => '0');
|
||||||
|
case (TO_INTEGER(raddr)) is
|
||||||
|
when ADDR_AP_CTRL =>
|
||||||
|
rdata_data(9) <= int_interrupt;
|
||||||
|
rdata_data(7) <= int_auto_restart;
|
||||||
|
rdata_data(3) <= int_ap_ready;
|
||||||
|
rdata_data(2) <= int_ap_idle;
|
||||||
|
rdata_data(1) <= int_task_ap_done;
|
||||||
|
rdata_data(0) <= int_ap_start;
|
||||||
|
when ADDR_GIE =>
|
||||||
|
rdata_data(0) <= int_gie;
|
||||||
|
when ADDR_IER =>
|
||||||
|
rdata_data(1 downto 0) <= int_ier;
|
||||||
|
when ADDR_ISR =>
|
||||||
|
rdata_data(1 downto 0) <= int_isr;
|
||||||
|
when ADDR_IN_WORDS_0_DATA_0 =>
|
||||||
|
rdata_data <= RESIZE(int_in_words_0(31 downto 0), 32);
|
||||||
|
when ADDR_IN_WORDS_1_DATA_0 =>
|
||||||
|
rdata_data <= RESIZE(int_in_words_1(31 downto 0), 32);
|
||||||
|
when ADDR_IN_WORDS_2_DATA_0 =>
|
||||||
|
rdata_data <= RESIZE(int_in_words_2(31 downto 0), 32);
|
||||||
|
when ADDR_IN_WORDS_3_DATA_0 =>
|
||||||
|
rdata_data <= RESIZE(int_in_words_3(31 downto 0), 32);
|
||||||
|
when ADDR_OUT_WORDS_0_DATA_0 =>
|
||||||
|
rdata_data <= RESIZE(int_out_words_0(31 downto 0), 32);
|
||||||
|
when ADDR_OUT_WORDS_0_CTRL =>
|
||||||
|
rdata_data(0) <= int_out_words_0_ap_vld;
|
||||||
|
when ADDR_OUT_WORDS_1_DATA_0 =>
|
||||||
|
rdata_data <= RESIZE(int_out_words_1(31 downto 0), 32);
|
||||||
|
when ADDR_OUT_WORDS_1_CTRL =>
|
||||||
|
rdata_data(0) <= int_out_words_1_ap_vld;
|
||||||
|
when ADDR_OUT_WORDS_2_DATA_0 =>
|
||||||
|
rdata_data <= RESIZE(int_out_words_2(31 downto 0), 32);
|
||||||
|
when ADDR_OUT_WORDS_2_CTRL =>
|
||||||
|
rdata_data(0) <= int_out_words_2_ap_vld;
|
||||||
|
when ADDR_OUT_WORDS_3_DATA_0 =>
|
||||||
|
rdata_data <= RESIZE(int_out_words_3(31 downto 0), 32);
|
||||||
|
when ADDR_OUT_WORDS_3_CTRL =>
|
||||||
|
rdata_data(0) <= int_out_words_3_ap_vld;
|
||||||
|
when others =>
|
||||||
|
NULL;
|
||||||
|
end case;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
-- ----------------------- Register logic ----------------
|
||||||
|
interrupt <= int_interrupt;
|
||||||
|
ap_start <= int_ap_start;
|
||||||
|
task_ap_done <= (ap_done and not auto_restart_status) or auto_restart_done;
|
||||||
|
task_ap_ready <= ap_ready and not int_auto_restart;
|
||||||
|
auto_restart_done <= auto_restart_status and (ap_idle and not int_ap_idle);
|
||||||
|
in_words_0 <= STD_LOGIC_VECTOR(int_in_words_0);
|
||||||
|
in_words_1 <= STD_LOGIC_VECTOR(int_in_words_1);
|
||||||
|
in_words_2 <= STD_LOGIC_VECTOR(int_in_words_2);
|
||||||
|
in_words_3 <= STD_LOGIC_VECTOR(int_in_words_3);
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_interrupt <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (int_gie = '1' and (int_isr(0) or int_isr(1)) = '1') then
|
||||||
|
int_interrupt <= '1';
|
||||||
|
else
|
||||||
|
int_interrupt <= '0';
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_ap_start <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (w_hs = '1' and waddr = ADDR_AP_CTRL and WSTRB(0) = '1' and WDATA(0) = '1') then
|
||||||
|
int_ap_start <= '1';
|
||||||
|
elsif (ap_ready = '1') then
|
||||||
|
int_ap_start <= int_auto_restart; -- clear on handshake/auto restart
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_ap_done <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (true) then
|
||||||
|
int_ap_done <= ap_done;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_task_ap_done <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (task_ap_done = '1') then
|
||||||
|
int_task_ap_done <= '1';
|
||||||
|
elsif (ar_hs = '1' and raddr = ADDR_AP_CTRL) then
|
||||||
|
int_task_ap_done <= '0'; -- clear on read
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_ap_idle <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (true) then
|
||||||
|
int_ap_idle <= ap_idle;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_ap_ready <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (task_ap_ready = '1') then
|
||||||
|
int_ap_ready <= '1';
|
||||||
|
elsif (ar_hs = '1' and raddr = ADDR_AP_CTRL) then
|
||||||
|
int_ap_ready <= '0';
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_auto_restart <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (w_hs = '1' and waddr = ADDR_AP_CTRL and WSTRB(0) = '1') then
|
||||||
|
int_auto_restart <= WDATA(7);
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
auto_restart_status <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (int_auto_restart = '1') then
|
||||||
|
auto_restart_status <= '1';
|
||||||
|
elsif (ap_idle = '1') then
|
||||||
|
auto_restart_status <= '0';
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_gie <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (w_hs = '1' and waddr = ADDR_GIE and WSTRB(0) = '1') then
|
||||||
|
int_gie <= WDATA(0);
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_ier <= (others=>'0');
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (w_hs = '1' and waddr = ADDR_IER and WSTRB(0) = '1') then
|
||||||
|
int_ier <= UNSIGNED(WDATA(1 downto 0));
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_isr(0) <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (int_ier(0) = '1' and ap_done = '1') then
|
||||||
|
int_isr(0) <= '1';
|
||||||
|
elsif (w_hs = '1' and waddr = ADDR_ISR and WSTRB(0) = '1') then
|
||||||
|
int_isr(0) <= int_isr(0) xor WDATA(0); -- toggle on write
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_isr(1) <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (int_ier(1) = '1' and ap_ready = '1') then
|
||||||
|
int_isr(1) <= '1';
|
||||||
|
elsif (w_hs = '1' and waddr = ADDR_ISR and WSTRB(0) = '1') then
|
||||||
|
int_isr(1) <= int_isr(1) xor WDATA(1); -- toggle on write
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_in_words_0(31 downto 0) <= (others => '0');
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (w_hs = '1' and waddr = ADDR_IN_WORDS_0_DATA_0) then
|
||||||
|
int_in_words_0(31 downto 0) <= (UNSIGNED(WDATA(31 downto 0)) and wmask(31 downto 0)) or ((not wmask(31 downto 0)) and int_in_words_0(31 downto 0));
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_in_words_1(31 downto 0) <= (others => '0');
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (w_hs = '1' and waddr = ADDR_IN_WORDS_1_DATA_0) then
|
||||||
|
int_in_words_1(31 downto 0) <= (UNSIGNED(WDATA(31 downto 0)) and wmask(31 downto 0)) or ((not wmask(31 downto 0)) and int_in_words_1(31 downto 0));
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_in_words_2(31 downto 0) <= (others => '0');
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (w_hs = '1' and waddr = ADDR_IN_WORDS_2_DATA_0) then
|
||||||
|
int_in_words_2(31 downto 0) <= (UNSIGNED(WDATA(31 downto 0)) and wmask(31 downto 0)) or ((not wmask(31 downto 0)) and int_in_words_2(31 downto 0));
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_in_words_3(31 downto 0) <= (others => '0');
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (w_hs = '1' and waddr = ADDR_IN_WORDS_3_DATA_0) then
|
||||||
|
int_in_words_3(31 downto 0) <= (UNSIGNED(WDATA(31 downto 0)) and wmask(31 downto 0)) or ((not wmask(31 downto 0)) and int_in_words_3(31 downto 0));
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_out_words_0 <= (others => '0');
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (out_words_0_ap_vld = '1') then
|
||||||
|
int_out_words_0 <= UNSIGNED(out_words_0);
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_out_words_0_ap_vld <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (out_words_0_ap_vld = '1') then
|
||||||
|
int_out_words_0_ap_vld <= '1';
|
||||||
|
elsif (ar_hs = '1' and raddr = ADDR_OUT_WORDS_0_CTRL) then
|
||||||
|
int_out_words_0_ap_vld <= '0'; -- clear on read
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_out_words_1 <= (others => '0');
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (out_words_1_ap_vld = '1') then
|
||||||
|
int_out_words_1 <= UNSIGNED(out_words_1);
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_out_words_1_ap_vld <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (out_words_1_ap_vld = '1') then
|
||||||
|
int_out_words_1_ap_vld <= '1';
|
||||||
|
elsif (ar_hs = '1' and raddr = ADDR_OUT_WORDS_1_CTRL) then
|
||||||
|
int_out_words_1_ap_vld <= '0'; -- clear on read
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_out_words_2 <= (others => '0');
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (out_words_2_ap_vld = '1') then
|
||||||
|
int_out_words_2 <= UNSIGNED(out_words_2);
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_out_words_2_ap_vld <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (out_words_2_ap_vld = '1') then
|
||||||
|
int_out_words_2_ap_vld <= '1';
|
||||||
|
elsif (ar_hs = '1' and raddr = ADDR_OUT_WORDS_2_CTRL) then
|
||||||
|
int_out_words_2_ap_vld <= '0'; -- clear on read
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_out_words_3 <= (others => '0');
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (out_words_3_ap_vld = '1') then
|
||||||
|
int_out_words_3 <= UNSIGNED(out_words_3);
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
process (ACLK)
|
||||||
|
begin
|
||||||
|
if (ACLK'event and ACLK = '1') then
|
||||||
|
if (ARESET = '1') then
|
||||||
|
int_out_words_3_ap_vld <= '0';
|
||||||
|
elsif (ACLK_EN = '1') then
|
||||||
|
if (out_words_3_ap_vld = '1') then
|
||||||
|
int_out_words_3_ap_vld <= '1';
|
||||||
|
elsif (ar_hs = '1' and raddr = ADDR_OUT_WORDS_3_CTRL) then
|
||||||
|
int_out_words_3_ap_vld <= '0'; -- clear on read
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
|
||||||
|
-- ----------------------- Memory logic ------------------
|
||||||
|
|
||||||
|
end architecture behave;
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
|
||||||
|
set RtlHierarchyInfo {[
|
||||||
|
{"ID" : "0", "Level" : "0", "Path" : "`AUTOTB_DUT_INST", "Parent" : "", "Child" : ["1"],
|
||||||
|
"CDFG" : "game_of_life_step",
|
||||||
|
"Protocol" : "ap_ctrl_hs",
|
||||||
|
"ControlExist" : "1", "ap_start" : "1", "ap_ready" : "1", "ap_done" : "1", "ap_continue" : "0", "ap_idle" : "1", "real_start" : "0",
|
||||||
|
"Pipeline" : "None", "UnalignedPipeline" : "0", "RewindPipeline" : "0", "ProcessNetwork" : "0",
|
||||||
|
"II" : "0",
|
||||||
|
"VariableLatency" : "1", "ExactLatency" : "-1", "EstimateLatencyMin" : "1", "EstimateLatencyMax" : "1",
|
||||||
|
"Combinational" : "0",
|
||||||
|
"Datapath" : "0",
|
||||||
|
"ClockEnable" : "0",
|
||||||
|
"HasSubDataflow" : "0",
|
||||||
|
"InDataflowNetwork" : "0",
|
||||||
|
"HasNonBlockingOperation" : "0",
|
||||||
|
"IsBlackBox" : "0",
|
||||||
|
"Port" : [
|
||||||
|
{"Name" : "in_words_0", "Type" : "None", "Direction" : "I"},
|
||||||
|
{"Name" : "in_words_1", "Type" : "None", "Direction" : "I"},
|
||||||
|
{"Name" : "in_words_2", "Type" : "None", "Direction" : "I"},
|
||||||
|
{"Name" : "in_words_3", "Type" : "None", "Direction" : "I"},
|
||||||
|
{"Name" : "out_words_0", "Type" : "Vld", "Direction" : "O"},
|
||||||
|
{"Name" : "out_words_1", "Type" : "Vld", "Direction" : "O"},
|
||||||
|
{"Name" : "out_words_2", "Type" : "Vld", "Direction" : "O"},
|
||||||
|
{"Name" : "out_words_3", "Type" : "Vld", "Direction" : "O"}]},
|
||||||
|
{"ID" : "1", "Level" : "1", "Path" : "`AUTOTB_DUT_INST.AXILiteS_s_axi_U", "Parent" : "0"}]}
|
||||||
@@ -0,0 +1,961 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<BindInfo>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_fu_998_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_1_fu_1008_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_1" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_2_fu_1018_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_2" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_3_fu_1028_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_3" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_4_fu_1038_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_4" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_5_fu_1048_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_5" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_fu_1058_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_fu_6804_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_1_fu_6809_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_1" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_fu_6814_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_fu_6819_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_7_fu_1080_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_7" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_8_fu_1090_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_8" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_9_fu_1100_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_9" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_10_fu_1110_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_10" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_11_fu_1120_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_11" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_1_fu_1130_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_1" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_2_fu_6825_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_2" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_3_fu_6830_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_3" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_1_fu_6835_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_1" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_1_fu_6840_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_1" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_13_fu_1148_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_13" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_14_fu_1158_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_14" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_15_fu_1168_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_15" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_16_fu_1178_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_16" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_17_fu_1188_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_17" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_18_fu_1198_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_18" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_2_fu_1208_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_2" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_4_fu_6846_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_4" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_5_fu_6851_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_5" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_2_fu_6856_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_2" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_2_fu_6861_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_2" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_20_fu_1226_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_20" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_21_fu_1236_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_21" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_22_fu_1246_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_22" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_23_fu_1256_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_23" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_24_fu_1266_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_24" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_25_fu_1276_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_25" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_3_fu_1286_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_3" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_6_fu_6867_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_6" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_7_fu_6872_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_7" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_3_fu_6877_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_3" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_3_fu_6882_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_3" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_27_fu_1304_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_27" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_28_fu_1314_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_28" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_29_fu_1324_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_29" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_30_fu_1334_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_30" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_31_fu_1344_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_31" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_32_fu_1354_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_32" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_4_fu_1364_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_4" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_8_fu_6888_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_8" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_9_fu_6893_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_9" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_4_fu_6898_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_4" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_4_fu_6903_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_4" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_34_fu_1382_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_34" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_35_fu_1392_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_35" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_36_fu_1402_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_36" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_37_fu_1412_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_37" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_38_fu_1422_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_38" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_39_fu_1432_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_39" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_5_fu_1442_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_5" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_10_fu_6909_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_10" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_11_fu_6914_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_11" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_5_fu_6919_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_5" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_5_fu_6924_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_5" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_41_fu_1460_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_41" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_42_fu_1470_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_42" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_43_fu_1480_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_43" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_44_fu_1490_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_44" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_45_fu_1500_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_45" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_46_fu_1510_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_46" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_6_fu_1520_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_6" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_12_fu_6930_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_12" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_13_fu_6935_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_13" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_6_fu_6940_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_6" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_6_fu_6945_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_6" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_48_fu_1538_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_48" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_49_fu_1548_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_49" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_50_fu_1558_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_50" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_51_fu_1568_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_51" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_52_fu_1578_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_52" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_53_fu_1588_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_53" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_7_fu_1598_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_7" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_14_fu_6951_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_14" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_15_fu_6956_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_15" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_7_fu_6961_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_7" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_7_fu_6966_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_7" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_55_fu_1604_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_55" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_56_fu_1614_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_56" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_57_fu_1624_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_57" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_58_fu_1634_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_58" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_59_fu_1644_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_59" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_60_fu_1654_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_60" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_8_fu_1664_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_8" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_16_fu_6972_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_16" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_17_fu_6977_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_17" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_8_fu_6982_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_8" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_8_fu_6987_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_8" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_114_fu_1670_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_114" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_65_fu_1696_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_65" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_11_fu_1722_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_11" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_18_fu_6993_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_18" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_19_fu_6998_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_19" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_9_fu_7003_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_9" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_9_fu_7008_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_9" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_12_fu_1728_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_12" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_13_fu_1738_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_13" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_71_fu_1756_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_71" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_72_fu_7020_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_72" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_73_fu_1762_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_73" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_74_fu_1768_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_74" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_14_fu_7033_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_14" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_20_fu_7039_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_20" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_21_fu_7045_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_21" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_10_fu_7051_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_10" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_10_fu_7056_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_10" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_78_fu_1794_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_78" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_79_fu_1804_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_79" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_80_fu_1814_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_80" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_81_fu_1820_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_81" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_16_fu_1830_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_16" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_22_fu_7062_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_22" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_23_fu_7067_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_23" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_11_fu_7072_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_11" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_11_fu_7077_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_11" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_85_fu_1856_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_85" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_86_fu_1866_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_86" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_87_fu_1876_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_87" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_88_fu_1882_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_88" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_18_fu_1892_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_18" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_24_fu_7083_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_24" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_25_fu_7088_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_25" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_12_fu_7093_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_12" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_12_fu_7098_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_12" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_92_fu_1918_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_92" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_93_fu_1928_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_93" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_94_fu_1938_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_94" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_95_fu_1944_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_95" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_20_fu_1954_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_20" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_26_fu_7104_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_26" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_27_fu_7109_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_27" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_13_fu_7114_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_13" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_13_fu_7119_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_13" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_99_fu_1980_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_99" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_100_fu_1990_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_100" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_101_fu_2000_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_101" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_102_fu_2006_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_102" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_22_fu_2016_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_22" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_28_fu_7125_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_28" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_29_fu_7130_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_29" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_14_fu_7135_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_14" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_14_fu_7140_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_14" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_106_fu_2042_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_106" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_107_fu_2052_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_107" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_108_fu_2062_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_108" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_109_fu_2068_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_109" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_24_fu_2078_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_24" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_30_fu_7146_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_30" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_31_fu_7151_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_31" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_15_fu_7156_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_15" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_15_fu_7161_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_15" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_113_fu_2104_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_113" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_114_fu_2114_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_114" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_115_fu_2124_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_115" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_116_fu_2130_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_116" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_26_fu_2140_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_26" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_32_fu_7167_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_32" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_33_fu_7172_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_33" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_16_fu_7177_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_16" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_16_fu_7182_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_16" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_120_fu_2166_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_120" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_121_fu_2176_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_121" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_122_fu_2186_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_122" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_123_fu_2192_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_123" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_28_fu_2202_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_28" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_34_fu_7188_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_34" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_35_fu_7193_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_35" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_17_fu_7198_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_17" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_17_fu_7203_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_17" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_127_fu_2224_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_127" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_128_fu_2234_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_128" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_129_fu_2244_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_129" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_130_fu_2250_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_130" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_30_fu_2260_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_30" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_36_fu_7209_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_36" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_37_fu_7214_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_37" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_18_fu_7219_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_18" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_18_fu_7224_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_18" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_132_fu_2266_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_132" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_133_fu_2276_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_133" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_134_fu_2286_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_134" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_135_fu_2296_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_135" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_136_fu_2306_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_136" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_31_fu_2316_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_31" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_38_fu_7230_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_38" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_39_fu_7235_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_39" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_19_fu_7240_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_19" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_19_fu_7245_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_19" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_52_fu_2334_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_52" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_139_fu_2344_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_139" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_140_fu_2354_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_140" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_141_fu_2368_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_141" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_142_fu_2378_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_142" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_32_fu_2388_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_32" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_40_fu_7251_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_40" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_41_fu_7256_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_41" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_20_fu_7261_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_20" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_20_fu_7266_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_20" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_144_fu_2398_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_144" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_145_fu_2408_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_145" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_146_fu_2422_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_146" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_147_fu_2432_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_147" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_33_fu_2442_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_33" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_42_fu_7272_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_42" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_43_fu_7277_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_43" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_21_fu_7282_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_21" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_21_fu_7287_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_21" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_149_fu_2452_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_149" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_150_fu_2462_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_150" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_151_fu_2472_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_151" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_152_fu_2486_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_152" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_153_fu_2496_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_153" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_34_fu_2506_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_34" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_44_fu_7293_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_44" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_45_fu_7298_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_45" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_22_fu_7303_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_22" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_22_fu_7308_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_22" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_155_fu_2516_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_155" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_156_fu_2526_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_156" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_157_fu_2536_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_157" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_158_fu_2550_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_158" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_159_fu_2560_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_159" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_35_fu_2570_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_35" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_46_fu_7314_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_46" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_47_fu_7319_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_47" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_23_fu_7324_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_23" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_23_fu_7329_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_23" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_161_fu_2580_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_161" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_162_fu_2590_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_162" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_163_fu_2600_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_163" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_164_fu_2614_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_164" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_165_fu_2624_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_165" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_36_fu_2634_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_36" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_48_fu_7335_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_48" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_49_fu_7340_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_49" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_24_fu_7345_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_24" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_24_fu_7350_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_24" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_167_fu_2644_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_167" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_168_fu_2654_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_168" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_169_fu_2664_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_169" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_170_fu_2678_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_170" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_171_fu_2688_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_171" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_37_fu_2698_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_37" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_50_fu_7356_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_50" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_51_fu_7361_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_51" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_25_fu_7366_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_25" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_25_fu_7371_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_25" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_173_fu_2708_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_173" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_174_fu_2718_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_174" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_175_fu_2728_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_175" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_176_fu_2742_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_176" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_177_fu_2752_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_177" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_38_fu_2762_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_38" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_52_fu_7377_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_52" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_53_fu_7382_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_53" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_26_fu_7387_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_26" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_26_fu_7392_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_26" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_179_fu_2772_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_179" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_180_fu_2782_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_180" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_181_fu_2792_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_181" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_182_fu_2806_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_182" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_183_fu_2816_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_183" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_39_fu_2826_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_39" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_54_fu_7398_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_54" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_55_fu_7403_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_55" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_27_fu_7408_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_27" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_27_fu_7413_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_27" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_185_fu_2832_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_185" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_186_fu_2842_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_186" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_187_fu_2852_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_187" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_188_fu_2866_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_188" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_189_fu_2876_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_189" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_40_fu_2886_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_40" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_56_fu_7419_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_56" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_57_fu_7424_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_57" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_28_fu_7429_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_28" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_28_fu_7434_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_28" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_191_fu_2892_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_191" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_192_fu_2902_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_192" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_41_fu_2928_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_41" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_58_fu_7440_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_58" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_59_fu_7445_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_59" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_29_fu_7450_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_29" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_29_fu_7455_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_29" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_196_fu_2946_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_196" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_197_fu_2956_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_197" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_198_fu_2966_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_198" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_199_fu_2976_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_199" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_200_fu_2986_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_200" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_42_fu_2996_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_42" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_60_fu_7461_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_60" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_61_fu_7466_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_61" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_30_fu_7471_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_30" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_30_fu_7476_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_30" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_202_fu_3006_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_202" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_203_fu_3016_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_203" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_204_fu_3026_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_204" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_205_fu_3036_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_205" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_206_fu_3046_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_206" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_43_fu_3056_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_43" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_62_fu_7482_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_62" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_63_fu_7487_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_63" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_31_fu_7492_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_31" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_31_fu_7497_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_31" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_208_fu_3066_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_208" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_209_fu_3076_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_209" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_210_fu_3086_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_210" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_211_fu_3096_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_211" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_212_fu_3106_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_212" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_44_fu_3116_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_44" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_64_fu_7503_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_64" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_65_fu_7508_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_65" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_32_fu_7513_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_32" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_32_fu_7518_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_32" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_214_fu_3126_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_214" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_215_fu_3136_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_215" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_216_fu_3146_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_216" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_217_fu_3156_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_217" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_218_fu_3166_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_218" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_45_fu_3176_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_45" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_66_fu_7524_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_66" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_67_fu_7529_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_67" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_33_fu_7534_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_33" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_33_fu_7539_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_33" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_220_fu_3186_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_220" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_221_fu_3196_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_221" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_222_fu_3206_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_222" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_223_fu_3216_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_223" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_224_fu_3226_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_224" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_46_fu_3236_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_46" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_68_fu_7545_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_68" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_69_fu_7550_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_69" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_34_fu_7555_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_34" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_34_fu_7560_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_34" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_226_fu_3246_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_226" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_227_fu_3256_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_227" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_228_fu_3266_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_228" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_229_fu_3276_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_229" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_230_fu_3286_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_230" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_47_fu_3296_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_47" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_70_fu_7566_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_70" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_71_fu_7571_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_71" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_35_fu_7576_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_35" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_35_fu_7581_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_35" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_232_fu_3306_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_232" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_233_fu_3316_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_233" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_234_fu_3326_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_234" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_235_fu_3336_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_235" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_236_fu_3346_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_236" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_48_fu_3356_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_48" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_72_fu_7587_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_72" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_73_fu_7592_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_73" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_36_fu_7597_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_36" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_36_fu_7602_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_36" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_238_fu_3366_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_238" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_239_fu_3376_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_239" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_240_fu_3386_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_240" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_241_fu_3396_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_241" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_242_fu_3406_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_242" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_49_fu_3416_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_49" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_74_fu_7608_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_74" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_75_fu_7613_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_75" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_37_fu_7618_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_37" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_37_fu_7623_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_37" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_244_fu_3422_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_244" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_245_fu_3432_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_245" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_246_fu_3442_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_246" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_247_fu_3452_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_247" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_248_fu_3462_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_248" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_50_fu_3472_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_50" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_76_fu_7629_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_76" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_77_fu_7634_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_77" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_38_fu_7639_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_38" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_38_fu_7644_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_38" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_250_fu_3478_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_250" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_251_fu_3488_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_251" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_252_fu_3498_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_252" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_253_fu_3508_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_253" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_254_fu_3518_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_254" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_51_fu_3528_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_51" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_78_fu_7650_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_78" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_79_fu_7655_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_79" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_39_fu_7660_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_39" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_39_fu_7665_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_39" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_256_fu_3546_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_256" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_257_fu_3556_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_257" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_258_fu_3566_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_258" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_259_fu_3576_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_259" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_260_fu_3586_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_260" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_53_fu_3596_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_53" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_80_fu_7671_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_80" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_81_fu_7676_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_81" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_40_fu_7681_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_40" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_40_fu_7686_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_40" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_262_fu_3606_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_262" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_263_fu_3616_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_263" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_264_fu_3626_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_264" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_265_fu_3636_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_265" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_266_fu_3646_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_266" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_54_fu_3656_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_54" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_82_fu_7692_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_82" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_83_fu_7697_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_83" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_41_fu_7702_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_41" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_41_fu_7707_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_41" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_268_fu_3666_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_268" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_269_fu_3676_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_269" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_270_fu_3686_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_270" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_271_fu_3696_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_271" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_272_fu_3706_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_272" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_55_fu_3716_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_55" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_84_fu_7713_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_84" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_85_fu_7718_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_85" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_42_fu_7723_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_42" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_42_fu_7728_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_42" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_274_fu_3726_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_274" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_275_fu_3736_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_275" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_276_fu_3746_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_276" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_277_fu_3756_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_277" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_278_fu_3766_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_278" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_56_fu_3776_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_56" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_86_fu_7734_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_86" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_87_fu_7739_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_87" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_43_fu_7744_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_43" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_43_fu_7749_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_43" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_280_fu_3786_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_280" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_281_fu_3796_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_281" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_282_fu_3806_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_282" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_283_fu_3816_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_283" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_284_fu_3826_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_284" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_57_fu_3836_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_57" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_88_fu_7755_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_88" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_89_fu_7760_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_89" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_44_fu_7765_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_44" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_44_fu_7770_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_44" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_286_fu_3846_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_286" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_287_fu_3856_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_287" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_288_fu_3866_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_288" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_289_fu_3876_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_289" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_290_fu_3886_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_290" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_58_fu_3896_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_58" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_90_fu_7776_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_90" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_91_fu_7781_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_91" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_45_fu_7786_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_45" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_45_fu_7791_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_45" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_292_fu_3906_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_292" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_293_fu_3916_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_293" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_294_fu_3926_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_294" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_295_fu_3936_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_295" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_296_fu_3946_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_296" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_59_fu_3956_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_59" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_92_fu_7797_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_92" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_93_fu_7802_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_93" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_46_fu_7807_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_46" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_46_fu_7812_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_46" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_298_fu_3966_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_298" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_299_fu_3976_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_299" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_300_fu_3986_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_300" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_301_fu_3996_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_301" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_302_fu_4006_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_302" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_60_fu_4016_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_60" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_94_fu_7818_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_94" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_95_fu_7823_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_95" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_47_fu_7828_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_47" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_47_fu_7833_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_47" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_304_fu_4022_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_304" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_305_fu_4032_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_305" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_306_fu_4042_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_306" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_307_fu_4052_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_307" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_308_fu_4062_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_308" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_61_fu_4072_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_61" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_96_fu_7839_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_96" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_97_fu_7844_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_97" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_48_fu_7849_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_48" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_48_fu_7854_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_48" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_310_fu_4078_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_310" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_311_fu_4088_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_311" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_312_fu_4098_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_312" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_313_fu_4108_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_313" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_314_fu_4118_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_314" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_315_fu_4128_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_315" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_62_fu_4138_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_62" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_98_fu_7860_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_98" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_99_fu_7865_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_99" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_49_fu_7870_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_49" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_49_fu_7875_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_49" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_83_fu_4156_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_83" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_318_fu_4166_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_318" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_319_fu_4176_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_319" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_320_fu_4186_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_320" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_321_fu_4196_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_321" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_63_fu_4206_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_63" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_100_fu_7881_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_100" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_101_fu_7886_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_101" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_50_fu_7891_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_50" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_50_fu_7896_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_50" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_323_fu_4216_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_323" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_324_fu_4226_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_324" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_325_fu_4236_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_325" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_326_fu_4246_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_326" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_64_fu_4256_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_64" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_102_fu_7902_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_102" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_103_fu_7907_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_103" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_51_fu_7912_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_51" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_51_fu_7917_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_51" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_328_fu_4266_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_328" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_329_fu_4276_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_329" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_330_fu_4286_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_330" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_331_fu_4296_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_331" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_332_fu_4306_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_332" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_65_fu_4316_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_65" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_104_fu_7923_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_104" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_105_fu_7928_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_105" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_52_fu_7933_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_52" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_52_fu_7938_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_52" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_334_fu_4326_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_334" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_335_fu_4336_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_335" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_336_fu_4346_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_336" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_337_fu_4356_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_337" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_338_fu_4366_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_338" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_66_fu_4376_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_66" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_106_fu_7944_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_106" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_107_fu_7949_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_107" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_53_fu_7954_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_53" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_53_fu_7959_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_53" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_340_fu_4386_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_340" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_341_fu_4396_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_341" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_342_fu_4406_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_342" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_343_fu_4416_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_343" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_344_fu_4426_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_344" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_67_fu_4436_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_67" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_108_fu_7965_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_108" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_109_fu_7970_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_109" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_54_fu_7975_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_54" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_54_fu_7980_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_54" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_346_fu_4446_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_346" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_347_fu_4456_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_347" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_348_fu_4466_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_348" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_349_fu_4476_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_349" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_350_fu_4486_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_350" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_68_fu_4496_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_68" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_110_fu_7986_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_110" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_111_fu_7991_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_111" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_55_fu_7996_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_55" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_55_fu_8001_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_55" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_352_fu_4506_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_352" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_353_fu_4516_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_353" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_354_fu_4526_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_354" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_355_fu_4536_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_355" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_356_fu_4546_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_356" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_69_fu_4556_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_69" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_112_fu_8007_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_112" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_113_fu_8012_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_113" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_56_fu_8017_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_56" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_56_fu_8022_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_56" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_358_fu_4566_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_358" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_359_fu_4576_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_359" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_360_fu_4586_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_360" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_361_fu_4596_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_361" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_362_fu_4606_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_362" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_70_fu_4616_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_70" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_114_fu_8028_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_114" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_115_fu_8033_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_115" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_57_fu_8038_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_57" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_57_fu_8043_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_57" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_364_fu_4622_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_364" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_365_fu_4632_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_365" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_366_fu_4642_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_366" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_367_fu_4652_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_367" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_368_fu_4662_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_368" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_71_fu_4672_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_71" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_116_fu_8049_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_116" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_117_fu_8054_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_117" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_58_fu_8059_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_58" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_58_fu_8064_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_58" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_370_fu_4678_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_370" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_371_fu_4688_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_371" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_372_fu_4698_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_372" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_373_fu_4708_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_373" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_374_fu_4718_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_374" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_72_fu_4728_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_72" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_118_fu_8070_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_118" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_119_fu_8075_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_119" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_59_fu_8080_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_59" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_59_fu_8085_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_59" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_376_fu_4746_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_376" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_377_fu_4756_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_377" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_378_fu_4766_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_378" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_379_fu_4776_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_379" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_380_fu_4786_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_380" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_73_fu_4796_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_73" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_120_fu_8091_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_120" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_121_fu_8096_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_121" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_60_fu_8101_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_60" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_60_fu_8106_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_60" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_382_fu_4806_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_382" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_383_fu_4816_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_383" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_384_fu_4826_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_384" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_385_fu_4836_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_385" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_386_fu_4846_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_386" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_74_fu_4856_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_74" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_122_fu_8112_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_122" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_123_fu_8117_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_123" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_61_fu_8122_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_61" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_61_fu_8127_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_61" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_388_fu_4866_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_388" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_389_fu_4876_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_389" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_390_fu_4886_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_390" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_391_fu_4896_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_391" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_392_fu_4906_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_392" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_75_fu_4916_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_75" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_124_fu_8133_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_124" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_125_fu_8138_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_125" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_62_fu_8143_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_62" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_62_fu_8148_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_62" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_394_fu_4926_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_394" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_395_fu_4936_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_395" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_396_fu_4946_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_396" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_397_fu_4956_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_397" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_398_fu_4966_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_398" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_76_fu_4976_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_76" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_126_fu_8154_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_126" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_127_fu_8159_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_127" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_63_fu_8164_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_63" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_63_fu_8169_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_63" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_400_fu_4986_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_400" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_401_fu_4996_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_401" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_402_fu_5006_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_402" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_403_fu_5016_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_403" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_404_fu_5026_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_404" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_77_fu_5036_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_77" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_128_fu_8175_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_128" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_129_fu_8180_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_129" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_64_fu_8185_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_64" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_64_fu_8190_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_64" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_406_fu_5046_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_406" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_407_fu_5056_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_407" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_408_fu_5066_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_408" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_409_fu_5076_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_409" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_410_fu_5086_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_410" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_78_fu_5096_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_78" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_130_fu_8196_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_130" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_131_fu_8201_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_131" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_65_fu_8206_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_65" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_65_fu_8211_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_65" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_412_fu_5106_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_412" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_413_fu_5116_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_413" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_414_fu_5126_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_414" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_415_fu_5136_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_415" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_416_fu_5146_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_416" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_79_fu_5156_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_79" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_132_fu_8217_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_132" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_133_fu_8222_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_133" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_66_fu_8227_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_66" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_66_fu_8232_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_66" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_418_fu_5166_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_418" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_419_fu_5176_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_419" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_420_fu_5186_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_420" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_421_fu_5196_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_421" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_422_fu_5206_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_422" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_80_fu_5216_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_80" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_134_fu_8238_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_134" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_135_fu_8243_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_135" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_67_fu_8248_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_67" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_67_fu_8253_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_67" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_424_fu_5222_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_424" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_425_fu_5232_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_425" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_426_fu_5242_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_426" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_427_fu_5252_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_427" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_428_fu_5262_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_428" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_81_fu_5272_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_81" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_136_fu_8259_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_136" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_137_fu_8264_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_137" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_68_fu_8269_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_68" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_68_fu_8274_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_68" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_430_fu_5278_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_430" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_431_fu_5288_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_431" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_432_fu_5298_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_432" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_433_fu_5308_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_433" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_82_fu_5318_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_82" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_138_fu_8280_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_138" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_139_fu_8285_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_139" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_69_fu_8290_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_69" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_69_fu_8295_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_69" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_435_fu_5336_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_435" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_436_fu_5346_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_436" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_437_fu_5356_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_437" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_438_fu_5366_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_438" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_439_fu_5376_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_439" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_84_fu_5386_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_84" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_140_fu_8301_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_140" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_141_fu_8306_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_141" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_70_fu_8311_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_70" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_70_fu_8316_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_70" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_441_fu_5396_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_441" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_442_fu_5406_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_442" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_443_fu_5416_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_443" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_444_fu_5426_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_444" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_445_fu_5436_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_445" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_85_fu_5446_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_85" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_142_fu_8322_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_142" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_143_fu_8327_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_143" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_71_fu_8332_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_71" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_71_fu_8337_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_71" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_447_fu_5456_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_447" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_448_fu_5466_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_448" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_449_fu_5476_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_449" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_450_fu_5486_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_450" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_451_fu_5496_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_451" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_86_fu_5506_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_86" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_144_fu_8343_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_144" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_145_fu_8348_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_145" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_72_fu_8353_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_72" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_72_fu_8358_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_72" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_453_fu_5516_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_453" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_454_fu_5526_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_454" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_455_fu_5536_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_455" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_456_fu_5546_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_456" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_457_fu_5556_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_457" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_87_fu_5566_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_87" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_146_fu_8364_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_146" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_147_fu_8369_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_147" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_73_fu_8374_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_73" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_73_fu_8379_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_73" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_459_fu_5576_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_459" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_460_fu_5586_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_460" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_461_fu_5596_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_461" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_462_fu_5606_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_462" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_463_fu_5616_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_463" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_88_fu_5626_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_88" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_148_fu_8385_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_148" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_149_fu_8390_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_149" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_74_fu_8395_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_74" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_74_fu_8400_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_74" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_465_fu_5636_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_465" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_466_fu_5646_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_466" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_467_fu_5656_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_467" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_468_fu_5666_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_468" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_469_fu_5676_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_469" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_89_fu_5686_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_89" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_150_fu_8406_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_150" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_151_fu_8411_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_151" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_75_fu_8416_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_75" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_75_fu_8421_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_75" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_471_fu_5696_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_471" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_472_fu_5706_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_472" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_473_fu_5716_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_473" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_474_fu_5726_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_474" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_475_fu_5736_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_475" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_90_fu_5746_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_90" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_152_fu_8427_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_152" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_153_fu_8432_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_153" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_76_fu_8437_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_76" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_76_fu_8442_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_76" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_477_fu_5756_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_477" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_478_fu_5766_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_478" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_479_fu_5776_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_479" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_480_fu_5786_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_480" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_481_fu_5796_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_481" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_91_fu_5806_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_91" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_154_fu_8448_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_154" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_155_fu_8453_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_155" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_77_fu_8458_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_77" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_77_fu_8463_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_77" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_483_fu_5812_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_483" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_484_fu_5822_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_484" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_485_fu_5832_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_485" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_486_fu_5842_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_486" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_487_fu_5852_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_487" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_92_fu_5862_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_92" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_156_fu_8469_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_156" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_157_fu_8474_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_157" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_78_fu_8479_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_78" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_78_fu_8484_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_78" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_489_fu_5868_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_489" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_490_fu_5878_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_490" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_491_fu_5888_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_491" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_492_fu_5898_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_492" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_493_fu_5908_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_493" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_494_fu_5918_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_494" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_93_fu_5928_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_93" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_158_fu_8490_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_158" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_159_fu_8495_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_159" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_79_fu_8500_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_79" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_79_fu_8505_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_79" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_496_fu_5934_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_496" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_497_fu_5944_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_497" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_498_fu_5954_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_498" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_499_fu_5964_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_499" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_94_fu_5974_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_94" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_160_fu_8511_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_160" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_161_fu_8516_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_161" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_80_fu_8521_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_80" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_80_fu_8526_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_80" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_501_fu_5980_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_501" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_502_fu_5990_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_502" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_503_fu_6000_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_503" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_504_fu_6010_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_504" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_95_fu_6020_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_95" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_162_fu_8532_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_162" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_163_fu_8537_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_163" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_81_fu_8542_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_81" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_81_fu_8547_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_81" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_506_fu_6026_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_506" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_507_fu_6036_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_507" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_508_fu_6046_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_508" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_509_fu_6056_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_509" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_96_fu_6066_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_96" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_164_fu_8553_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_164" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_165_fu_8558_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_165" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_82_fu_8563_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_82" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_82_fu_8568_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_82" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_511_fu_6072_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_511" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_512_fu_6082_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_512" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_513_fu_6092_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_513" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_514_fu_6102_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_514" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_97_fu_6112_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_97" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_166_fu_8574_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_166" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_167_fu_8579_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_167" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_83_fu_8584_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_83" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_83_fu_8589_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_83" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_516_fu_6118_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_516" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_517_fu_6128_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_517" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_518_fu_6138_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_518" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_519_fu_6148_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_519" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_98_fu_6158_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_98" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_168_fu_8595_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_168" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_169_fu_8600_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_169" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_84_fu_8605_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_84" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_84_fu_8610_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_84" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_521_fu_6164_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_521" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_522_fu_6174_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_522" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_523_fu_6184_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_523" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_524_fu_6194_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_524" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_99_fu_6204_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_99" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_170_fu_8616_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_170" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_171_fu_8621_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_171" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_85_fu_8626_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_85" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_85_fu_8631_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_85" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_526_fu_6210_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_526" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_527_fu_6220_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_527" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_528_fu_6230_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_528" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_529_fu_6240_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_529" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_100_fu_6250_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_100" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_172_fu_8637_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_172" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_173_fu_8642_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_173" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_86_fu_8647_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_86" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_86_fu_8652_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_86" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_531_fu_6256_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_531" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_532_fu_6266_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_532" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_533_fu_6276_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_533" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_534_fu_6286_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_534" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_101_fu_6296_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_101" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_174_fu_8658_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_174" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_175_fu_8663_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_175" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_87_fu_8668_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_87" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_87_fu_8673_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_87" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_536_fu_6302_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_536" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_537_fu_6312_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_537" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_538_fu_6322_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_538" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_539_fu_6332_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_539" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_102_fu_6342_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_102" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_176_fu_8679_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_176" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_177_fu_8684_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_177" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_88_fu_8689_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_88" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_88_fu_8694_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_88" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_541_fu_6348_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_541" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_542_fu_6358_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_542" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_543_fu_6368_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_543" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_544_fu_6378_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_544" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_545_fu_6388_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_545" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_103_fu_6398_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_103" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_178_fu_8700_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_178" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_179_fu_8705_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_179" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_89_fu_8710_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_89" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_89_fu_8715_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_89" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_547_fu_6404_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_547" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_548_fu_8724_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_548" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_104_fu_8737_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_104" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_180_fu_8743_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_180" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_181_fu_8749_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_181" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_90_fu_8755_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_90" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_90_fu_8760_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_90" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_552_fu_6422_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_552" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_553_fu_6432_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_553" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_105_fu_6458_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_105" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_182_fu_8766_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_182" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_183_fu_8771_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_183" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_91_fu_8776_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_91" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_91_fu_8781_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_91" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_557_fu_6464_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_557" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_558_fu_6474_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_558" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_106_fu_6500_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_106" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_184_fu_8787_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_184" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_185_fu_8792_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_185" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_92_fu_8797_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_92" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_92_fu_8802_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_92" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_562_fu_6506_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_562" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_563_fu_6516_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_563" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_107_fu_6542_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_107" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_186_fu_8808_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_186" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_187_fu_8813_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_187" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_93_fu_8818_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_93" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_93_fu_8823_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_93" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_567_fu_6548_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_567" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_568_fu_6558_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_568" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_108_fu_6584_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_108" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_188_fu_8829_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_188" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_189_fu_8834_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_189" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_94_fu_8839_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_94" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_94_fu_8844_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_94" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_572_fu_6590_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_572" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_573_fu_6600_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_573" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_109_fu_6626_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_109" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_190_fu_8850_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_190" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_191_fu_8855_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_191" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_95_fu_8860_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_95" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_95_fu_8865_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_95" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_577_fu_6632_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_577" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_578_fu_6642_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_578" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_110_fu_6668_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_110" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_192_fu_8871_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_192" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_193_fu_8876_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_193" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_96_fu_8881_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_96" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_96_fu_8886_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_96" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_582_fu_6674_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_582" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_583_fu_6684_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_583" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_111_fu_6710_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_111" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_194_fu_8892_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_194" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_195_fu_8897_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_195" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_97_fu_8902_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_97" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_97_fu_8907_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_97" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_587_fu_6716_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_587" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_588_fu_6726_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_588" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_112_fu_6752_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_112" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_196_fu_8913_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_196" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_197_fu_8918_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_197" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_98_fu_8923_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_98" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_98_fu_8928_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_98" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_592_fu_6758_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_592" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_593_fu_6768_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_593" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_594_fu_6778_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_594" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="add_ln69_595_fu_6788_p2" SOURCE="gameoflife.cpp:69" VARIABLE="add_ln69_595" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op add" ID="" IMPL="fabric" LATENCY="0" OPTYPE="add" PRAGMA="" RTLNAME="alive_neighbours_113_fu_6798_p2" SOURCE="gameoflife.cpp:69" VARIABLE="alive_neighbours_113" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_198_fu_8934_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_198" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op seteq" ID="" IMPL="auto" LATENCY="0" OPTYPE="seteq" PRAGMA="" RTLNAME="icmp_ln74_199_fu_8939_p2" SOURCE="gameoflife.cpp:74" VARIABLE="icmp_ln74_199" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op and" ID="" IMPL="auto" LATENCY="0" OPTYPE="and" PRAGMA="" RTLNAME="and_ln74_99_fu_8944_p2" SOURCE="gameoflife.cpp:74" VARIABLE="and_ln74_99" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="op" DISPLAY="bind_op or" ID="" IMPL="auto" LATENCY="0" OPTYPE="or" PRAGMA="" RTLNAME="is_alive_after_step_99_fu_8949_p2" SOURCE="gameoflife.cpp:74" VARIABLE="is_alive_after_step_99" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="" DSP="0" BRAM="0" URAM="0" USAGE="" STORAGESUBTYPE="" STORAGESIZE=""/>
|
||||||
|
<BindNode BINDTYPE="adapter" DISPLAY="bind_adapter axilite" ID="" IMPL="" LATENCY="" OPTYPE="" PRAGMA="" RTLNAME="AXILiteS_s_axi_U" SOURCE="" VARIABLE="" MODULE="game_of_life_step" LOOP="" BUNDLEDNAME="AXILiteS" DSP="0" BRAM="0" URAM="0" USAGE="interface" STORAGESUBTYPE="s_axilite" STORAGESIZE=""/>
|
||||||
|
</BindInfo>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# ==============================================================
|
||||||
|
# Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
# Tool Version Limit: 2025.05
|
||||||
|
# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# ==============================================================
|
||||||
|
OPTION psf_version = 2.1;
|
||||||
|
|
||||||
|
BEGIN driver game_of_life_step
|
||||||
|
|
||||||
|
OPTION supported_peripherals = (game_of_life_step_v1_0 );
|
||||||
|
OPTION driver_state = ACTIVE;
|
||||||
|
OPTION copyfiles = all;
|
||||||
|
OPTION name = game_of_life_step;
|
||||||
|
OPTION version = 1.0;
|
||||||
|
|
||||||
|
END driver
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# ==============================================================
|
||||||
|
# Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
# Tool Version Limit: 2025.05
|
||||||
|
# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# ==============================================================
|
||||||
|
proc generate {drv_handle} {
|
||||||
|
xdefine_include_file $drv_handle "xparameters.h" "XGame_of_life_step" \
|
||||||
|
"NUM_INSTANCES" \
|
||||||
|
"DEVICE_ID" \
|
||||||
|
"C_S_AXI_AXILITES_BASEADDR" \
|
||||||
|
"C_S_AXI_AXILITES_HIGHADDR"
|
||||||
|
|
||||||
|
xdefine_config_file $drv_handle "xgame_of_life_step_g.c" "XGame_of_life_step" \
|
||||||
|
"DEVICE_ID" \
|
||||||
|
"C_S_AXI_AXILITES_BASEADDR"
|
||||||
|
|
||||||
|
xdefine_canonical_xpars $drv_handle "xparameters.h" "XGame_of_life_step" \
|
||||||
|
"DEVICE_ID" \
|
||||||
|
"C_S_AXI_AXILITES_BASEADDR" \
|
||||||
|
"C_S_AXI_AXILITES_HIGHADDR"
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# ==============================================================
|
||||||
|
# Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
# Tool Version Limit: 2025.05
|
||||||
|
# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# ==============================================================
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
title: game_of_life_step driver
|
||||||
|
type: driver
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- const: xlnx,game-of-life-step-1.0
|
||||||
|
config:
|
||||||
|
- XGame_of_life_step_Config
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
additionalProperties:
|
||||||
|
- interrupts
|
||||||
|
- interrupt-parent
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# ==============================================================
|
||||||
|
# Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
# Tool Version Limit: 2025.05
|
||||||
|
# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# ==============================================================
|
||||||
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
project(game_of_life_step)
|
||||||
|
find_package(common)
|
||||||
|
collector_create (PROJECT_LIB_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
collect (PROJECT_LIB_SOURCES xgame_of_life_step.c)
|
||||||
|
collect (PROJECT_LIB_SOURCES xgame_of_life_step_sinit.c)
|
||||||
|
collect (PROJECT_LIB_SOURCES xgame_of_life_step_linux.c)
|
||||||
|
collect (PROJECT_LIB_SOURCES xgame_of_life_step_g.c)
|
||||||
|
collector_list (_sources PROJECT_LIB_SOURCES)
|
||||||
|
collector_create (PROJECT_LIB_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
collect (PROJECT_LIB_HEADERS xgame_of_life_step.h)
|
||||||
|
collect (PROJECT_LIB_HEADERS xgame_of_life_step_hw.h)
|
||||||
|
collector_list (_headers PROJECT_LIB_HEADERS)
|
||||||
|
file(COPY ${_headers} DESTINATION ${CMAKE_BINARY_DIR}/include)
|
||||||
|
include_directories(${CMAKE_BINARY_DIR}/include)
|
||||||
|
add_library(game_of_life_step STATIC ${_sources})
|
||||||
|
set_target_properties(game_of_life_step PROPERTIES LINKER_LANGUAGE C)
|
||||||
|
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
# ==============================================================
|
||||||
|
# Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
# Tool Version Limit: 2025.05
|
||||||
|
# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# ==============================================================
|
||||||
|
COMPILER=
|
||||||
|
ARCHIVER=
|
||||||
|
CP=cp
|
||||||
|
RM=rm
|
||||||
|
COMPILER_FLAGS=
|
||||||
|
EXTRA_COMPILER_FLAGS=
|
||||||
|
ARCHIVER_FLAGS=
|
||||||
|
|
||||||
|
CORENAME=game_of_life_step
|
||||||
|
|
||||||
|
RELEASEDIR=../../../lib
|
||||||
|
OBJDIR=$(RELEASEDIR)
|
||||||
|
LIBDIR=$(RELEASEDIR)
|
||||||
|
INCLUDEDIR=../../../include
|
||||||
|
INCLUDES=-I./. -I$(INCLUDEDIR)
|
||||||
|
|
||||||
|
# Source files
|
||||||
|
SRCS := $(wildcard *.c)
|
||||||
|
HEADERS := $(wildcard *.h)
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
LIB := $(LIBDIR)/libxil.a
|
||||||
|
OBJS := $(addprefix $(OBJDIR)/,$(addsuffix .o,$(basename $(SRCS))))
|
||||||
|
RELEASE_HEADERS := $(addprefix $(INCLUDEDIR)/,$(notdir $(HEADERS)))
|
||||||
|
|
||||||
|
# Rules to compile and link
|
||||||
|
$(OBJDIR)/%.o: %.c
|
||||||
|
$(COMPILER) $(COMPILER_FLAGS) $(EXTRA_COMPILER_FLAGS) $(INCLUDES) -o $@ $<
|
||||||
|
$(LIB): $(OBJS)
|
||||||
|
$(ARCHIVER) $(ARCHIVER_FLAGS) -r $@ $^
|
||||||
|
|
||||||
|
# Rule to release include files
|
||||||
|
$(INCLUDEDIR)/%.h: %.h
|
||||||
|
$(CP) $< $@
|
||||||
|
|
||||||
|
# Dependencies between sources and objects
|
||||||
|
$(OBJS): $(SRCS) | $(HEADERS)
|
||||||
|
|
||||||
|
# Named targets for use by others
|
||||||
|
include: $(RELEASE_HEADERS)
|
||||||
|
includes: include
|
||||||
|
libs: $(LIB) banner
|
||||||
|
objs: $(OBJS)
|
||||||
|
|
||||||
|
# Helper targets
|
||||||
|
clean:
|
||||||
|
$(RM) -f $(LIB) $(OBJS) $(RELEASE_HEADERS)
|
||||||
|
banner:
|
||||||
|
echo "Building $(CORENAME)"
|
||||||
|
|
||||||
|
.PHONY: clean include objs libs includes banner
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,281 @@
|
|||||||
|
// ==============================================================
|
||||||
|
// Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
// Tool Version Limit: 2025.05
|
||||||
|
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
//
|
||||||
|
// ==============================================================
|
||||||
|
/***************************** Include Files *********************************/
|
||||||
|
#include "xgame_of_life_step.h"
|
||||||
|
|
||||||
|
/************************** Function Implementation *************************/
|
||||||
|
#ifndef __linux__
|
||||||
|
int XGame_of_life_step_CfgInitialize(XGame_of_life_step *InstancePtr, XGame_of_life_step_Config *ConfigPtr) {
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(ConfigPtr != NULL);
|
||||||
|
|
||||||
|
InstancePtr->Axilites_BaseAddress = ConfigPtr->Axilites_BaseAddress;
|
||||||
|
InstancePtr->IsReady = XIL_COMPONENT_IS_READY;
|
||||||
|
|
||||||
|
return XST_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void XGame_of_life_step_Start(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_AP_CTRL) & 0x80;
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_AP_CTRL, Data | 0x01);
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_IsDone(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_AP_CTRL);
|
||||||
|
return (Data >> 1) & 0x1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_IsIdle(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_AP_CTRL);
|
||||||
|
return (Data >> 2) & 0x1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_IsReady(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_AP_CTRL);
|
||||||
|
// check ap_start to see if the pcore is ready for next input
|
||||||
|
return !(Data & 0x1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_EnableAutoRestart(XGame_of_life_step *InstancePtr) {
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_AP_CTRL, 0x80);
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_DisableAutoRestart(XGame_of_life_step *InstancePtr) {
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_AP_CTRL, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_Set_in_words_0(XGame_of_life_step *InstancePtr, u32 Data) {
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_0_DATA, Data);
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_in_words_0(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_0_DATA);
|
||||||
|
return Data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_Set_in_words_1(XGame_of_life_step *InstancePtr, u32 Data) {
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_1_DATA, Data);
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_in_words_1(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_1_DATA);
|
||||||
|
return Data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_Set_in_words_2(XGame_of_life_step *InstancePtr, u32 Data) {
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_2_DATA, Data);
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_in_words_2(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_2_DATA);
|
||||||
|
return Data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_Set_in_words_3(XGame_of_life_step *InstancePtr, u32 Data) {
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_3_DATA, Data);
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_in_words_3(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_3_DATA);
|
||||||
|
return Data;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_out_words_0(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_0_DATA);
|
||||||
|
return Data;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_out_words_0_vld(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_0_CTRL);
|
||||||
|
return Data & 0x1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_out_words_1(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_1_DATA);
|
||||||
|
return Data;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_out_words_1_vld(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_1_CTRL);
|
||||||
|
return Data & 0x1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_out_words_2(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_2_DATA);
|
||||||
|
return Data;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_out_words_2_vld(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_2_CTRL);
|
||||||
|
return Data & 0x1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_out_words_3(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_3_DATA);
|
||||||
|
return Data;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_Get_out_words_3_vld(XGame_of_life_step *InstancePtr) {
|
||||||
|
u32 Data;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Data = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_3_CTRL);
|
||||||
|
return Data & 0x1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_InterruptGlobalEnable(XGame_of_life_step *InstancePtr) {
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_GIE, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_InterruptGlobalDisable(XGame_of_life_step *InstancePtr) {
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_GIE, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_InterruptEnable(XGame_of_life_step *InstancePtr, u32 Mask) {
|
||||||
|
u32 Register;
|
||||||
|
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Register = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IER);
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IER, Register | Mask);
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_InterruptDisable(XGame_of_life_step *InstancePtr, u32 Mask) {
|
||||||
|
u32 Register;
|
||||||
|
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
Register = XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IER);
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IER, Register & (~Mask));
|
||||||
|
}
|
||||||
|
|
||||||
|
void XGame_of_life_step_InterruptClear(XGame_of_life_step *InstancePtr, u32 Mask) {
|
||||||
|
Xil_AssertVoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
XGame_of_life_step_WriteReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_ISR, Mask);
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_InterruptGetEnabled(XGame_of_life_step *InstancePtr) {
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
return XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_IER);
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 XGame_of_life_step_InterruptGetStatus(XGame_of_life_step *InstancePtr) {
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
return XGame_of_life_step_ReadReg(InstancePtr->Axilites_BaseAddress, XGAME_OF_LIFE_STEP_AXILITES_ADDR_ISR);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,131 @@
|
|||||||
|
// ==============================================================
|
||||||
|
// Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
// Tool Version Limit: 2025.05
|
||||||
|
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
//
|
||||||
|
// ==============================================================
|
||||||
|
#ifndef XGAME_OF_LIFE_STEP_H
|
||||||
|
#define XGAME_OF_LIFE_STEP_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/***************************** Include Files *********************************/
|
||||||
|
#ifndef __linux__
|
||||||
|
#include "xil_types.h"
|
||||||
|
#include "xil_assert.h"
|
||||||
|
#include "xstatus.h"
|
||||||
|
#include "xil_io.h"
|
||||||
|
#else
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
#endif
|
||||||
|
#include "xgame_of_life_step_hw.h"
|
||||||
|
|
||||||
|
/**************************** Type Definitions ******************************/
|
||||||
|
#ifdef __linux__
|
||||||
|
typedef uint8_t u8;
|
||||||
|
typedef uint16_t u16;
|
||||||
|
typedef uint32_t u32;
|
||||||
|
typedef uint64_t u64;
|
||||||
|
#else
|
||||||
|
typedef struct {
|
||||||
|
#ifdef SDT
|
||||||
|
char *Name;
|
||||||
|
#else
|
||||||
|
u16 DeviceId;
|
||||||
|
#endif
|
||||||
|
u64 Axilites_BaseAddress;
|
||||||
|
} XGame_of_life_step_Config;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
u64 Axilites_BaseAddress;
|
||||||
|
u32 IsReady;
|
||||||
|
} XGame_of_life_step;
|
||||||
|
|
||||||
|
typedef u32 word_type;
|
||||||
|
|
||||||
|
/***************** Macros (Inline Functions) Definitions *********************/
|
||||||
|
#ifndef __linux__
|
||||||
|
#define XGame_of_life_step_WriteReg(BaseAddress, RegOffset, Data) \
|
||||||
|
Xil_Out32((BaseAddress) + (RegOffset), (u32)(Data))
|
||||||
|
#define XGame_of_life_step_ReadReg(BaseAddress, RegOffset) \
|
||||||
|
Xil_In32((BaseAddress) + (RegOffset))
|
||||||
|
#else
|
||||||
|
#define XGame_of_life_step_WriteReg(BaseAddress, RegOffset, Data) \
|
||||||
|
*(volatile u32*)((BaseAddress) + (RegOffset)) = (u32)(Data)
|
||||||
|
#define XGame_of_life_step_ReadReg(BaseAddress, RegOffset) \
|
||||||
|
*(volatile u32*)((BaseAddress) + (RegOffset))
|
||||||
|
|
||||||
|
#define Xil_AssertVoid(expr) assert(expr)
|
||||||
|
#define Xil_AssertNonvoid(expr) assert(expr)
|
||||||
|
|
||||||
|
#define XST_SUCCESS 0
|
||||||
|
#define XST_DEVICE_NOT_FOUND 2
|
||||||
|
#define XST_OPEN_DEVICE_FAILED 3
|
||||||
|
#define XIL_COMPONENT_IS_READY 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************** Function Prototypes *****************************/
|
||||||
|
#ifndef __linux__
|
||||||
|
#ifdef SDT
|
||||||
|
int XGame_of_life_step_Initialize(XGame_of_life_step *InstancePtr, UINTPTR BaseAddress);
|
||||||
|
XGame_of_life_step_Config* XGame_of_life_step_LookupConfig(UINTPTR BaseAddress);
|
||||||
|
#else
|
||||||
|
int XGame_of_life_step_Initialize(XGame_of_life_step *InstancePtr, u16 DeviceId);
|
||||||
|
XGame_of_life_step_Config* XGame_of_life_step_LookupConfig(u16 DeviceId);
|
||||||
|
#endif
|
||||||
|
int XGame_of_life_step_CfgInitialize(XGame_of_life_step *InstancePtr, XGame_of_life_step_Config *ConfigPtr);
|
||||||
|
#else
|
||||||
|
int XGame_of_life_step_Initialize(XGame_of_life_step *InstancePtr, const char* InstanceName);
|
||||||
|
int XGame_of_life_step_Release(XGame_of_life_step *InstancePtr);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void XGame_of_life_step_Start(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_IsDone(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_IsIdle(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_IsReady(XGame_of_life_step *InstancePtr);
|
||||||
|
void XGame_of_life_step_EnableAutoRestart(XGame_of_life_step *InstancePtr);
|
||||||
|
void XGame_of_life_step_DisableAutoRestart(XGame_of_life_step *InstancePtr);
|
||||||
|
|
||||||
|
void XGame_of_life_step_Set_in_words_0(XGame_of_life_step *InstancePtr, u32 Data);
|
||||||
|
u32 XGame_of_life_step_Get_in_words_0(XGame_of_life_step *InstancePtr);
|
||||||
|
void XGame_of_life_step_Set_in_words_1(XGame_of_life_step *InstancePtr, u32 Data);
|
||||||
|
u32 XGame_of_life_step_Get_in_words_1(XGame_of_life_step *InstancePtr);
|
||||||
|
void XGame_of_life_step_Set_in_words_2(XGame_of_life_step *InstancePtr, u32 Data);
|
||||||
|
u32 XGame_of_life_step_Get_in_words_2(XGame_of_life_step *InstancePtr);
|
||||||
|
void XGame_of_life_step_Set_in_words_3(XGame_of_life_step *InstancePtr, u32 Data);
|
||||||
|
u32 XGame_of_life_step_Get_in_words_3(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_Get_out_words_0(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_Get_out_words_0_vld(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_Get_out_words_1(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_Get_out_words_1_vld(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_Get_out_words_2(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_Get_out_words_2_vld(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_Get_out_words_3(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_Get_out_words_3_vld(XGame_of_life_step *InstancePtr);
|
||||||
|
|
||||||
|
void XGame_of_life_step_InterruptGlobalEnable(XGame_of_life_step *InstancePtr);
|
||||||
|
void XGame_of_life_step_InterruptGlobalDisable(XGame_of_life_step *InstancePtr);
|
||||||
|
void XGame_of_life_step_InterruptEnable(XGame_of_life_step *InstancePtr, u32 Mask);
|
||||||
|
void XGame_of_life_step_InterruptDisable(XGame_of_life_step *InstancePtr, u32 Mask);
|
||||||
|
void XGame_of_life_step_InterruptClear(XGame_of_life_step *InstancePtr, u32 Mask);
|
||||||
|
u32 XGame_of_life_step_InterruptGetEnabled(XGame_of_life_step *InstancePtr);
|
||||||
|
u32 XGame_of_life_step_InterruptGetStatus(XGame_of_life_step *InstancePtr);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
// ==============================================================
|
||||||
|
// Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
// Tool Version Limit: 2025.05
|
||||||
|
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
//
|
||||||
|
// ==============================================================
|
||||||
|
// AXILiteS
|
||||||
|
// 0x00 : Control signals
|
||||||
|
// bit 0 - ap_start (Read/Write/COH)
|
||||||
|
// bit 1 - ap_done (Read/COR)
|
||||||
|
// bit 2 - ap_idle (Read)
|
||||||
|
// bit 3 - ap_ready (Read/COR)
|
||||||
|
// bit 7 - auto_restart (Read/Write)
|
||||||
|
// bit 9 - interrupt (Read)
|
||||||
|
// others - reserved
|
||||||
|
// 0x04 : Global Interrupt Enable Register
|
||||||
|
// bit 0 - Global Interrupt Enable (Read/Write)
|
||||||
|
// others - reserved
|
||||||
|
// 0x08 : IP Interrupt Enable Register (Read/Write)
|
||||||
|
// bit 0 - enable ap_done interrupt (Read/Write)
|
||||||
|
// bit 1 - enable ap_ready interrupt (Read/Write)
|
||||||
|
// others - reserved
|
||||||
|
// 0x0c : IP Interrupt Status Register (Read/TOW)
|
||||||
|
// bit 0 - ap_done (Read/TOW)
|
||||||
|
// bit 1 - ap_ready (Read/TOW)
|
||||||
|
// others - reserved
|
||||||
|
// 0x10 : Data signal of in_words_0
|
||||||
|
// bit 31~0 - in_words_0[31:0] (Read/Write)
|
||||||
|
// 0x14 : reserved
|
||||||
|
// 0x18 : Data signal of in_words_1
|
||||||
|
// bit 31~0 - in_words_1[31:0] (Read/Write)
|
||||||
|
// 0x1c : reserved
|
||||||
|
// 0x20 : Data signal of in_words_2
|
||||||
|
// bit 31~0 - in_words_2[31:0] (Read/Write)
|
||||||
|
// 0x24 : reserved
|
||||||
|
// 0x28 : Data signal of in_words_3
|
||||||
|
// bit 31~0 - in_words_3[31:0] (Read/Write)
|
||||||
|
// 0x2c : reserved
|
||||||
|
// 0x30 : Data signal of out_words_0
|
||||||
|
// bit 31~0 - out_words_0[31:0] (Read)
|
||||||
|
// 0x34 : Control signal of out_words_0
|
||||||
|
// bit 0 - out_words_0_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// 0x40 : Data signal of out_words_1
|
||||||
|
// bit 31~0 - out_words_1[31:0] (Read)
|
||||||
|
// 0x44 : Control signal of out_words_1
|
||||||
|
// bit 0 - out_words_1_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// 0x50 : Data signal of out_words_2
|
||||||
|
// bit 31~0 - out_words_2[31:0] (Read)
|
||||||
|
// 0x54 : Control signal of out_words_2
|
||||||
|
// bit 0 - out_words_2_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// 0x60 : Data signal of out_words_3
|
||||||
|
// bit 31~0 - out_words_3[31:0] (Read)
|
||||||
|
// 0x64 : Control signal of out_words_3
|
||||||
|
// bit 0 - out_words_3_ap_vld (Read/COR)
|
||||||
|
// others - reserved
|
||||||
|
// (SC = Self Clear, COR = Clear on Read, TOW = Toggle on Write, COH = Clear on Handshake)
|
||||||
|
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_AP_CTRL 0x00
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_GIE 0x04
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_IER 0x08
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_ISR 0x0c
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_0_DATA 0x10
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_BITS_IN_WORDS_0_DATA 32
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_1_DATA 0x18
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_BITS_IN_WORDS_1_DATA 32
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_2_DATA 0x20
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_BITS_IN_WORDS_2_DATA 32
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_IN_WORDS_3_DATA 0x28
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_BITS_IN_WORDS_3_DATA 32
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_0_DATA 0x30
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_BITS_OUT_WORDS_0_DATA 32
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_0_CTRL 0x34
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_1_DATA 0x40
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_BITS_OUT_WORDS_1_DATA 32
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_1_CTRL 0x44
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_2_DATA 0x50
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_BITS_OUT_WORDS_2_DATA 32
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_2_CTRL 0x54
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_3_DATA 0x60
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_BITS_OUT_WORDS_3_DATA 32
|
||||||
|
#define XGAME_OF_LIFE_STEP_AXILITES_ADDR_OUT_WORDS_3_CTRL 0x64
|
||||||
|
|
||||||
@@ -0,0 +1,150 @@
|
|||||||
|
// ==============================================================
|
||||||
|
// Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
// Tool Version Limit: 2025.05
|
||||||
|
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
//
|
||||||
|
// ==============================================================
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
|
/***************************** Include Files *********************************/
|
||||||
|
#include "xgame_of_life_step.h"
|
||||||
|
|
||||||
|
/***************** Macros (Inline Functions) Definitions *********************/
|
||||||
|
#define MAX_UIO_PATH_SIZE 256
|
||||||
|
#define MAX_UIO_NAME_SIZE 64
|
||||||
|
#define MAX_UIO_MAPS 5
|
||||||
|
#define UIO_INVALID_ADDR 0
|
||||||
|
|
||||||
|
/**************************** Type Definitions ******************************/
|
||||||
|
typedef struct {
|
||||||
|
u64 addr;
|
||||||
|
u32 size;
|
||||||
|
} XGame_of_life_step_uio_map;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int uio_fd;
|
||||||
|
int uio_num;
|
||||||
|
char name[ MAX_UIO_NAME_SIZE ];
|
||||||
|
char version[ MAX_UIO_NAME_SIZE ];
|
||||||
|
XGame_of_life_step_uio_map maps[ MAX_UIO_MAPS ];
|
||||||
|
} XGame_of_life_step_uio_info;
|
||||||
|
|
||||||
|
/***************** Variable Definitions **************************************/
|
||||||
|
static XGame_of_life_step_uio_info uio_info;
|
||||||
|
|
||||||
|
/************************** Function Implementation *************************/
|
||||||
|
static int line_from_file(char* filename, char* linebuf) {
|
||||||
|
char* s;
|
||||||
|
int i;
|
||||||
|
FILE* fp = fopen(filename, "r");
|
||||||
|
if (!fp) return -1;
|
||||||
|
s = fgets(linebuf, MAX_UIO_NAME_SIZE, fp);
|
||||||
|
fclose(fp);
|
||||||
|
if (!s) return -2;
|
||||||
|
for (i=0; (*s)&&(i<MAX_UIO_NAME_SIZE); i++) {
|
||||||
|
if (*s == '\n') *s = 0;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int uio_info_read_name(XGame_of_life_step_uio_info* info) {
|
||||||
|
char file[ MAX_UIO_PATH_SIZE ];
|
||||||
|
sprintf(file, "/sys/class/uio/uio%d/name", info->uio_num);
|
||||||
|
return line_from_file(file, info->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int uio_info_read_version(XGame_of_life_step_uio_info* info) {
|
||||||
|
char file[ MAX_UIO_PATH_SIZE ];
|
||||||
|
sprintf(file, "/sys/class/uio/uio%d/version", info->uio_num);
|
||||||
|
return line_from_file(file, info->version);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int uio_info_read_map_addr(XGame_of_life_step_uio_info* info, int n) {
|
||||||
|
int ret;
|
||||||
|
char file[ MAX_UIO_PATH_SIZE ];
|
||||||
|
info->maps[n].addr = UIO_INVALID_ADDR;
|
||||||
|
sprintf(file, "/sys/class/uio/uio%d/maps/map%d/addr", info->uio_num, n);
|
||||||
|
FILE* fp = fopen(file, "r");
|
||||||
|
if (!fp) return -1;
|
||||||
|
ret = fscanf(fp, "0x%x", &info->maps[n].addr);
|
||||||
|
fclose(fp);
|
||||||
|
if (ret < 0) return -2;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int uio_info_read_map_size(XGame_of_life_step_uio_info* info, int n) {
|
||||||
|
int ret;
|
||||||
|
char file[ MAX_UIO_PATH_SIZE ];
|
||||||
|
sprintf(file, "/sys/class/uio/uio%d/maps/map%d/size", info->uio_num, n);
|
||||||
|
FILE* fp = fopen(file, "r");
|
||||||
|
if (!fp) return -1;
|
||||||
|
ret = fscanf(fp, "0x%x", &info->maps[n].size);
|
||||||
|
fclose(fp);
|
||||||
|
if (ret < 0) return -2;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int XGame_of_life_step_Initialize(XGame_of_life_step *InstancePtr, const char* InstanceName) {
|
||||||
|
XGame_of_life_step_uio_info *InfoPtr = &uio_info;
|
||||||
|
struct dirent **namelist;
|
||||||
|
int i, n;
|
||||||
|
char* s;
|
||||||
|
char file[ MAX_UIO_PATH_SIZE ];
|
||||||
|
char name[ MAX_UIO_NAME_SIZE ];
|
||||||
|
int flag = 0;
|
||||||
|
|
||||||
|
assert(InstancePtr != NULL);
|
||||||
|
|
||||||
|
n = scandir("/sys/class/uio", &namelist, 0, alphasort);
|
||||||
|
if (n < 0) return XST_DEVICE_NOT_FOUND;
|
||||||
|
for (i = 0; i < n; i++) {
|
||||||
|
strcpy(file, "/sys/class/uio/");
|
||||||
|
strcat(file, namelist[i]->d_name);
|
||||||
|
strcat(file, "/name");
|
||||||
|
if ((line_from_file(file, name) == 0) && (strcmp(name, InstanceName) == 0)) {
|
||||||
|
flag = 1;
|
||||||
|
s = namelist[i]->d_name;
|
||||||
|
s += 3; // "uio"
|
||||||
|
InfoPtr->uio_num = atoi(s);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (flag == 0) return XST_DEVICE_NOT_FOUND;
|
||||||
|
|
||||||
|
uio_info_read_name(InfoPtr);
|
||||||
|
uio_info_read_version(InfoPtr);
|
||||||
|
for (n = 0; n < MAX_UIO_MAPS; ++n) {
|
||||||
|
uio_info_read_map_addr(InfoPtr, n);
|
||||||
|
uio_info_read_map_size(InfoPtr, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
sprintf(file, "/dev/uio%d", InfoPtr->uio_num);
|
||||||
|
if ((InfoPtr->uio_fd = open(file, O_RDWR)) < 0) {
|
||||||
|
return XST_OPEN_DEVICE_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NOTE: slave interface 'Axilites' should be mapped to uioX/map0
|
||||||
|
InstancePtr->Axilites_BaseAddress = (u64)mmap(NULL, InfoPtr->maps[0].size, PROT_READ|PROT_WRITE, MAP_SHARED, InfoPtr->uio_fd, 0 * getpagesize());
|
||||||
|
assert(InstancePtr->Axilites_BaseAddress);
|
||||||
|
|
||||||
|
InstancePtr->IsReady = XIL_COMPONENT_IS_READY;
|
||||||
|
|
||||||
|
return XST_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
int XGame_of_life_step_Release(XGame_of_life_step *InstancePtr) {
|
||||||
|
XGame_of_life_step_uio_info *InfoPtr = &uio_info;
|
||||||
|
|
||||||
|
assert(InstancePtr != NULL);
|
||||||
|
assert(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
|
||||||
|
|
||||||
|
munmap((void*)InstancePtr->Axilites_BaseAddress, InfoPtr->maps[0].size);
|
||||||
|
|
||||||
|
close(InfoPtr->uio_fd);
|
||||||
|
|
||||||
|
return XST_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
// ==============================================================
|
||||||
|
// Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2025.1 (64-bit)
|
||||||
|
// Tool Version Limit: 2025.05
|
||||||
|
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
||||||
|
// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
|
||||||
|
//
|
||||||
|
// ==============================================================
|
||||||
|
#ifndef __linux__
|
||||||
|
|
||||||
|
#include "xstatus.h"
|
||||||
|
#ifdef SDT
|
||||||
|
#include "xparameters.h"
|
||||||
|
#endif
|
||||||
|
#include "xgame_of_life_step.h"
|
||||||
|
|
||||||
|
extern XGame_of_life_step_Config XGame_of_life_step_ConfigTable[];
|
||||||
|
|
||||||
|
#ifdef SDT
|
||||||
|
XGame_of_life_step_Config *XGame_of_life_step_LookupConfig(UINTPTR BaseAddress) {
|
||||||
|
XGame_of_life_step_Config *ConfigPtr = NULL;
|
||||||
|
|
||||||
|
int Index;
|
||||||
|
|
||||||
|
for (Index = (u32)0x0; XGame_of_life_step_ConfigTable[Index].Name != NULL; Index++) {
|
||||||
|
if (!BaseAddress || XGame_of_life_step_ConfigTable[Index].Axilites_BaseAddress == BaseAddress) {
|
||||||
|
ConfigPtr = &XGame_of_life_step_ConfigTable[Index];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ConfigPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
int XGame_of_life_step_Initialize(XGame_of_life_step *InstancePtr, UINTPTR BaseAddress) {
|
||||||
|
XGame_of_life_step_Config *ConfigPtr;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
|
||||||
|
ConfigPtr = XGame_of_life_step_LookupConfig(BaseAddress);
|
||||||
|
if (ConfigPtr == NULL) {
|
||||||
|
InstancePtr->IsReady = 0;
|
||||||
|
return (XST_DEVICE_NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
return XGame_of_life_step_CfgInitialize(InstancePtr, ConfigPtr);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
XGame_of_life_step_Config *XGame_of_life_step_LookupConfig(u16 DeviceId) {
|
||||||
|
XGame_of_life_step_Config *ConfigPtr = NULL;
|
||||||
|
|
||||||
|
int Index;
|
||||||
|
|
||||||
|
for (Index = 0; Index < XPAR_XGAME_OF_LIFE_STEP_NUM_INSTANCES; Index++) {
|
||||||
|
if (XGame_of_life_step_ConfigTable[Index].DeviceId == DeviceId) {
|
||||||
|
ConfigPtr = &XGame_of_life_step_ConfigTable[Index];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ConfigPtr;
|
||||||
|
}
|
||||||
|
|
||||||
|
int XGame_of_life_step_Initialize(XGame_of_life_step *InstancePtr, u16 DeviceId) {
|
||||||
|
XGame_of_life_step_Config *ConfigPtr;
|
||||||
|
|
||||||
|
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||||
|
|
||||||
|
ConfigPtr = XGame_of_life_step_LookupConfig(DeviceId);
|
||||||
|
if (ConfigPtr == NULL) {
|
||||||
|
InstancePtr->IsReady = 0;
|
||||||
|
return (XST_DEVICE_NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
return XGame_of_life_step_CfgInitialize(InstancePtr, ConfigPtr);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DSP48E1
|
||||||
Binary file not shown.
@@ -0,0 +1,90 @@
|
|||||||
|
<xilinx:hls_fe_msgs>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="directive:1:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaContext="directive" ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaOptions="name=game_of_life_step" ARG_PragmaType="top" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:6:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaOptions="variable=in_words dim=1 type=complete" ARG_PragmaType="array_partition" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:7:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaOptions="variable=out_words dim=1 type=complete" ARG_PragmaType="array_partition" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:9:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaOptions="s_axilite port = in_words bundle = AXILiteS" ARG_PragmaType="interface" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:10:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaOptions="s_axilite port = out_words bundle = AXILiteS" ARG_PragmaType="interface" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:11:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaOptions="s_axilite port = return bundle = AXILiteS" ARG_PragmaType="interface" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:15:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaOptions="variable=current_grid dim=0 type=complete" ARG_PragmaType="array_partition" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:19:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaOptions="variable=next_grid dim=0 type=complete" ARG_PragmaType="array_partition" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:28:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaType="unroll" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:40:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaType="unroll" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:44:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaType="unroll" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:51:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaType="unroll" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:55:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaType="unroll" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:81:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaOptions="variable=packed_words dim=1 type=complete" ARG_PragmaType="array_partition" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:85:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaType="unroll" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:91:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaType="unroll" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_VERBOSE_DUMP" msg_id="207-5471" msg_severity="WARNING" msg_loc="gameoflife.cpp:101:9" msg_body="HLS pragma dump">
|
||||||
|
<args ARG_PragmaFunction="game_of_life_step" ARG_PragmaIsValid="1" ARG_PragmaType="unroll" ClangWarningOption="dump-hls-pragmas"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_UNROLL" msg_id="214-186" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Unrolling loop 'VITIS_LOOP_100_2' (gameoflife.cpp:100:23) in function 'game_of_life_step' completely with a factor of 4">
|
||||||
|
<args Factor="4" LoopLoc="gameoflife.cpp:100:23" LoopName="VITIS_LOOP_100_2"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_UNROLL" msg_id="214-186" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Unrolling loop 'pack_direct' (gameoflife.cpp:90:5) in function 'game_of_life_step' completely with a factor of 100">
|
||||||
|
<args Factor="100" LoopLoc="gameoflife.cpp:90:5" LoopName="pack_direct"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_UNROLL" msg_id="214-186" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Unrolling loop 'VITIS_LOOP_84_1' (gameoflife.cpp:84:19) in function 'game_of_life_step' completely with a factor of 4">
|
||||||
|
<args Factor="4" LoopLoc="gameoflife.cpp:84:19" LoopName="VITIS_LOOP_84_1"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_UNROLL" msg_id="214-186" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Unrolling loop 'row_loop' (gameoflife.cpp:39:5) in function 'game_of_life_step' completely with a factor of 10">
|
||||||
|
<args Factor="10" LoopLoc="gameoflife.cpp:39:5" LoopName="row_loop"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_UNROLL" msg_id="214-186" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Unrolling loop 'column_loop' (gameoflife.cpp:43:9) in function 'game_of_life_step' completely with a factor of 10">
|
||||||
|
<args Factor="10" LoopLoc="gameoflife.cpp:43:9" LoopName="column_loop"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_UNROLL" msg_id="214-186" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Unrolling loop 'delta_row_loop' (gameoflife.cpp:50:13) in function 'game_of_life_step' completely with a factor of 3">
|
||||||
|
<args Factor="3" LoopLoc="gameoflife.cpp:50:13" LoopName="delta_row_loop"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_UNROLL" msg_id="214-186" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Unrolling loop 'delta_col_loop' (gameoflife.cpp:54:17) in function 'game_of_life_step' completely with a factor of 3">
|
||||||
|
<args Factor="3" LoopLoc="gameoflife.cpp:54:17" LoopName="delta_col_loop"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_UNROLL" msg_id="214-186" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Unrolling loop 'unpack_loop' (gameoflife.cpp:27:5) in function 'game_of_life_step' completely with a factor of 100">
|
||||||
|
<args Factor="100" LoopLoc="gameoflife.cpp:27:5" LoopName="unpack_loop"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_MISC" msg_id="214-248" msg_severity="INFO" msg_loc="gameoflife.cpp:14:13" msg_body="Applying array_partition to 'current_grid': Complete partitioning on dimension 1. Complete partitioning on dimension 2.">
|
||||||
|
<args Dim="islist 1 2" Mode="islist Complete Complete" UOName="current_grid"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_MISC" msg_id="214-248" msg_severity="INFO" msg_loc="gameoflife.cpp:18:13" msg_body="Applying array_partition to 'next_grid': Complete partitioning on dimension 1. Complete partitioning on dimension 2.">
|
||||||
|
<args Dim="islist 1 2" Mode="islist Complete Complete" UOName="next_grid"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_MISC" msg_id="214-248" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Applying array_partition to 'in_words': Complete partitioning on dimension 1.">
|
||||||
|
<args Dim="1" Mode="Complete" UOName="in_words"/>
|
||||||
|
</msg>
|
||||||
|
<msg msg_groups="PRAGMA_MISC" msg_id="214-248" msg_severity="INFO" msg_loc="gameoflife.cpp:5:0" msg_body="Applying array_partition to 'out_words': Complete partitioning on dimension 1.">
|
||||||
|
<args Dim="1" Mode="Complete" UOName="out_words"/>
|
||||||
|
</msg>
|
||||||
|
</xilinx:hls_fe_msgs>
|
||||||
|
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
<pragmas>
|
||||||
|
<pragma file="gameoflife.cpp" line="101" pragmaType="unroll" parentfunction="game_of_life_step" factor="-1" skip_exit_check="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="91" pragmaType="unroll" parentfunction="game_of_life_step" factor="-1" skip_exit_check="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="85" pragmaType="unroll" parentfunction="game_of_life_step" factor="-1" skip_exit_check="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="40" pragmaType="unroll" parentfunction="game_of_life_step" factor="-1" skip_exit_check="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="44" pragmaType="unroll" parentfunction="game_of_life_step" factor="-1" skip_exit_check="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="51" pragmaType="unroll" parentfunction="game_of_life_step" factor="-1" skip_exit_check="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="55" pragmaType="unroll" parentfunction="game_of_life_step" factor="-1" skip_exit_check="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="28" pragmaType="unroll" parentfunction="game_of_life_step" factor="-1" skip_exit_check="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="6" pragmaType="array_partition" parentfunction="game_of_life_step" dim="1" factor="0" mode="complete" dynamic="0" variable="in_words"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="7" pragmaType="array_partition" parentfunction="game_of_life_step" dim="1" factor="0" mode="complete" dynamic="0" variable="out_words"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="9" pragmaType="interface" parentfunction="game_of_life_step" mode="s_axilite" port="in_words" bundle="AXILiteS" offset="-1" name="" clock="" impl="" register="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="10" pragmaType="interface" parentfunction="game_of_life_step" mode="s_axilite" port="out_words" bundle="AXILiteS" offset="-1" name="" clock="" impl="" register="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="11" pragmaType="interface" parentfunction="game_of_life_step" mode="s_axilite" port="" bundle="AXILiteS" offset="-1" name="" clock="" impl="" register="0"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="15" pragmaType="array_partition" parentfunction="game_of_life_step" dim="0" factor="0" mode="complete" dynamic="0" variable="current_grid"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="19" pragmaType="array_partition" parentfunction="game_of_life_step" dim="0" factor="0" mode="complete" dynamic="0" variable="next_grid"/>
|
||||||
|
<pragma file="gameoflife.cpp" line="81" pragmaType="array_partition" parentfunction="game_of_life_step" dim="1" factor="0" mode="complete" dynamic="0" variable="packed_words"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_uint<4>::ap_uint(int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_bit_ref<32, false>& ap_bit_ref<32, false>::operator=<1, false>(ap_int_base<1, false> const&)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_int_base<32, false>::operator unsigned long long() const" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="checkOverflowBaseC" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_bit_ref<32, false>::ap_bit_ref(ap_int_base<32, false>*, int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_int_base<32, false>::ap_int_base(int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="checkOverflowBaseC" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/common/technology/autopilot/etc/ap_common.h" line="542" pragmaType="inline" parentfunction="ssdm_int<32, false>::ssdm_int(unsigned int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_int_base<32, true>::ap_int_base(int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="bool ap_int_base<4, false>::operator==<32, true>(ap_int_base<32, true> const&) const" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/common/technology/autopilot/etc/ap_common.h" line="534" pragmaType="inline" parentfunction="ssdm_int<32, true>::ssdm_int(int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_int_base<4, false>::ap_int_base(int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="checkOverflowBaseC" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/common/technology/autopilot/etc/ap_common.h" line="542" pragmaType="inline" parentfunction="_ZN8ssdm_intILi4ELb0EEC2EDq4_j" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_int_base<1, false>::ap_int_base(unsigned int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_int_base<1, false>::operator unsigned long long() const" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="bool operator==<4, false>(ap_int_base<4, false> const&, int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_uint<1>::ap_uint(bool)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_uint<32>::ap_uint(int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_int_base<32, false>::operator[](int)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="checkOverflowBaseC" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_bit_ref<32, false>::operator=(unsigned long long)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_int_base<1, false>::ap_int_base(bool)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="/opt/york/cs/net/xilinx_vivado-2025.1-x86_64-1/2025.1/Vitis/common/technology/autopilot/etc/ap_common.h" line="542" pragmaType="inline" parentfunction="_ZN8ssdm_intILi1ELb0EEC2EDq1_j" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_int_base<4, false>& ap_int_base<4, false>::operator+=<1, false>(ap_int_base<1, false> const&)" off="0" region="0" recursive="0"/>
|
||||||
|
<pragma file="" line="0" pragmaType="inline" parentfunction="ap_uint<1>::ap_uint(unsigned int)" off="0" region="0" recursive="0"/>
|
||||||
|
</pragmas>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
set RtlHierarchyInfo {[
|
||||||
|
{"ID" : "0", "Level" : "0", "Path" : "`AUTOTB_DUT_INST"},
|
||||||
|
{"ID" : "1", "Level" : "1", "Path" : "`AUTOTB_DUT_INST.AXILiteS_s_axi_U"}]}
|
||||||
|
set DependenceCheckSize 0
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,78 @@
|
|||||||
|
# This script segment is generated automatically by AutoPilot
|
||||||
|
|
||||||
|
set axilite_register_dict [dict create]
|
||||||
|
set port_AXILiteS {
|
||||||
|
in_words_0 {
|
||||||
|
dir I
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_none
|
||||||
|
offset 16
|
||||||
|
offset_end 23
|
||||||
|
}
|
||||||
|
in_words_1 {
|
||||||
|
dir I
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_none
|
||||||
|
offset 24
|
||||||
|
offset_end 31
|
||||||
|
}
|
||||||
|
in_words_2 {
|
||||||
|
dir I
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_none
|
||||||
|
offset 32
|
||||||
|
offset_end 39
|
||||||
|
}
|
||||||
|
in_words_3 {
|
||||||
|
dir I
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_none
|
||||||
|
offset 40
|
||||||
|
offset_end 47
|
||||||
|
}
|
||||||
|
out_words_0 {
|
||||||
|
dir O
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_vld
|
||||||
|
offset 48
|
||||||
|
offset_end 55
|
||||||
|
}
|
||||||
|
out_words_1 {
|
||||||
|
dir O
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_vld
|
||||||
|
offset 64
|
||||||
|
offset_end 71
|
||||||
|
}
|
||||||
|
out_words_2 {
|
||||||
|
dir O
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_vld
|
||||||
|
offset 80
|
||||||
|
offset_end 87
|
||||||
|
}
|
||||||
|
out_words_3 {
|
||||||
|
dir O
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_vld
|
||||||
|
offset 96
|
||||||
|
offset_end 103
|
||||||
|
}
|
||||||
|
ap_start { }
|
||||||
|
ap_done { }
|
||||||
|
ap_ready { }
|
||||||
|
ap_idle { }
|
||||||
|
interrupt {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dict set axilite_register_dict AXILiteS $port_AXILiteS
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
# This script segment is generated automatically by AutoPilot
|
||||||
|
|
||||||
|
# clear list
|
||||||
|
if {${::AESL::PGuard_autoexp_gen}} {
|
||||||
|
cg_default_interface_gen_dc_begin
|
||||||
|
cg_default_interface_gen_bundle_begin
|
||||||
|
AESL_LIB_XILADAPTER::native_axis_begin
|
||||||
|
}
|
||||||
|
|
||||||
|
set axilite_register_dict [dict create]
|
||||||
|
set port_AXILiteS {
|
||||||
|
in_words_0 {
|
||||||
|
dir I
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_none
|
||||||
|
offset 16
|
||||||
|
offset_end 23
|
||||||
|
}
|
||||||
|
in_words_1 {
|
||||||
|
dir I
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_none
|
||||||
|
offset 24
|
||||||
|
offset_end 31
|
||||||
|
}
|
||||||
|
in_words_2 {
|
||||||
|
dir I
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_none
|
||||||
|
offset 32
|
||||||
|
offset_end 39
|
||||||
|
}
|
||||||
|
in_words_3 {
|
||||||
|
dir I
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_none
|
||||||
|
offset 40
|
||||||
|
offset_end 47
|
||||||
|
}
|
||||||
|
out_words_0 {
|
||||||
|
dir O
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_vld
|
||||||
|
offset 48
|
||||||
|
offset_end 55
|
||||||
|
}
|
||||||
|
out_words_1 {
|
||||||
|
dir O
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_vld
|
||||||
|
offset 64
|
||||||
|
offset_end 71
|
||||||
|
}
|
||||||
|
out_words_2 {
|
||||||
|
dir O
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_vld
|
||||||
|
offset 80
|
||||||
|
offset_end 87
|
||||||
|
}
|
||||||
|
out_words_3 {
|
||||||
|
dir O
|
||||||
|
width 32
|
||||||
|
depth 1
|
||||||
|
mode ap_vld
|
||||||
|
offset 96
|
||||||
|
offset_end 103
|
||||||
|
}
|
||||||
|
ap_start { }
|
||||||
|
ap_done { }
|
||||||
|
ap_ready { }
|
||||||
|
ap_idle { }
|
||||||
|
interrupt {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dict set axilite_register_dict AXILiteS $port_AXILiteS
|
||||||
|
|
||||||
|
|
||||||
|
# Native S_AXILite:
|
||||||
|
if {${::AESL::PGuard_simmodel_gen}} {
|
||||||
|
if {[info proc ::AESL_LIB_XILADAPTER::s_axilite_gen] == "::AESL_LIB_XILADAPTER::s_axilite_gen"} {
|
||||||
|
eval "::AESL_LIB_XILADAPTER::s_axilite_gen { \
|
||||||
|
id 1 \
|
||||||
|
corename game_of_life_step_AXILiteS_axilite \
|
||||||
|
name game_of_life_step_AXILiteS_s_axi \
|
||||||
|
ports {$port_AXILiteS} \
|
||||||
|
op interface \
|
||||||
|
interrupt_clear_mode TOW \
|
||||||
|
interrupt_trigger_type default \
|
||||||
|
is_flushable 0 \
|
||||||
|
is_datawidth64 0 \
|
||||||
|
is_addrwidth64 1 \
|
||||||
|
enable_mem_auto_widen 1 \
|
||||||
|
} "
|
||||||
|
} else {
|
||||||
|
puts "@W \[IMPL-110\] Cannot find AXI Lite interface model in the library. Ignored generation of AXI Lite interface for 'AXILiteS'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if {${::AESL::PGuard_rtl_comp_handler}} {
|
||||||
|
::AP::rtl_comp_handler game_of_life_step_AXILiteS_s_axi BINDTYPE interface TYPE interface_s_axilite
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Adapter definition:
|
||||||
|
set PortName ap_clk
|
||||||
|
set DataWd 1
|
||||||
|
if {${::AESL::PGuard_autoexp_gen}} {
|
||||||
|
if {[info proc cg_default_interface_gen_clock] == "cg_default_interface_gen_clock"} {
|
||||||
|
eval "cg_default_interface_gen_clock { \
|
||||||
|
id -1 \
|
||||||
|
name ${PortName} \
|
||||||
|
reset_level 0 \
|
||||||
|
sync_rst true \
|
||||||
|
corename apif_ap_clk \
|
||||||
|
data_wd ${DataWd} \
|
||||||
|
op interface \
|
||||||
|
}"
|
||||||
|
} else {
|
||||||
|
puts "@W \[IMPL-113\] Cannot find bus interface model in the library. Ignored generation of bus interface for '${PortName}'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Adapter definition:
|
||||||
|
set PortName ap_rst_n
|
||||||
|
set DataWd 1
|
||||||
|
if {${::AESL::PGuard_autoexp_gen}} {
|
||||||
|
if {[info proc cg_default_interface_gen_reset] == "cg_default_interface_gen_reset"} {
|
||||||
|
eval "cg_default_interface_gen_reset { \
|
||||||
|
id -2 \
|
||||||
|
name ${PortName} \
|
||||||
|
reset_level 0 \
|
||||||
|
sync_rst true \
|
||||||
|
corename apif_ap_rst_n \
|
||||||
|
data_wd ${DataWd} \
|
||||||
|
op interface \
|
||||||
|
}"
|
||||||
|
} else {
|
||||||
|
puts "@W \[IMPL-114\] Cannot find bus interface model in the library. Ignored generation of bus interface for '${PortName}'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# merge
|
||||||
|
if {${::AESL::PGuard_autoexp_gen}} {
|
||||||
|
cg_default_interface_gen_dc_end
|
||||||
|
cg_default_interface_gen_bundle_end
|
||||||
|
AESL_LIB_XILADAPTER::native_axis_end
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
set clock_constraint { \
|
||||||
|
name clk \
|
||||||
|
module game_of_life_step \
|
||||||
|
port ap_clk \
|
||||||
|
period 10 \
|
||||||
|
uncertainty 2.7 \
|
||||||
|
}
|
||||||
|
|
||||||
|
set all_path {}
|
||||||
|
|
||||||
|
set false_path {}
|
||||||
|
|
||||||
@@ -0,0 +1,282 @@
|
|||||||
|
<profile>
|
||||||
|
|
||||||
|
<RTLDesignHierarchy>
|
||||||
|
<TopModule>
|
||||||
|
<ModuleName>game_of_life_step</ModuleName>
|
||||||
|
</TopModule>
|
||||||
|
</RTLDesignHierarchy>
|
||||||
|
|
||||||
|
<ModuleInformation>
|
||||||
|
<Module>
|
||||||
|
<Name>game_of_life_step</Name>
|
||||||
|
<PerformanceEstimates>
|
||||||
|
<SummaryOfTimingAnalysis>
|
||||||
|
<TargetClockPeriod>10.00</TargetClockPeriod>
|
||||||
|
<ClockUncertainty>2.70</ClockUncertainty>
|
||||||
|
<EstimatedClockPeriod>6.928</EstimatedClockPeriod>
|
||||||
|
</SummaryOfTimingAnalysis>
|
||||||
|
<SummaryOfOverallLatency>
|
||||||
|
<Best-caseLatency>1</Best-caseLatency>
|
||||||
|
<Average-caseLatency>1</Average-caseLatency>
|
||||||
|
<Worst-caseLatency>1</Worst-caseLatency>
|
||||||
|
<Best-caseRealTimeLatency>10.000 ns</Best-caseRealTimeLatency>
|
||||||
|
<Average-caseRealTimeLatency>10.000 ns</Average-caseRealTimeLatency>
|
||||||
|
<Worst-caseRealTimeLatency>10.000 ns</Worst-caseRealTimeLatency>
|
||||||
|
<PipelineInitiationInterval>2</PipelineInitiationInterval>
|
||||||
|
<PipelineType>no</PipelineType>
|
||||||
|
<PerformancePragma>-</PerformancePragma>
|
||||||
|
</SummaryOfOverallLatency>
|
||||||
|
<SummaryOfViolations>
|
||||||
|
<IssueType>-</IssueType>
|
||||||
|
<ViolationType>-</ViolationType>
|
||||||
|
<SourceLocation>gameoflife.cpp:5</SourceLocation>
|
||||||
|
</SummaryOfViolations>
|
||||||
|
</PerformanceEstimates>
|
||||||
|
<AreaEstimates>
|
||||||
|
<Resources>
|
||||||
|
<BRAM_18K>0</BRAM_18K>
|
||||||
|
<AVAIL_BRAM>120</AVAIL_BRAM>
|
||||||
|
<UTIL_BRAM>0</UTIL_BRAM>
|
||||||
|
<FF>844</FF>
|
||||||
|
<AVAIL_FF>35200</AVAIL_FF>
|
||||||
|
<UTIL_FF>2</UTIL_FF>
|
||||||
|
<LUT>9696</LUT>
|
||||||
|
<AVAIL_LUT>17600</AVAIL_LUT>
|
||||||
|
<UTIL_LUT>55</UTIL_LUT>
|
||||||
|
<DSP>0</DSP>
|
||||||
|
<AVAIL_DSP>80</AVAIL_DSP>
|
||||||
|
<UTIL_DSP>0</UTIL_DSP>
|
||||||
|
<URAM>0</URAM>
|
||||||
|
<AVAIL_URAM>0</AVAIL_URAM>
|
||||||
|
<UTIL_URAM>0</UTIL_URAM>
|
||||||
|
</Resources>
|
||||||
|
</AreaEstimates>
|
||||||
|
<InterfaceSummary>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_AWVALID</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_AWREADY</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>out</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_AWADDR</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>7</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_WVALID</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_WREADY</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>out</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_WDATA</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>32</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_WSTRB</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>4</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_ARVALID</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_ARREADY</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>out</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_ARADDR</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>7</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_RVALID</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>out</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_RREADY</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_RDATA</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>out</Dir>
|
||||||
|
<Bits>32</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_RRESP</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>out</Dir>
|
||||||
|
<Bits>2</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_BVALID</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>out</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_BREADY</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>s_axi_AXILiteS_BRESP</name>
|
||||||
|
<Object>AXILiteS</Object>
|
||||||
|
<Type>pointer</Type>
|
||||||
|
<IOProtocol>s_axi</IOProtocol>
|
||||||
|
<Dir>out</Dir>
|
||||||
|
<Bits>2</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
<CType>int</CType>
|
||||||
|
<HasCtrl>1</HasCtrl>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>ap_clk</name>
|
||||||
|
<Object>game_of_life_step</Object>
|
||||||
|
<Type>return value</Type>
|
||||||
|
<Scope></Scope>
|
||||||
|
<IOProtocol>ap_ctrl_hs</IOProtocol>
|
||||||
|
<IOConfig></IOConfig>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>control</Attribute>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>ap_rst_n</name>
|
||||||
|
<Object>game_of_life_step</Object>
|
||||||
|
<Type>return value</Type>
|
||||||
|
<Scope></Scope>
|
||||||
|
<IOProtocol>ap_ctrl_hs</IOProtocol>
|
||||||
|
<IOConfig></IOConfig>
|
||||||
|
<Dir>in</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>control</Attribute>
|
||||||
|
</RtlPorts>
|
||||||
|
<RtlPorts>
|
||||||
|
<name>interrupt</name>
|
||||||
|
<Object>game_of_life_step</Object>
|
||||||
|
<Type>return value</Type>
|
||||||
|
<Scope></Scope>
|
||||||
|
<IOProtocol>ap_ctrl_hs</IOProtocol>
|
||||||
|
<IOConfig></IOConfig>
|
||||||
|
<Dir>out</Dir>
|
||||||
|
<Bits>1</Bits>
|
||||||
|
<Attribute>unknown</Attribute>
|
||||||
|
</RtlPorts>
|
||||||
|
</InterfaceSummary>
|
||||||
|
</Module>
|
||||||
|
</ModuleInformation>
|
||||||
|
|
||||||
|
<FIFOInformation>
|
||||||
|
</FIFOInformation>
|
||||||
|
|
||||||
|
</profile>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"version": "1.0",
|
||||||
|
"modules": {
|
||||||
|
"game_of_life_step": {
|
||||||
|
"proto_instances": {
|
||||||
|
"/AESL_inst_game_of_life_step_activity": {
|
||||||
|
"interface": "xilinx.com:interface:internal_hls_dataflow:1.0",
|
||||||
|
"ports": {
|
||||||
|
"AP_CLK": { "actual": "ap_clk"},
|
||||||
|
"AP_DONE": { "actual": "ap_done"},
|
||||||
|
"AP_READY": { "actual": "ap_ready"},
|
||||||
|
"AP_RESET": { "actual": "ap_rst_n"},
|
||||||
|
"AP_START": { "actual": "ap_start"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
set lang "C"
|
||||||
|
set moduleName "game_of_life_step"
|
||||||
|
set moduleIsExternC "1"
|
||||||
|
set rawDecl ""
|
||||||
|
set globalVariable ""
|
||||||
|
set PortList ""
|
||||||
|
set PortName "in_words_0"
|
||||||
|
set BitWidth "32"
|
||||||
|
set ArrayOpt ""
|
||||||
|
set Const "0"
|
||||||
|
set Volatile "1"
|
||||||
|
set Pointer "1"
|
||||||
|
set Reference "0"
|
||||||
|
set Dims [list 0]
|
||||||
|
set Interface "wire"
|
||||||
|
set DataType "void"
|
||||||
|
set Port [list $PortName $Interface $DataType $Pointer $Dims $Const $Volatile $ArrayOpt]
|
||||||
|
lappend PortList $Port
|
||||||
|
set PortName "in_words_1"
|
||||||
|
set BitWidth "32"
|
||||||
|
set ArrayOpt ""
|
||||||
|
set Const "0"
|
||||||
|
set Volatile "1"
|
||||||
|
set Pointer "1"
|
||||||
|
set Reference "0"
|
||||||
|
set Dims [list 0]
|
||||||
|
set Interface "wire"
|
||||||
|
set DataType "void"
|
||||||
|
set Port [list $PortName $Interface $DataType $Pointer $Dims $Const $Volatile $ArrayOpt]
|
||||||
|
lappend PortList $Port
|
||||||
|
set PortName "in_words_2"
|
||||||
|
set BitWidth "32"
|
||||||
|
set ArrayOpt ""
|
||||||
|
set Const "0"
|
||||||
|
set Volatile "1"
|
||||||
|
set Pointer "1"
|
||||||
|
set Reference "0"
|
||||||
|
set Dims [list 0]
|
||||||
|
set Interface "wire"
|
||||||
|
set DataType "void"
|
||||||
|
set Port [list $PortName $Interface $DataType $Pointer $Dims $Const $Volatile $ArrayOpt]
|
||||||
|
lappend PortList $Port
|
||||||
|
set PortName "in_words_3"
|
||||||
|
set BitWidth "32"
|
||||||
|
set ArrayOpt ""
|
||||||
|
set Const "0"
|
||||||
|
set Volatile "1"
|
||||||
|
set Pointer "1"
|
||||||
|
set Reference "0"
|
||||||
|
set Dims [list 0]
|
||||||
|
set Interface "wire"
|
||||||
|
set DataType "void"
|
||||||
|
set Port [list $PortName $Interface $DataType $Pointer $Dims $Const $Volatile $ArrayOpt]
|
||||||
|
lappend PortList $Port
|
||||||
|
set PortName "out_words_0"
|
||||||
|
set BitWidth "32"
|
||||||
|
set ArrayOpt ""
|
||||||
|
set Const "0"
|
||||||
|
set Volatile "1"
|
||||||
|
set Pointer "1"
|
||||||
|
set Reference "0"
|
||||||
|
set Dims [list 0]
|
||||||
|
set Interface "wire"
|
||||||
|
set DataType "void"
|
||||||
|
set Port [list $PortName $Interface $DataType $Pointer $Dims $Const $Volatile $ArrayOpt]
|
||||||
|
lappend PortList $Port
|
||||||
|
set PortName "out_words_1"
|
||||||
|
set BitWidth "32"
|
||||||
|
set ArrayOpt ""
|
||||||
|
set Const "0"
|
||||||
|
set Volatile "1"
|
||||||
|
set Pointer "1"
|
||||||
|
set Reference "0"
|
||||||
|
set Dims [list 0]
|
||||||
|
set Interface "wire"
|
||||||
|
set DataType "void"
|
||||||
|
set Port [list $PortName $Interface $DataType $Pointer $Dims $Const $Volatile $ArrayOpt]
|
||||||
|
lappend PortList $Port
|
||||||
|
set PortName "out_words_2"
|
||||||
|
set BitWidth "32"
|
||||||
|
set ArrayOpt ""
|
||||||
|
set Const "0"
|
||||||
|
set Volatile "1"
|
||||||
|
set Pointer "1"
|
||||||
|
set Reference "0"
|
||||||
|
set Dims [list 0]
|
||||||
|
set Interface "wire"
|
||||||
|
set DataType "void"
|
||||||
|
set Port [list $PortName $Interface $DataType $Pointer $Dims $Const $Volatile $ArrayOpt]
|
||||||
|
lappend PortList $Port
|
||||||
|
set PortName "out_words_3"
|
||||||
|
set BitWidth "32"
|
||||||
|
set ArrayOpt ""
|
||||||
|
set Const "0"
|
||||||
|
set Volatile "1"
|
||||||
|
set Pointer "1"
|
||||||
|
set Reference "0"
|
||||||
|
set Dims [list 0]
|
||||||
|
set Interface "wire"
|
||||||
|
set DataType "void"
|
||||||
|
set Port [list $PortName $Interface $DataType $Pointer $Dims $Const $Volatile $ArrayOpt]
|
||||||
|
lappend PortList $Port
|
||||||
|
set globalAPint ""
|
||||||
|
set returnAPInt ""
|
||||||
|
set hasCPPAPInt 0
|
||||||
|
set argAPInt ""
|
||||||
|
set hasCPPAPFix 0
|
||||||
|
set hasSCFix 0
|
||||||
|
set hasCBool 0
|
||||||
|
set hasCPPComplex 0
|
||||||
|
set isTemplateTop 0
|
||||||
|
set hasHalf 0
|
||||||
|
set dataPackList ""
|
||||||
|
set module [list $moduleName $PortList $rawDecl $argAPInt $returnAPInt $dataPackList]
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user