Add local HLS dev setup: clangd, pragma highlighting + linting, local C-sim

This commit is contained in:
2026-10-24 17:13:18 +01:00
parent e036c194ed
commit 04b7425598
180 changed files with 745644 additions and 0 deletions

View 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

View 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

View File

@@ -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"
}
]

View File

@@ -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>

View File

@@ -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>

View File

@@ -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
}
]

View File

@@ -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}

View File

@@ -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}
}
}
}

View File

@@ -0,0 +1,2 @@
game_of_life_step_AXILiteS_s_axi
game_of_life_step

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -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"
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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"}]}

View File

@@ -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>

View File

@@ -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

View File

@@ -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"
}

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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
}

View File

@@ -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 {}

View File

@@ -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>

View File

@@ -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"}
}
}
}
}
}
}

View File

@@ -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]

View File

@@ -0,0 +1,129 @@
set moduleName game_of_life_step
set isTopModule 1
set isCombinational 0
set isDatapathOnly 0
set isPipelined 0
set isPipelined_legacy 0
set pipeline_type none
set FunctionProtocol ap_ctrl_hs
set isOneStateSeq 0
set ProfileFlag 0
set StallSigGenFlag 0
set isEnableWaveformDebug 1
set hasInterrupt 0
set DLRegFirstOffset 0
set DLRegItemOffset 0
set svuvm_can_support 1
set cdfgNum 2
set C_modelName {game_of_life_step}
set C_modelType { void 0 }
set ap_memory_interface_dict [dict create]
set C_modelArgList {
{ in_words_0 int 32 regular {axi_slave 0} }
{ in_words_1 int 32 regular {axi_slave 0} }
{ in_words_2 int 32 regular {axi_slave 0} }
{ in_words_3 int 32 regular {axi_slave 0} }
{ out_words_0 int 32 regular {axi_slave 1} }
{ out_words_1 int 32 regular {axi_slave 1} }
{ out_words_2 int 32 regular {axi_slave 1} }
{ out_words_3 int 32 regular {axi_slave 1} }
}
set hasAXIMCache 0
set l_AXIML2Cache [list]
set AXIMCacheInstDict [dict create]
set C_modelArgMapList {[
{ "Name" : "in_words_0", "interface" : "axi_slave", "bundle":"AXILiteS","type":"ap_none","bitwidth" : 32, "direction" : "READONLY", "offset" : {"in":16}, "offset_end" : {"in":23}} ,
{ "Name" : "in_words_1", "interface" : "axi_slave", "bundle":"AXILiteS","type":"ap_none","bitwidth" : 32, "direction" : "READONLY", "offset" : {"in":24}, "offset_end" : {"in":31}} ,
{ "Name" : "in_words_2", "interface" : "axi_slave", "bundle":"AXILiteS","type":"ap_none","bitwidth" : 32, "direction" : "READONLY", "offset" : {"in":32}, "offset_end" : {"in":39}} ,
{ "Name" : "in_words_3", "interface" : "axi_slave", "bundle":"AXILiteS","type":"ap_none","bitwidth" : 32, "direction" : "READONLY", "offset" : {"in":40}, "offset_end" : {"in":47}} ,
{ "Name" : "out_words_0", "interface" : "axi_slave", "bundle":"AXILiteS","type":"ap_vld","bitwidth" : 32, "direction" : "WRITEONLY", "offset" : {"out":48}, "offset_end" : {"out":55}} ,
{ "Name" : "out_words_1", "interface" : "axi_slave", "bundle":"AXILiteS","type":"ap_vld","bitwidth" : 32, "direction" : "WRITEONLY", "offset" : {"out":64}, "offset_end" : {"out":71}} ,
{ "Name" : "out_words_2", "interface" : "axi_slave", "bundle":"AXILiteS","type":"ap_vld","bitwidth" : 32, "direction" : "WRITEONLY", "offset" : {"out":80}, "offset_end" : {"out":87}} ,
{ "Name" : "out_words_3", "interface" : "axi_slave", "bundle":"AXILiteS","type":"ap_vld","bitwidth" : 32, "direction" : "WRITEONLY", "offset" : {"out":96}, "offset_end" : {"out":103}} ]}
# RTL Port declarations:
set portNum 20
set portList {
{ ap_clk sc_in sc_logic 1 clock -1 }
{ ap_rst_n sc_in sc_logic 1 reset -1 active_low_sync }
{ s_axi_AXILiteS_AWVALID sc_in sc_logic 1 signal -1 }
{ s_axi_AXILiteS_AWREADY sc_out sc_logic 1 signal -1 }
{ s_axi_AXILiteS_AWADDR sc_in sc_lv 7 signal -1 }
{ s_axi_AXILiteS_WVALID sc_in sc_logic 1 signal -1 }
{ s_axi_AXILiteS_WREADY sc_out sc_logic 1 signal -1 }
{ s_axi_AXILiteS_WDATA sc_in sc_lv 32 signal -1 }
{ s_axi_AXILiteS_WSTRB sc_in sc_lv 4 signal -1 }
{ s_axi_AXILiteS_ARVALID sc_in sc_logic 1 signal -1 }
{ s_axi_AXILiteS_ARREADY sc_out sc_logic 1 signal -1 }
{ s_axi_AXILiteS_ARADDR sc_in sc_lv 7 signal -1 }
{ s_axi_AXILiteS_RVALID sc_out sc_logic 1 signal -1 }
{ s_axi_AXILiteS_RREADY sc_in sc_logic 1 signal -1 }
{ s_axi_AXILiteS_RDATA sc_out sc_lv 32 signal -1 }
{ s_axi_AXILiteS_RRESP sc_out sc_lv 2 signal -1 }
{ s_axi_AXILiteS_BVALID sc_out sc_logic 1 signal -1 }
{ s_axi_AXILiteS_BREADY sc_in sc_logic 1 signal -1 }
{ s_axi_AXILiteS_BRESP sc_out sc_lv 2 signal -1 }
{ interrupt sc_out sc_logic 1 signal -1 }
}
set NewPortList {[
{ "name": "s_axi_AXILiteS_AWADDR", "direction": "in", "datatype": "sc_lv", "bitwidth":7, "type": "signal", "bundle":{"name": "AXILiteS", "role": "AWADDR" },"address":[{"name":"game_of_life_step","role":"start","value":"0","valid_bit":"0"},{"name":"game_of_life_step","role":"continue","value":"0","valid_bit":"4"},{"name":"game_of_life_step","role":"auto_start","value":"0","valid_bit":"7"},{"name":"in_words_0","role":"data","value":"16"},{"name":"in_words_1","role":"data","value":"24"},{"name":"in_words_2","role":"data","value":"32"},{"name":"in_words_3","role":"data","value":"40"}] },
{ "name": "s_axi_AXILiteS_AWVALID", "direction": "in", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "AWVALID" } },
{ "name": "s_axi_AXILiteS_AWREADY", "direction": "out", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "AWREADY" } },
{ "name": "s_axi_AXILiteS_WVALID", "direction": "in", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "WVALID" } },
{ "name": "s_axi_AXILiteS_WREADY", "direction": "out", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "WREADY" } },
{ "name": "s_axi_AXILiteS_WDATA", "direction": "in", "datatype": "sc_lv", "bitwidth":32, "type": "signal", "bundle":{"name": "AXILiteS", "role": "WDATA" } },
{ "name": "s_axi_AXILiteS_WSTRB", "direction": "in", "datatype": "sc_lv", "bitwidth":4, "type": "signal", "bundle":{"name": "AXILiteS", "role": "WSTRB" } },
{ "name": "s_axi_AXILiteS_ARADDR", "direction": "in", "datatype": "sc_lv", "bitwidth":7, "type": "signal", "bundle":{"name": "AXILiteS", "role": "ARADDR" },"address":[{"name":"game_of_life_step","role":"start","value":"0","valid_bit":"0"},{"name":"game_of_life_step","role":"done","value":"0","valid_bit":"1"},{"name":"game_of_life_step","role":"idle","value":"0","valid_bit":"2"},{"name":"game_of_life_step","role":"ready","value":"0","valid_bit":"3"},{"name":"game_of_life_step","role":"auto_start","value":"0","valid_bit":"7"},{"name":"out_words_0","role":"data","value":"48"}, {"name":"out_words_0","role":"valid","value":"52","valid_bit":"0"},{"name":"out_words_1","role":"data","value":"64"}, {"name":"out_words_1","role":"valid","value":"68","valid_bit":"0"},{"name":"out_words_2","role":"data","value":"80"}, {"name":"out_words_2","role":"valid","value":"84","valid_bit":"0"},{"name":"out_words_3","role":"data","value":"96"}, {"name":"out_words_3","role":"valid","value":"100","valid_bit":"0"}] },
{ "name": "s_axi_AXILiteS_ARVALID", "direction": "in", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "ARVALID" } },
{ "name": "s_axi_AXILiteS_ARREADY", "direction": "out", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "ARREADY" } },
{ "name": "s_axi_AXILiteS_RVALID", "direction": "out", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "RVALID" } },
{ "name": "s_axi_AXILiteS_RREADY", "direction": "in", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "RREADY" } },
{ "name": "s_axi_AXILiteS_RDATA", "direction": "out", "datatype": "sc_lv", "bitwidth":32, "type": "signal", "bundle":{"name": "AXILiteS", "role": "RDATA" } },
{ "name": "s_axi_AXILiteS_RRESP", "direction": "out", "datatype": "sc_lv", "bitwidth":2, "type": "signal", "bundle":{"name": "AXILiteS", "role": "RRESP" } },
{ "name": "s_axi_AXILiteS_BVALID", "direction": "out", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "BVALID" } },
{ "name": "s_axi_AXILiteS_BREADY", "direction": "in", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "BREADY" } },
{ "name": "s_axi_AXILiteS_BRESP", "direction": "out", "datatype": "sc_lv", "bitwidth":2, "type": "signal", "bundle":{"name": "AXILiteS", "role": "BRESP" } },
{ "name": "interrupt", "direction": "out", "datatype": "sc_logic", "bitwidth":1, "type": "signal", "bundle":{"name": "AXILiteS", "role": "interrupt" } },
{ "name": "ap_clk", "direction": "in", "datatype": "sc_logic", "bitwidth":1, "type": "clock", "bundle":{"name": "ap_clk", "role": "default" }} ,
{ "name": "ap_rst_n", "direction": "in", "datatype": "sc_logic", "bitwidth":1, "type": "reset", "bundle":{"name": "ap_rst_n", "role": "default" }} ]}
set ArgLastReadFirstWriteLatency {
game_of_life_step {
in_words_0 {Type I LastRead 0 FirstWrite -1}
in_words_1 {Type I LastRead 0 FirstWrite -1}
in_words_2 {Type I LastRead 0 FirstWrite -1}
in_words_3 {Type I LastRead 0 FirstWrite -1}
out_words_0 {Type O LastRead -1 FirstWrite 1}
out_words_1 {Type O LastRead -1 FirstWrite 1}
out_words_2 {Type O LastRead -1 FirstWrite 1}
out_words_3 {Type O LastRead -1 FirstWrite 1}}}
set hasDtUnsupportedChannel 0
set PerformanceInfo {[
{"Name" : "Latency", "Min" : "1", "Max" : "1"}
, {"Name" : "Interval", "Min" : "2", "Max" : "2"}
]}
set PipelineEnableSignalInfo {[
]}
set Spec2ImplPortList {
}
set maxi_interface_dict [dict create]
# RTL port scheduling information:
set fifoSchedulingInfoList {
}
# RTL bus port read request latency information:
set busReadReqLatencyList {
}
# RTL bus port write response latency information:
set busWriteResLatencyList {
}
# RTL array port load latency information:
set memoryLoadLatencyList {
}

