arbtree init, using or2s for now
This commit is contained in:
parent
9c27248e12
commit
7f40b48b49
|
@ -0,0 +1,85 @@
|
||||||
|
t.in[0] t.out t.in[2] t.in[3] t.at.tmp[6] t.at.tmp[5] t.at.tmp[8] t.in[4] t.at.arbs[1]._y t.in[1] t.at.arbs[2]._y t.at.arbs[3]._y t.at.arbs[0]._y
|
||||||
|
0
|
||||||
|
1
|
||||||
|
0 t.in[0] : 0
|
||||||
|
0 t.in[4] : 0
|
||||||
|
0 t.in[3] : 0
|
||||||
|
0 t.in[2] : 0
|
||||||
|
0 t.in[1] : 0
|
||||||
|
1 t.at.arbs[1]._y : 1 [by t.in[2]:=0]
|
||||||
|
7092 t.at.arbs[0]._y : 1 [by t.in[1]:=0]
|
||||||
|
7094 t.at.tmp[5] : 0 [by t.at.arbs[0]._y:=1]
|
||||||
|
10468 t.at.tmp[6] : 0 [by t.at.arbs[1]._y:=1]
|
||||||
|
15221 t.at.arbs[2]._y : 1 [by t.at.tmp[6]:=0]
|
||||||
|
16358 t.at.tmp[8] : 0 [by t.at.arbs[2]._y:=1]
|
||||||
|
16472 t.at.arbs[3]._y : 1 [by t.at.tmp[8]:=0]
|
||||||
|
81838 t.out : 0 [by t.at.arbs[3]._y:=1]
|
||||||
|
[] setting all low
|
||||||
|
[] setting bit 0 high
|
||||||
|
81838 t.in[0] : 1
|
||||||
|
83564 t.at.arbs[0]._y : 0 [by t.in[0]:=1]
|
||||||
|
83603 t.at.tmp[5] : 1 [by t.at.arbs[0]._y:=0]
|
||||||
|
83618 t.at.arbs[2]._y : 0 [by t.at.tmp[5]:=1]
|
||||||
|
84109 t.at.tmp[8] : 1 [by t.at.arbs[2]._y:=0]
|
||||||
|
84122 t.at.arbs[3]._y : 0 [by t.at.tmp[8]:=1]
|
||||||
|
84162 t.out : 1 [by t.at.arbs[3]._y:=0]
|
||||||
|
[] setting all low
|
||||||
|
84162 t.in[0] : 0
|
||||||
|
84577 t.at.arbs[0]._y : 1 [by t.in[0]:=0]
|
||||||
|
84597 t.at.tmp[5] : 0 [by t.at.arbs[0]._y:=1]
|
||||||
|
90658 t.at.arbs[2]._y : 1 [by t.at.tmp[5]:=0]
|
||||||
|
90705 t.at.tmp[8] : 0 [by t.at.arbs[2]._y:=1]
|
||||||
|
90721 t.at.arbs[3]._y : 1 [by t.at.tmp[8]:=0]
|
||||||
|
134819 t.out : 0 [by t.at.arbs[3]._y:=1]
|
||||||
|
[] setting bit 1 high
|
||||||
|
134819 t.in[1] : 1
|
||||||
|
148543 t.at.arbs[0]._y : 0 [by t.in[1]:=1]
|
||||||
|
148547 t.at.tmp[5] : 1 [by t.at.arbs[0]._y:=0]
|
||||||
|
157676 t.at.arbs[2]._y : 0 [by t.at.tmp[5]:=1]
|
||||||
|
157691 t.at.tmp[8] : 1 [by t.at.arbs[2]._y:=0]
|
||||||
|
200939 t.at.arbs[3]._y : 0 [by t.at.tmp[8]:=1]
|
||||||
|
237870 t.out : 1 [by t.at.arbs[3]._y:=0]
|
||||||
|
[] setting all low
|
||||||
|
237870 t.in[1] : 0
|
||||||
|
237925 t.at.arbs[0]._y : 1 [by t.in[1]:=0]
|
||||||
|
289578 t.at.tmp[5] : 0 [by t.at.arbs[0]._y:=1]
|
||||||
|
319358 t.at.arbs[2]._y : 1 [by t.at.tmp[5]:=0]
|
||||||
|
333207 t.at.tmp[8] : 0 [by t.at.arbs[2]._y:=1]
|
||||||
|
358019 t.at.arbs[3]._y : 1 [by t.at.tmp[8]:=0]
|
||||||
|
372362 t.out : 0 [by t.at.arbs[3]._y:=1]
|
||||||
|
[] setting bit 2 high
|
||||||
|
372362 t.in[2] : 1
|
||||||
|
372784 t.at.arbs[1]._y : 0 [by t.in[2]:=1]
|
||||||
|
421498 t.at.tmp[6] : 1 [by t.at.arbs[1]._y:=0]
|
||||||
|
421499 t.at.arbs[2]._y : 0 [by t.at.tmp[6]:=1]
|
||||||
|
421500 t.at.tmp[8] : 1 [by t.at.arbs[2]._y:=0]
|
||||||
|
441705 t.at.arbs[3]._y : 0 [by t.at.tmp[8]:=1]
|
||||||
|
441987 t.out : 1 [by t.at.arbs[3]._y:=0]
|
||||||
|
[] setting all low
|
||||||
|
441987 t.in[2] : 0
|
||||||
|
442755 t.at.arbs[1]._y : 1 [by t.in[2]:=0]
|
||||||
|
442758 t.at.tmp[6] : 0 [by t.at.arbs[1]._y:=1]
|
||||||
|
465199 t.at.arbs[2]._y : 1 [by t.at.tmp[6]:=0]
|
||||||
|
465750 t.at.tmp[8] : 0 [by t.at.arbs[2]._y:=1]
|
||||||
|
466821 t.at.arbs[3]._y : 1 [by t.at.tmp[8]:=0]
|
||||||
|
467775 t.out : 0 [by t.at.arbs[3]._y:=1]
|
||||||
|
[] setting bit 3 high
|
||||||
|
467775 t.in[3] : 1
|
||||||
|
468856 t.at.arbs[1]._y : 0 [by t.in[3]:=1]
|
||||||
|
523326 t.at.tmp[6] : 1 [by t.at.arbs[1]._y:=0]
|
||||||
|
524308 t.at.arbs[2]._y : 0 [by t.at.tmp[6]:=1]
|
||||||
|
524326 t.at.tmp[8] : 1 [by t.at.arbs[2]._y:=0]
|
||||||
|
528339 t.at.arbs[3]._y : 0 [by t.at.tmp[8]:=1]
|
||||||
|
532342 t.out : 1 [by t.at.arbs[3]._y:=0]
|
||||||
|
[] setting all low
|
||||||
|
532342 t.in[3] : 0
|
||||||
|
577243 t.at.arbs[1]._y : 1 [by t.in[3]:=0]
|
||||||
|
598827 t.at.tmp[6] : 0 [by t.at.arbs[1]._y:=1]
|
||||||
|
603587 t.at.arbs[2]._y : 1 [by t.at.tmp[6]:=0]
|
||||||
|
604089 t.at.tmp[8] : 0 [by t.at.arbs[2]._y:=1]
|
||||||
|
604292 t.at.arbs[3]._y : 1 [by t.at.tmp[8]:=0]
|
||||||
|
606146 t.out : 0 [by t.at.arbs[3]._y:=1]
|
||||||
|
[] setting bit 4 high
|
||||||
|
606146 t.in[4] : 1
|
||||||
|
606285 t.at.arbs[3]._y : 0 [by t.in[4]:=1]
|
||||||
|
642631 t.out : 1 [by t.at.arbs[3]._y:=0]
|
Binary file not shown.
|
@ -0,0 +1,55 @@
|
||||||
|
= "GND" "GND"
|
||||||
|
= "Vdd" "Vdd"
|
||||||
|
= "Reset" "Reset"
|
||||||
|
"t.at.arbs[0].a"|"t.at.arbs[0].b"->"t.at.arbs[0]._y"-
|
||||||
|
~("t.at.arbs[0].a"|"t.at.arbs[0].b")->"t.at.arbs[0]._y"+
|
||||||
|
"t.at.arbs[0]._y"->"t.at.arbs[0].y"-
|
||||||
|
~("t.at.arbs[0]._y")->"t.at.arbs[0].y"+
|
||||||
|
"t.at.arbs[1].a"|"t.at.arbs[1].b"->"t.at.arbs[1]._y"-
|
||||||
|
~("t.at.arbs[1].a"|"t.at.arbs[1].b")->"t.at.arbs[1]._y"+
|
||||||
|
"t.at.arbs[1]._y"->"t.at.arbs[1].y"-
|
||||||
|
~("t.at.arbs[1]._y")->"t.at.arbs[1].y"+
|
||||||
|
"t.at.arbs[2].a"|"t.at.arbs[2].b"->"t.at.arbs[2]._y"-
|
||||||
|
~("t.at.arbs[2].a"|"t.at.arbs[2].b")->"t.at.arbs[2]._y"+
|
||||||
|
"t.at.arbs[2]._y"->"t.at.arbs[2].y"-
|
||||||
|
~("t.at.arbs[2]._y")->"t.at.arbs[2].y"+
|
||||||
|
"t.at.arbs[3].a"|"t.at.arbs[3].b"->"t.at.arbs[3]._y"-
|
||||||
|
~("t.at.arbs[3].a"|"t.at.arbs[3].b")->"t.at.arbs[3]._y"+
|
||||||
|
"t.at.arbs[3]._y"->"t.at.arbs[3].y"-
|
||||||
|
~("t.at.arbs[3]._y")->"t.at.arbs[3].y"+
|
||||||
|
= "t.at.tmp[5]" "t.at.arbs[2].a"
|
||||||
|
= "t.at.tmp[5]" "t.at.arbs[0].y"
|
||||||
|
= "t.at.tmp[6]" "t.at.arbs[2].b"
|
||||||
|
= "t.at.tmp[6]" "t.at.arbs[1].y"
|
||||||
|
= "t.at.tmp[8]" "t.at.arbs[3].a"
|
||||||
|
= "t.at.tmp[8]" "t.at.arbs[2].y"
|
||||||
|
= "t.at.supply.vdd" "t.at.arbs[3].vdd"
|
||||||
|
= "t.at.supply.vdd" "t.at.arbs[2].vdd"
|
||||||
|
= "t.at.supply.vdd" "t.at.arbs[1].vdd"
|
||||||
|
= "t.at.supply.vdd" "t.at.arbs[0].vdd"
|
||||||
|
= "t.at.supply.vss" "t.at.arbs[3].vss"
|
||||||
|
= "t.at.supply.vss" "t.at.arbs[2].vss"
|
||||||
|
= "t.at.supply.vss" "t.at.arbs[1].vss"
|
||||||
|
= "t.at.supply.vss" "t.at.arbs[0].vss"
|
||||||
|
= "t.at.in[0]" "t.at.arbs[0].a"
|
||||||
|
= "t.at.in[0]" "t.at.tmp[0]"
|
||||||
|
= "t.at.in[1]" "t.at.arbs[0].b"
|
||||||
|
= "t.at.in[1]" "t.at.tmp[1]"
|
||||||
|
= "t.at.in[2]" "t.at.arbs[1].a"
|
||||||
|
= "t.at.in[2]" "t.at.tmp[2]"
|
||||||
|
= "t.at.in[3]" "t.at.arbs[1].b"
|
||||||
|
= "t.at.in[3]" "t.at.tmp[3]"
|
||||||
|
= "t.at.in[4]" "t.at.arbs[3].b"
|
||||||
|
= "t.at.in[4]" "t.at.tmp[9]"
|
||||||
|
= "t.at.in[4]" "t.at.tmp[7]"
|
||||||
|
= "t.at.in[4]" "t.at.tmp[4]"
|
||||||
|
= "t.at.out" "t.at.arbs[3].y"
|
||||||
|
= "t.at.out" "t.at.tmp[10]"
|
||||||
|
= "Vdd" "t.at.supply.vdd"
|
||||||
|
= "GND" "t.at.supply.vss"
|
||||||
|
= "t.out" "t.at.out"
|
||||||
|
= "t.in[0]" "t.at.in[0]"
|
||||||
|
= "t.in[1]" "t.at.in[1]"
|
||||||
|
= "t.in[2]" "t.at.in[2]"
|
||||||
|
= "t.in[3]" "t.at.in[3]"
|
||||||
|
= "t.in[4]" "t.at.in[4]"
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*************************************************************************
|
||||||
|
*
|
||||||
|
* This file is part of ACT dataflow neuro library.
|
||||||
|
* It's the testing facility for cell_lib_std.act
|
||||||
|
*
|
||||||
|
* Copyright (c) 2022 University of Groningen - Ole Richter
|
||||||
|
* Copyright (c) 2022 University of Groningen - Hugh Greatorex
|
||||||
|
* Copyright (c) 2022 University of Groningen - Michele Mastella
|
||||||
|
* Copyright (c) 2022 University of Groningen - Madison Cotteret
|
||||||
|
*
|
||||||
|
* This source describes Open Hardware and is licensed under the CERN-OHL-W v2 or later
|
||||||
|
*
|
||||||
|
* You may redistribute and modify this documentation and make products
|
||||||
|
* using it under the terms of the CERN-OHL-W v2 (https:/cern.ch/cern-ohl).
|
||||||
|
* This documentation is distributed WITHOUT ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY
|
||||||
|
* AND FITNESS FOR A PARTICULAR PURPOSE. Please see the CERN-OHL-W v2
|
||||||
|
* for applicable conditions.
|
||||||
|
*
|
||||||
|
* Source location: https://git.web.rug.nl/bics/actlib_dataflow_neuro
|
||||||
|
*
|
||||||
|
* As per CERN-OHL-W v2 section 4.1, should You produce hardware based on
|
||||||
|
* these sources, You must maintain the Source Location visible in its
|
||||||
|
* documentation.
|
||||||
|
*
|
||||||
|
**************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
import "../../dataflow_neuro/treegates.act";
|
||||||
|
import globals;
|
||||||
|
|
||||||
|
open tmpl::dataflow_neuro;
|
||||||
|
|
||||||
|
defproc arbtree_5 (bool? in[5]; bool! out){
|
||||||
|
arbtree<5> at(.in=in, .out=out);
|
||||||
|
at.supply.vss = GND;
|
||||||
|
at.supply.vdd = Vdd;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
arbtree_5 t;
|
|
@ -0,0 +1,88 @@
|
||||||
|
watchall
|
||||||
|
|
||||||
|
system "echo '0'"
|
||||||
|
|
||||||
|
set t.in[0] 0
|
||||||
|
set t.in[1] 0
|
||||||
|
set t.in[2] 0
|
||||||
|
set t.in[3] 0
|
||||||
|
set t.in[4] 0
|
||||||
|
|
||||||
|
system "echo '1'"
|
||||||
|
|
||||||
|
cycle
|
||||||
|
mode run
|
||||||
|
|
||||||
|
# assert t.out 0
|
||||||
|
|
||||||
|
|
||||||
|
system "echo '[] setting all low'"
|
||||||
|
set t.in[0] 0
|
||||||
|
set t.in[1] 0
|
||||||
|
set t.in[2] 0
|
||||||
|
set t.in[3] 0
|
||||||
|
set t.in[4] 0
|
||||||
|
cycle
|
||||||
|
|
||||||
|
system "echo '[] setting bit 0 high'"
|
||||||
|
set t.in[0] 1
|
||||||
|
cycle
|
||||||
|
|
||||||
|
|
||||||
|
system "echo '[] setting all low'"
|
||||||
|
set t.in[0] 0
|
||||||
|
set t.in[1] 0
|
||||||
|
set t.in[2] 0
|
||||||
|
set t.in[3] 0
|
||||||
|
set t.in[4] 0
|
||||||
|
cycle
|
||||||
|
|
||||||
|
|
||||||
|
system "echo '[] setting bit 1 high'"
|
||||||
|
set t.in[0] 0
|
||||||
|
set t.in[1] 1
|
||||||
|
cycle
|
||||||
|
|
||||||
|
|
||||||
|
system "echo '[] setting all low'"
|
||||||
|
set t.in[0] 0
|
||||||
|
set t.in[1] 0
|
||||||
|
set t.in[2] 0
|
||||||
|
set t.in[3] 0
|
||||||
|
set t.in[4] 0
|
||||||
|
cycle
|
||||||
|
|
||||||
|
|
||||||
|
system "echo '[] setting bit 2 high'"
|
||||||
|
set t.in[1] 0
|
||||||
|
set t.in[2] 1
|
||||||
|
cycle
|
||||||
|
|
||||||
|
|
||||||
|
system "echo '[] setting all low'"
|
||||||
|
set t.in[0] 0
|
||||||
|
set t.in[1] 0
|
||||||
|
set t.in[2] 0
|
||||||
|
set t.in[3] 0
|
||||||
|
set t.in[4] 0
|
||||||
|
cycle
|
||||||
|
|
||||||
|
|
||||||
|
system "echo '[] setting bit 3 high'"
|
||||||
|
set t.in[2] 0
|
||||||
|
set t.in[3] 1
|
||||||
|
cycle
|
||||||
|
|
||||||
|
|
||||||
|
system "echo '[] setting all low'"
|
||||||
|
set t.in[0] 0
|
||||||
|
set t.in[1] 0
|
||||||
|
set t.in[2] 0
|
||||||
|
set t.in[3] 0
|
||||||
|
set t.in[4] 0
|
||||||
|
cycle
|
||||||
|
|
||||||
|
system "echo '[] setting bit 4 high'"
|
||||||
|
set t.in[3] 0
|
||||||
|
set t.in[4] 1
|
||||||
|
cycle
|
Loading…
Reference in New Issue