View File

@@ -0,0 +1,45 @@
<profile>
<section name = "Vitis HLS Report for 'game_of_life_step'" level="0">
<item name = "Date">Tue Oct 20 17:51:19 2026
</item>
<item name = "Version">2025.1 (Build 6135595 on May 21 2025)</item>
<item name = "Project">game_of_life_practical3b</item>
<item name = "Solution">hls (Vivado IP Flow Target)</item>
<item name = "Product family">zynq</item>
<item name = "Target device">xc7z010-clg400-1</item>
</section>
<section name = "Performance Estimates" level="0">
<item name = "Timing">
<section name = "" level="1">
<item name = "Summary"><table name="" hasTotal="0">
<keys size="4">Clock, Target, Estimated, Uncertainty</keys>
<column name="ap_clk">10.00 ns, 6.928 ns, 2.70 ns</column>
</table>
</item>
</section>
</item>
<item name = "Latency">
<section name = "" level="1">
<item name = "Summary"><table name="" hasTotal="0">
<keys size="8">, min, max, min, max, min, max, Type</keys>
<column name="">1, 1, 10.000 ns, 10.000 ns, 2, 2, no</column>
</table>
</item>
<item name = "Detail">
<section name = "" level="1">
<item name = "Instance"><table name="" hasTotal="0">
<keys size="9">Instance, Module, min, max, min, max, min, max, Type</keys>
</table>
</item>
<item name = "Loop"><table name="" hasTotal="0">
<keys size="8">Loop Name, min, max, Latency, achieved, target, Count, Pipelined</keys>
</table>
</item>
</section>
</item>
</section>
</item>
</section>
</profile>

View File

@@ -0,0 +1,45 @@
<profile>
<section name = "Vitis HLS Report for 'game_of_life_step'" level="0">
<item name = "Date">Tue Oct 20 17:51:18 2026
</item>
<item name = "Version">2025.1 (Build 6135595 on May 21 2025)</item>
<item name = "Project">game_of_life_practical3b</item>
<item name = "Solution">hls (Vivado IP Flow Target)</item>
<item name = "Product family">zynq</item>
<item name = "Target device">xc7z010-clg400-1</item>
</section>
<section name = "Performance Estimates" level="0">
<item name = "Timing">
<section name = "" level="1">
<item name = "Summary"><table name="" hasTotal="0">
<keys size="4">Clock, Target, Estimated, Uncertainty</keys>
<column name="ap_clk">10.00 ns, 6.928 ns, 2.70 ns</column>
</table>
</item>
</section>
</item>
<item name = "Latency">
<section name = "" level="1">
<item name = "Summary"><table name="" hasTotal="0">
<keys size="8">, min, max, min, max, min, max, Type</keys>
<column name="">1, 1, 10.000 ns, 10.000 ns, 2, 2, no</column>
</table>
</item>
<item name = "Detail">
<section name = "" level="1">
<item name = "Instance"><table name="" hasTotal="0">
<keys size="9">Instance, Module, min, max, min, max, min, max, Type</keys>
</table>
</item>
<item name = "Loop"><table name="" hasTotal="0">
<keys size="8">Loop Name, min, max, Latency, achieved, target, Count, Pipelined</keys>
</table>
</item>
</section>
</item>
</section>
</item>
</section>
</profile>

View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<wave_config>
<wave_state>
</wave_state>
<db_ref_list>
<db_ref path="game_of_life_step.wdb" id="1">
<top_modules>
<top_module name="apa_game_of_life_step_top" />
</top_modules>
</db_ref>
</db_ref_list>
<zoom_setting>
<ZoomStartTime time="0ns"></ZoomStartTime>
<ZoomEndTime time="2000ns"></ZoomEndTime>
<Cursor1Time time="0ns"></Cursor1Time>
</zoom_setting>
<column_width_setting>
<NameColumnWidth column_width="257"></NameColumnWidth>
<ValueColumnWidth column_width="84"></ValueColumnWidth>
</column_width_setting>
<WVObjectSize size="2" />
<wvobject type="group" fp_name="HLS Process Summary Group">
<obj_property name="label">HLS Process Summary</obj_property>
<obj_property name="DisplayName">label</obj_property>
<wvobject type="group" fp_name="/apatb_game_of_life_step_top/AESL_inst_game_of_life_step//AESL_inst_game_of_life_step_activity">
<obj_property name="label">AESL_inst_game_of_life_step_activity</obj_property>
<obj_property name="DisplayName">label</obj_property>
<obj_property name="UseFullPath">true</obj_property>
<obj_property name="ElementShortName">AESL_inst_game_of_life_step_activity</obj_property>
<obj_property name="ObjectShortName">AESL_inst_game_of_life_step_activity</obj_property>
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
<obj_property name="WaveformStyle">STYLE_ENUM_TRANSACTION</obj_property>
<obj_property name="EnumTransactionColorTable">0=blank ffff=blank 0bad=#FF0000</obj_property>
<obj_property name="UseCustomSignalColor">true</obj_property>
<obj_property name="CustomSignalColor">turquoise</obj_property>
<obj_property name="EnumTransactionValueTable">65535=blank</obj_property>
<obj_property name="Render_Data">/apatb_game_of_life_step_top/AESL_inst_game_of_life_step//AESL_inst_game_of_life_step_activity.dataflowTxWaveData.Cycles</obj_property>
<obj_property name="Value_Data">/apatb_game_of_life_step_top/AESL_inst_game_of_life_step//AESL_inst_game_of_life_step_activity.dataflowTxWaveData.OutStanding</obj_property>
<obj_property name="Detail_Data">/apatb_game_of_life_step_top/AESL_inst_game_of_life_step//AESL_inst_game_of_life_step_activity.dataflowTxTooltipData</obj_property>
</wvobject>
</wvobject>
<wvobject type="protoinst" fp_name="/apatb_game_of_life_step_top/AESL_inst_game_of_life_step//AESL_inst_game_of_life_step_activity">
<obj_property name="ElementShortName">AESL_inst_game_of_life_step_activity</obj_property>
<obj_property name="ObjectShortName">AESL_inst_game_of_life_step_activity</obj_property>
</wvobject>
<wvobject type="group" fp_name="AESL_inst_game_of_life_step_group">
<obj_property name="label">AESL_inst_game_of_life_step</obj_property>
<obj_property name="DisplayName">label</obj_property>
<wvobject type="group" fp_name="AESL_inst_game_of_life_step_Handshake_group">
<obj_property name="label">Block-level handshake</obj_property>
<obj_property name="DisplayName">label</obj_property>
<wvobject type="logic" fp_name="/apatb_game_of_life_step_top/AESL_inst_game_of_life_step/ap_start">
<obj_property name="ElementShortName">ap_start</obj_property>
<obj_property name="ObjectShortName">ap_start</obj_property>
</wvobject>
<wvobject type="logic" fp_name="/apatb_game_of_life_step_top/AESL_inst_game_of_life_step/ap_ready">
<obj_property name="ElementShortName">ap_ready</obj_property>
<obj_property name="ObjectShortName">ap_ready</obj_property>
</wvobject>
<wvobject type="logic" fp_name="/apatb_game_of_life_step_top/AESL_inst_game_of_life_step/ap_done">
<obj_property name="ElementShortName">ap_done</obj_property>
<obj_property name="ObjectShortName">ap_done</obj_property>
</wvobject>
</wvobject>
</wvobject>
</wave_config>

View File

@@ -0,0 +1,6 @@
// ==============================================================
// Generated by Vitis HLS v2025.1
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
// ==============================================================

View File

@@ -0,0 +1,6 @@
// ==============================================================
// Generated by Vitis HLS v2025.1
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
// ==============================================================

View File

@@ -0,0 +1,6 @@
-- ==============================================================
-- Generated by Vitis HLS v2025.1
-- Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
-- Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.
-- ==============================================================

Some files were not shown because too many files have changed in this diff Show More